1// Code generated by protoc-gen-gogo.
2// source: descriptor.proto
3// DO NOT EDIT!
4
5/*
6Package descriptor is a generated protocol buffer package.
7
8It is generated from these files:
9	descriptor.proto
10
11It has these top-level messages:
12	FileDescriptorSet
13	FileDescriptorProto
14	DescriptorProto
15	FieldDescriptorProto
16	OneofDescriptorProto
17	EnumDescriptorProto
18	EnumValueDescriptorProto
19	ServiceDescriptorProto
20	MethodDescriptorProto
21	FileOptions
22	MessageOptions
23	FieldOptions
24	OneofOptions
25	EnumOptions
26	EnumValueOptions
27	ServiceOptions
28	MethodOptions
29	UninterpretedOption
30	SourceCodeInfo
31	GeneratedCodeInfo
32*/
33package descriptor
34
35import proto "github.com/gogo/protobuf/proto"
36import fmt "fmt"
37import math "math"
38
39// Reference imports to suppress errors if they are not otherwise used.
40var _ = proto.Marshal
41var _ = fmt.Errorf
42var _ = math.Inf
43
44// This is a compile-time assertion to ensure that this generated file
45// is compatible with the proto package it is being compiled against.
46// A compilation error at this line likely means your copy of the
47// proto package needs to be updated.
48const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
49
50type FieldDescriptorProto_Type int32
51
52const (
53	// 0 is reserved for errors.
54	// Order is weird for historical reasons.
55	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
56	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
57	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
58	// negative values are likely.
59	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
60	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
61	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
62	// negative values are likely.
63	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
64	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
65	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
66	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
67	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
68	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
69	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
70	// New in version 2.
71	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
72	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
73	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
74	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
75	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
76	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
77	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
78)
79
80var FieldDescriptorProto_Type_name = map[int32]string{
81	1:  "TYPE_DOUBLE",
82	2:  "TYPE_FLOAT",
83	3:  "TYPE_INT64",
84	4:  "TYPE_UINT64",
85	5:  "TYPE_INT32",
86	6:  "TYPE_FIXED64",
87	7:  "TYPE_FIXED32",
88	8:  "TYPE_BOOL",
89	9:  "TYPE_STRING",
90	10: "TYPE_GROUP",
91	11: "TYPE_MESSAGE",
92	12: "TYPE_BYTES",
93	13: "TYPE_UINT32",
94	14: "TYPE_ENUM",
95	15: "TYPE_SFIXED32",
96	16: "TYPE_SFIXED64",
97	17: "TYPE_SINT32",
98	18: "TYPE_SINT64",
99}
100var FieldDescriptorProto_Type_value = map[string]int32{
101	"TYPE_DOUBLE":   1,
102	"TYPE_FLOAT":    2,
103	"TYPE_INT64":    3,
104	"TYPE_UINT64":   4,
105	"TYPE_INT32":    5,
106	"TYPE_FIXED64":  6,
107	"TYPE_FIXED32":  7,
108	"TYPE_BOOL":     8,
109	"TYPE_STRING":   9,
110	"TYPE_GROUP":    10,
111	"TYPE_MESSAGE":  11,
112	"TYPE_BYTES":    12,
113	"TYPE_UINT32":   13,
114	"TYPE_ENUM":     14,
115	"TYPE_SFIXED32": 15,
116	"TYPE_SFIXED64": 16,
117	"TYPE_SINT32":   17,
118	"TYPE_SINT64":   18,
119}
120
121func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
122	p := new(FieldDescriptorProto_Type)
123	*p = x
124	return p
125}
126func (x FieldDescriptorProto_Type) String() string {
127	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
128}
129func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
130	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
131	if err != nil {
132		return err
133	}
134	*x = FieldDescriptorProto_Type(value)
135	return nil
136}
137func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
138	return fileDescriptorDescriptor, []int{3, 0}
139}
140
141type FieldDescriptorProto_Label int32
142
143const (
144	// 0 is reserved for errors
145	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
146	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
147	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
148)
149
150var FieldDescriptorProto_Label_name = map[int32]string{
151	1: "LABEL_OPTIONAL",
152	2: "LABEL_REQUIRED",
153	3: "LABEL_REPEATED",
154}
155var FieldDescriptorProto_Label_value = map[string]int32{
156	"LABEL_OPTIONAL": 1,
157	"LABEL_REQUIRED": 2,
158	"LABEL_REPEATED": 3,
159}
160
161func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
162	p := new(FieldDescriptorProto_Label)
163	*p = x
164	return p
165}
166func (x FieldDescriptorProto_Label) String() string {
167	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
168}
169func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
170	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
171	if err != nil {
172		return err
173	}
174	*x = FieldDescriptorProto_Label(value)
175	return nil
176}
177func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
178	return fileDescriptorDescriptor, []int{3, 1}
179}
180
181// Generated classes can be optimized for speed or code size.
182type FileOptions_OptimizeMode int32
183
184const (
185	FileOptions_SPEED FileOptions_OptimizeMode = 1
186	// etc.
187	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
188	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
189)
190
191var FileOptions_OptimizeMode_name = map[int32]string{
192	1: "SPEED",
193	2: "CODE_SIZE",
194	3: "LITE_RUNTIME",
195}
196var FileOptions_OptimizeMode_value = map[string]int32{
197	"SPEED":        1,
198	"CODE_SIZE":    2,
199	"LITE_RUNTIME": 3,
200}
201
202func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
203	p := new(FileOptions_OptimizeMode)
204	*p = x
205	return p
206}
207func (x FileOptions_OptimizeMode) String() string {
208	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
209}
210func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
211	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
212	if err != nil {
213		return err
214	}
215	*x = FileOptions_OptimizeMode(value)
216	return nil
217}
218func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
219	return fileDescriptorDescriptor, []int{9, 0}
220}
221
222type FieldOptions_CType int32
223
224const (
225	// Default mode.
226	FieldOptions_STRING       FieldOptions_CType = 0
227	FieldOptions_CORD         FieldOptions_CType = 1
228	FieldOptions_STRING_PIECE FieldOptions_CType = 2
229)
230
231var FieldOptions_CType_name = map[int32]string{
232	0: "STRING",
233	1: "CORD",
234	2: "STRING_PIECE",
235}
236var FieldOptions_CType_value = map[string]int32{
237	"STRING":       0,
238	"CORD":         1,
239	"STRING_PIECE": 2,
240}
241
242func (x FieldOptions_CType) Enum() *FieldOptions_CType {
243	p := new(FieldOptions_CType)
244	*p = x
245	return p
246}
247func (x FieldOptions_CType) String() string {
248	return proto.EnumName(FieldOptions_CType_name, int32(x))
249}
250func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
251	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
252	if err != nil {
253		return err
254	}
255	*x = FieldOptions_CType(value)
256	return nil
257}
258func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
259	return fileDescriptorDescriptor, []int{11, 0}
260}
261
262type FieldOptions_JSType int32
263
264const (
265	// Use the default type.
266	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
267	// Use JavaScript strings.
268	FieldOptions_JS_STRING FieldOptions_JSType = 1
269	// Use JavaScript numbers.
270	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
271)
272
273var FieldOptions_JSType_name = map[int32]string{
274	0: "JS_NORMAL",
275	1: "JS_STRING",
276	2: "JS_NUMBER",
277}
278var FieldOptions_JSType_value = map[string]int32{
279	"JS_NORMAL": 0,
280	"JS_STRING": 1,
281	"JS_NUMBER": 2,
282}
283
284func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
285	p := new(FieldOptions_JSType)
286	*p = x
287	return p
288}
289func (x FieldOptions_JSType) String() string {
290	return proto.EnumName(FieldOptions_JSType_name, int32(x))
291}
292func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
293	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
294	if err != nil {
295		return err
296	}
297	*x = FieldOptions_JSType(value)
298	return nil
299}
300func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
301	return fileDescriptorDescriptor, []int{11, 1}
302}
303
304// The protocol compiler can output a FileDescriptorSet containing the .proto
305// files it parses.
306type FileDescriptorSet struct {
307	File             []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
308	XXX_unrecognized []byte                 `json:"-"`
309}
310
311func (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }
312func (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }
313func (*FileDescriptorSet) ProtoMessage()               {}
314func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{0} }
315
316func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
317	if m != nil {
318		return m.File
319	}
320	return nil
321}
322
323// Describes a complete .proto file.
324type FileDescriptorProto struct {
325	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
326	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
327	// Names of files imported by this file.
328	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
329	// Indexes of the public imported files in the dependency list above.
330	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
331	// Indexes of the weak imported files in the dependency list.
332	// For Google-internal migration only. Do not use.
333	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
334	// All top-level definitions in this file.
335	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
336	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
337	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
338	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
339	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
340	// This field contains optional information about the original source code.
341	// You may safely remove this entire field without harming runtime
342	// functionality of the descriptors -- the information is needed only by
343	// development tools.
344	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
345	// The syntax of the proto file.
346	// The supported values are "proto2" and "proto3".
347	Syntax           *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
348	XXX_unrecognized []byte  `json:"-"`
349}
350
351func (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }
352func (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }
353func (*FileDescriptorProto) ProtoMessage()               {}
354func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{1} }
355
356func (m *FileDescriptorProto) GetName() string {
357	if m != nil && m.Name != nil {
358		return *m.Name
359	}
360	return ""
361}
362
363func (m *FileDescriptorProto) GetPackage() string {
364	if m != nil && m.Package != nil {
365		return *m.Package
366	}
367	return ""
368}
369
370func (m *FileDescriptorProto) GetDependency() []string {
371	if m != nil {
372		return m.Dependency
373	}
374	return nil
375}
376
377func (m *FileDescriptorProto) GetPublicDependency() []int32 {
378	if m != nil {
379		return m.PublicDependency
380	}
381	return nil
382}
383
384func (m *FileDescriptorProto) GetWeakDependency() []int32 {
385	if m != nil {
386		return m.WeakDependency
387	}
388	return nil
389}
390
391func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
392	if m != nil {
393		return m.MessageType
394	}
395	return nil
396}
397
398func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
399	if m != nil {
400		return m.EnumType
401	}
402	return nil
403}
404
405func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
406	if m != nil {
407		return m.Service
408	}
409	return nil
410}
411
412func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
413	if m != nil {
414		return m.Extension
415	}
416	return nil
417}
418
419func (m *FileDescriptorProto) GetOptions() *FileOptions {
420	if m != nil {
421		return m.Options
422	}
423	return nil
424}
425
426func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
427	if m != nil {
428		return m.SourceCodeInfo
429	}
430	return nil
431}
432
433func (m *FileDescriptorProto) GetSyntax() string {
434	if m != nil && m.Syntax != nil {
435		return *m.Syntax
436	}
437	return ""
438}
439
440// Describes a message type.
441type DescriptorProto struct {
442	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
443	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
444	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
445	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
446	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
447	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
448	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
449	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
450	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
451	// Reserved field names, which may not be used by fields in the same message.
452	// A given name may only be reserved once.
453	ReservedName     []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
454	XXX_unrecognized []byte   `json:"-"`
455}
456
457func (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }
458func (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }
459func (*DescriptorProto) ProtoMessage()               {}
460func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{2} }
461
462func (m *DescriptorProto) GetName() string {
463	if m != nil && m.Name != nil {
464		return *m.Name
465	}
466	return ""
467}
468
469func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
470	if m != nil {
471		return m.Field
472	}
473	return nil
474}
475
476func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
477	if m != nil {
478		return m.Extension
479	}
480	return nil
481}
482
483func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
484	if m != nil {
485		return m.NestedType
486	}
487	return nil
488}
489
490func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
491	if m != nil {
492		return m.EnumType
493	}
494	return nil
495}
496
497func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
498	if m != nil {
499		return m.ExtensionRange
500	}
501	return nil
502}
503
504func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
505	if m != nil {
506		return m.OneofDecl
507	}
508	return nil
509}
510
511func (m *DescriptorProto) GetOptions() *MessageOptions {
512	if m != nil {
513		return m.Options
514	}
515	return nil
516}
517
518func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
519	if m != nil {
520		return m.ReservedRange
521	}
522	return nil
523}
524
525func (m *DescriptorProto) GetReservedName() []string {
526	if m != nil {
527		return m.ReservedName
528	}
529	return nil
530}
531
532type DescriptorProto_ExtensionRange struct {
533	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
534	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
535	XXX_unrecognized []byte `json:"-"`
536}
537
538func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
539func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
540func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
541func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
542	return fileDescriptorDescriptor, []int{2, 0}
543}
544
545func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
546	if m != nil && m.Start != nil {
547		return *m.Start
548	}
549	return 0
550}
551
552func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
553	if m != nil && m.End != nil {
554		return *m.End
555	}
556	return 0
557}
558
559// Range of reserved tag numbers. Reserved tag numbers may not be used by
560// fields or extension ranges in the same message. Reserved ranges may
561// not overlap.
562type DescriptorProto_ReservedRange struct {
563	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
564	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
565	XXX_unrecognized []byte `json:"-"`
566}
567
568func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
569func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
570func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
571func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
572	return fileDescriptorDescriptor, []int{2, 1}
573}
574
575func (m *DescriptorProto_ReservedRange) GetStart() int32 {
576	if m != nil && m.Start != nil {
577		return *m.Start
578	}
579	return 0
580}
581
582func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
583	if m != nil && m.End != nil {
584		return *m.End
585	}
586	return 0
587}
588
589// Describes a field within a message.
590type FieldDescriptorProto struct {
591	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
592	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
593	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
594	// If type_name is set, this need not be set.  If both this and type_name
595	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
596	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
597	// For message and enum types, this is the name of the type.  If the name
598	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
599	// rules are used to find the type (i.e. first the nested types within this
600	// message are searched, then within the parent, on up to the root
601	// namespace).
602	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
603	// For extensions, this is the name of the type being extended.  It is
604	// resolved in the same manner as type_name.
605	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
606	// For numeric types, contains the original text representation of the value.
607	// For booleans, "true" or "false".
608	// For strings, contains the default text contents (not escaped in any way).
609	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
610	// TODO(kenton):  Base-64 encode?
611	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
612	// If set, gives the index of a oneof in the containing type's oneof_decl
613	// list.  This field is a member of that oneof.
614	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
615	// JSON name of this field. The value is set by protocol compiler. If the
616	// user has set a "json_name" option on this field, that option's value
617	// will be used. Otherwise, it's deduced from the field's name by converting
618	// it to camelCase.
619	JsonName         *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
620	Options          *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
621	XXX_unrecognized []byte        `json:"-"`
622}
623
624func (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }
625func (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }
626func (*FieldDescriptorProto) ProtoMessage()               {}
627func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{3} }
628
629func (m *FieldDescriptorProto) GetName() string {
630	if m != nil && m.Name != nil {
631		return *m.Name
632	}
633	return ""
634}
635
636func (m *FieldDescriptorProto) GetNumber() int32 {
637	if m != nil && m.Number != nil {
638		return *m.Number
639	}
640	return 0
641}
642
643func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
644	if m != nil && m.Label != nil {
645		return *m.Label
646	}
647	return FieldDescriptorProto_LABEL_OPTIONAL
648}
649
650func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
651	if m != nil && m.Type != nil {
652		return *m.Type
653	}
654	return FieldDescriptorProto_TYPE_DOUBLE
655}
656
657func (m *FieldDescriptorProto) GetTypeName() string {
658	if m != nil && m.TypeName != nil {
659		return *m.TypeName
660	}
661	return ""
662}
663
664func (m *FieldDescriptorProto) GetExtendee() string {
665	if m != nil && m.Extendee != nil {
666		return *m.Extendee
667	}
668	return ""
669}
670
671func (m *FieldDescriptorProto) GetDefaultValue() string {
672	if m != nil && m.DefaultValue != nil {
673		return *m.DefaultValue
674	}
675	return ""
676}
677
678func (m *FieldDescriptorProto) GetOneofIndex() int32 {
679	if m != nil && m.OneofIndex != nil {
680		return *m.OneofIndex
681	}
682	return 0
683}
684
685func (m *FieldDescriptorProto) GetJsonName() string {
686	if m != nil && m.JsonName != nil {
687		return *m.JsonName
688	}
689	return ""
690}
691
692func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
693	if m != nil {
694		return m.Options
695	}
696	return nil
697}
698
699// Describes a oneof.
700type OneofDescriptorProto struct {
701	Name             *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
702	Options          *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
703	XXX_unrecognized []byte        `json:"-"`
704}
705
706func (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }
707func (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }
708func (*OneofDescriptorProto) ProtoMessage()               {}
709func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{4} }
710
711func (m *OneofDescriptorProto) GetName() string {
712	if m != nil && m.Name != nil {
713		return *m.Name
714	}
715	return ""
716}
717
718func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
719	if m != nil {
720		return m.Options
721	}
722	return nil
723}
724
725// Describes an enum type.
726type EnumDescriptorProto struct {
727	Name             *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
728	Value            []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
729	Options          *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
730	XXX_unrecognized []byte                      `json:"-"`
731}
732
733func (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }
734func (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }
735func (*EnumDescriptorProto) ProtoMessage()               {}
736func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{5} }
737
738func (m *EnumDescriptorProto) GetName() string {
739	if m != nil && m.Name != nil {
740		return *m.Name
741	}
742	return ""
743}
744
745func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
746	if m != nil {
747		return m.Value
748	}
749	return nil
750}
751
752func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
753	if m != nil {
754		return m.Options
755	}
756	return nil
757}
758
759// Describes a value within an enum.
760type EnumValueDescriptorProto struct {
761	Name             *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
762	Number           *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
763	Options          *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
764	XXX_unrecognized []byte            `json:"-"`
765}
766
767func (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorProto{} }
768func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
769func (*EnumValueDescriptorProto) ProtoMessage()    {}
770func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
771	return fileDescriptorDescriptor, []int{6}
772}
773
774func (m *EnumValueDescriptorProto) GetName() string {
775	if m != nil && m.Name != nil {
776		return *m.Name
777	}
778	return ""
779}
780
781func (m *EnumValueDescriptorProto) GetNumber() int32 {
782	if m != nil && m.Number != nil {
783		return *m.Number
784	}
785	return 0
786}
787
788func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
789	if m != nil {
790		return m.Options
791	}
792	return nil
793}
794
795// Describes a service.
796type ServiceDescriptorProto struct {
797	Name             *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
798	Method           []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
799	Options          *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
800	XXX_unrecognized []byte                   `json:"-"`
801}
802
803func (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }
804func (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }
805func (*ServiceDescriptorProto) ProtoMessage()               {}
806func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{7} }
807
808func (m *ServiceDescriptorProto) GetName() string {
809	if m != nil && m.Name != nil {
810		return *m.Name
811	}
812	return ""
813}
814
815func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
816	if m != nil {
817		return m.Method
818	}
819	return nil
820}
821
822func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
823	if m != nil {
824		return m.Options
825	}
826	return nil
827}
828
829// Describes a method of a service.
830type MethodDescriptorProto struct {
831	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
832	// Input and output type names.  These are resolved in the same way as
833	// FieldDescriptorProto.type_name, but must refer to a message type.
834	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
835	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
836	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
837	// Identifies if client streams multiple client messages
838	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
839	// Identifies if server streams multiple server messages
840	ServerStreaming  *bool  `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
841	XXX_unrecognized []byte `json:"-"`
842}
843
844func (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }
845func (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }
846func (*MethodDescriptorProto) ProtoMessage()               {}
847func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{8} }
848
849const Default_MethodDescriptorProto_ClientStreaming bool = false
850const Default_MethodDescriptorProto_ServerStreaming bool = false
851
852func (m *MethodDescriptorProto) GetName() string {
853	if m != nil && m.Name != nil {
854		return *m.Name
855	}
856	return ""
857}
858
859func (m *MethodDescriptorProto) GetInputType() string {
860	if m != nil && m.InputType != nil {
861		return *m.InputType
862	}
863	return ""
864}
865
866func (m *MethodDescriptorProto) GetOutputType() string {
867	if m != nil && m.OutputType != nil {
868		return *m.OutputType
869	}
870	return ""
871}
872
873func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
874	if m != nil {
875		return m.Options
876	}
877	return nil
878}
879
880func (m *MethodDescriptorProto) GetClientStreaming() bool {
881	if m != nil && m.ClientStreaming != nil {
882		return *m.ClientStreaming
883	}
884	return Default_MethodDescriptorProto_ClientStreaming
885}
886
887func (m *MethodDescriptorProto) GetServerStreaming() bool {
888	if m != nil && m.ServerStreaming != nil {
889		return *m.ServerStreaming
890	}
891	return Default_MethodDescriptorProto_ServerStreaming
892}
893
894type FileOptions struct {
895	// Sets the Java package where classes generated from this .proto will be
896	// placed.  By default, the proto package is used, but this is often
897	// inappropriate because proto packages do not normally start with backwards
898	// domain names.
899	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
900	// If set, all the classes from the .proto file are wrapped in a single
901	// outer class with the given name.  This applies to both Proto1
902	// (equivalent to the old "--one_java_file" option) and Proto2 (where
903	// a .proto always translates to a single class, but you may want to
904	// explicitly choose the class name).
905	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
906	// If set true, then the Java code generator will generate a separate .java
907	// file for each top-level message, enum, and service defined in the .proto
908	// file.  Thus, these types will *not* be nested inside the outer class
909	// named by java_outer_classname.  However, the outer class will still be
910	// generated to contain the file's getDescriptor() method as well as any
911	// top-level extensions defined in the file.
912	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
913	// If set true, then the Java code generator will generate equals() and
914	// hashCode() methods for all messages defined in the .proto file.
915	// This increases generated code size, potentially substantially for large
916	// protos, which may harm a memory-constrained application.
917	// - In the full runtime this is a speed optimization, as the
918	// AbstractMessage base class includes reflection-based implementations of
919	// these methods.
920	// - In the lite runtime, setting this option changes the semantics of
921	// equals() and hashCode() to more closely match those of the full runtime;
922	// the generated methods compute their results based on field values rather
923	// than object identity. (Implementations should not assume that hashcodes
924	// will be consistent across runtimes or versions of the protocol compiler.)
925	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash,def=0" json:"java_generate_equals_and_hash,omitempty"`
926	// If set true, then the Java2 code generator will generate code that
927	// throws an exception whenever an attempt is made to assign a non-UTF-8
928	// byte sequence to a string field.
929	// Message reflection will do the same.
930	// However, an extension field still accepts non-UTF-8 byte sequences.
931	// This option has no effect on when used with the lite runtime.
932	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
933	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
934	// Sets the Go package where structs generated from this .proto will be
935	// placed. If omitted, the Go package will be derived from the following:
936	//   - The basename of the package import path, if provided.
937	//   - Otherwise, the package statement in the .proto file, if present.
938	//   - Otherwise, the basename of the .proto file, without extension.
939	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
940	// Should generic services be generated in each language?  "Generic" services
941	// are not specific to any particular RPC system.  They are generated by the
942	// main code generators in each language (without additional plugins).
943	// Generic services were the only kind of service generation supported by
944	// early versions of google.protobuf.
945	//
946	// Generic services are now considered deprecated in favor of using plugins
947	// that generate code specific to your particular RPC system.  Therefore,
948	// these default to false.  Old code which depends on generic services should
949	// explicitly set them to true.
950	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
951	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
952	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
953	// Is this file deprecated?
954	// Depending on the target platform, this can emit Deprecated annotations
955	// for everything in the file, or it will be completely ignored; in the very
956	// least, this is a formalization for deprecating files.
957	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
958	// Enables the use of arenas for the proto messages in this file. This applies
959	// only to generated classes for C++.
960	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
961	// Sets the objective c class prefix which is prepended to all objective c
962	// generated classes from this .proto. There is no default.
963	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
964	// Namespace for generated classes; defaults to the package.
965	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
966	// The parser stores options it doesn't recognize here. See above.
967	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
968	proto.XXX_InternalExtensions `json:"-"`
969	XXX_unrecognized             []byte `json:"-"`
970}
971
972func (m *FileOptions) Reset()                    { *m = FileOptions{} }
973func (m *FileOptions) String() string            { return proto.CompactTextString(m) }
974func (*FileOptions) ProtoMessage()               {}
975func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{9} }
976
977var extRange_FileOptions = []proto.ExtensionRange{
978	{Start: 1000, End: 536870911},
979}
980
981func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
982	return extRange_FileOptions
983}
984
985const Default_FileOptions_JavaMultipleFiles bool = false
986const Default_FileOptions_JavaGenerateEqualsAndHash bool = false
987const Default_FileOptions_JavaStringCheckUtf8 bool = false
988const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
989const Default_FileOptions_CcGenericServices bool = false
990const Default_FileOptions_JavaGenericServices bool = false
991const Default_FileOptions_PyGenericServices bool = false
992const Default_FileOptions_Deprecated bool = false
993const Default_FileOptions_CcEnableArenas bool = false
994
995func (m *FileOptions) GetJavaPackage() string {
996	if m != nil && m.JavaPackage != nil {
997		return *m.JavaPackage
998	}
999	return ""
1000}
1001
1002func (m *FileOptions) GetJavaOuterClassname() string {
1003	if m != nil && m.JavaOuterClassname != nil {
1004		return *m.JavaOuterClassname
1005	}
1006	return ""
1007}
1008
1009func (m *FileOptions) GetJavaMultipleFiles() bool {
1010	if m != nil && m.JavaMultipleFiles != nil {
1011		return *m.JavaMultipleFiles
1012	}
1013	return Default_FileOptions_JavaMultipleFiles
1014}
1015
1016func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
1017	if m != nil && m.JavaGenerateEqualsAndHash != nil {
1018		return *m.JavaGenerateEqualsAndHash
1019	}
1020	return Default_FileOptions_JavaGenerateEqualsAndHash
1021}
1022
1023func (m *FileOptions) GetJavaStringCheckUtf8() bool {
1024	if m != nil && m.JavaStringCheckUtf8 != nil {
1025		return *m.JavaStringCheckUtf8
1026	}
1027	return Default_FileOptions_JavaStringCheckUtf8
1028}
1029
1030func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
1031	if m != nil && m.OptimizeFor != nil {
1032		return *m.OptimizeFor
1033	}
1034	return Default_FileOptions_OptimizeFor
1035}
1036
1037func (m *FileOptions) GetGoPackage() string {
1038	if m != nil && m.GoPackage != nil {
1039		return *m.GoPackage
1040	}
1041	return ""
1042}
1043
1044func (m *FileOptions) GetCcGenericServices() bool {
1045	if m != nil && m.CcGenericServices != nil {
1046		return *m.CcGenericServices
1047	}
1048	return Default_FileOptions_CcGenericServices
1049}
1050
1051func (m *FileOptions) GetJavaGenericServices() bool {
1052	if m != nil && m.JavaGenericServices != nil {
1053		return *m.JavaGenericServices
1054	}
1055	return Default_FileOptions_JavaGenericServices
1056}
1057
1058func (m *FileOptions) GetPyGenericServices() bool {
1059	if m != nil && m.PyGenericServices != nil {
1060		return *m.PyGenericServices
1061	}
1062	return Default_FileOptions_PyGenericServices
1063}
1064
1065func (m *FileOptions) GetDeprecated() bool {
1066	if m != nil && m.Deprecated != nil {
1067		return *m.Deprecated
1068	}
1069	return Default_FileOptions_Deprecated
1070}
1071
1072func (m *FileOptions) GetCcEnableArenas() bool {
1073	if m != nil && m.CcEnableArenas != nil {
1074		return *m.CcEnableArenas
1075	}
1076	return Default_FileOptions_CcEnableArenas
1077}
1078
1079func (m *FileOptions) GetObjcClassPrefix() string {
1080	if m != nil && m.ObjcClassPrefix != nil {
1081		return *m.ObjcClassPrefix
1082	}
1083	return ""
1084}
1085
1086func (m *FileOptions) GetCsharpNamespace() string {
1087	if m != nil && m.CsharpNamespace != nil {
1088		return *m.CsharpNamespace
1089	}
1090	return ""
1091}
1092
1093func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
1094	if m != nil {
1095		return m.UninterpretedOption
1096	}
1097	return nil
1098}
1099
1100type MessageOptions struct {
1101	// Set true to use the old proto1 MessageSet wire format for extensions.
1102	// This is provided for backwards-compatibility with the MessageSet wire
1103	// format.  You should not use this for any other reason:  It's less
1104	// efficient, has fewer features, and is more complicated.
1105	//
1106	// The message must be defined exactly as follows:
1107	//   message Foo {
1108	//     option message_set_wire_format = true;
1109	//     extensions 4 to max;
1110	//   }
1111	// Note that the message cannot have any defined fields; MessageSets only
1112	// have extensions.
1113	//
1114	// All extensions of your type must be singular messages; e.g. they cannot
1115	// be int32s, enums, or repeated messages.
1116	//
1117	// Because this is an option, the above two restrictions are not enforced by
1118	// the protocol compiler.
1119	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
1120	// Disables the generation of the standard "descriptor()" accessor, which can
1121	// conflict with a field of the same name.  This is meant to make migration
1122	// from proto1 easier; new code should avoid fields named "descriptor".
1123	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
1124	// Is this message deprecated?
1125	// Depending on the target platform, this can emit Deprecated annotations
1126	// for the message, or it will be completely ignored; in the very least,
1127	// this is a formalization for deprecating messages.
1128	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1129	// Whether the message is an automatically generated map entry type for the
1130	// maps field.
1131	//
1132	// For maps fields:
1133	//     map<KeyType, ValueType> map_field = 1;
1134	// The parsed descriptor looks like:
1135	//     message MapFieldEntry {
1136	//         option map_entry = true;
1137	//         optional KeyType key = 1;
1138	//         optional ValueType value = 2;
1139	//     }
1140	//     repeated MapFieldEntry map_field = 1;
1141	//
1142	// Implementations may choose not to generate the map_entry=true message, but
1143	// use a native map in the target language to hold the keys and values.
1144	// The reflection APIs in such implementions still need to work as
1145	// if the field is a repeated message field.
1146	//
1147	// NOTE: Do not set the option in .proto files. Always use the maps syntax
1148	// instead. The option should only be implicitly set by the proto compiler
1149	// parser.
1150	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
1151	// The parser stores options it doesn't recognize here. See above.
1152	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1153	proto.XXX_InternalExtensions `json:"-"`
1154	XXX_unrecognized             []byte `json:"-"`
1155}
1156
1157func (m *MessageOptions) Reset()                    { *m = MessageOptions{} }
1158func (m *MessageOptions) String() string            { return proto.CompactTextString(m) }
1159func (*MessageOptions) ProtoMessage()               {}
1160func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{10} }
1161
1162var extRange_MessageOptions = []proto.ExtensionRange{
1163	{Start: 1000, End: 536870911},
1164}
1165
1166func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
1167	return extRange_MessageOptions
1168}
1169
1170const Default_MessageOptions_MessageSetWireFormat bool = false
1171const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
1172const Default_MessageOptions_Deprecated bool = false
1173
1174func (m *MessageOptions) GetMessageSetWireFormat() bool {
1175	if m != nil && m.MessageSetWireFormat != nil {
1176		return *m.MessageSetWireFormat
1177	}
1178	return Default_MessageOptions_MessageSetWireFormat
1179}
1180
1181func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
1182	if m != nil && m.NoStandardDescriptorAccessor != nil {
1183		return *m.NoStandardDescriptorAccessor
1184	}
1185	return Default_MessageOptions_NoStandardDescriptorAccessor
1186}
1187
1188func (m *MessageOptions) GetDeprecated() bool {
1189	if m != nil && m.Deprecated != nil {
1190		return *m.Deprecated
1191	}
1192	return Default_MessageOptions_Deprecated
1193}
1194
1195func (m *MessageOptions) GetMapEntry() bool {
1196	if m != nil && m.MapEntry != nil {
1197		return *m.MapEntry
1198	}
1199	return false
1200}
1201
1202func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
1203	if m != nil {
1204		return m.UninterpretedOption
1205	}
1206	return nil
1207}
1208
1209type FieldOptions struct {
1210	// The ctype option instructs the C++ code generator to use a different
1211	// representation of the field than it normally would.  See the specific
1212	// options below.  This option is not yet implemented in the open source
1213	// release -- sorry, we'll try to include it in a future version!
1214	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
1215	// The packed option can be enabled for repeated primitive fields to enable
1216	// a more efficient representation on the wire. Rather than repeatedly
1217	// writing the tag and type for each element, the entire array is encoded as
1218	// a single length-delimited blob. In proto3, only explicit setting it to
1219	// false will avoid using packed encoding.
1220	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
1221	// The jstype option determines the JavaScript type used for values of the
1222	// field.  The option is permitted only for 64 bit integral and fixed types
1223	// (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
1224	// represented as JavaScript strings.  This avoids loss of precision that can
1225	// happen when a large value is converted to a floating point JavaScript
1226	// numbers.  Specifying JS_NUMBER for the jstype causes the generated
1227	// JavaScript code to use the JavaScript "number" type instead of strings.
1228	// This option is an enum to permit additional types to be added,
1229	// e.g. goog.math.Integer.
1230	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
1231	// Should this field be parsed lazily?  Lazy applies only to message-type
1232	// fields.  It means that when the outer message is initially parsed, the
1233	// inner message's contents will not be parsed but instead stored in encoded
1234	// form.  The inner message will actually be parsed when it is first accessed.
1235	//
1236	// This is only a hint.  Implementations are free to choose whether to use
1237	// eager or lazy parsing regardless of the value of this option.  However,
1238	// setting this option true suggests that the protocol author believes that
1239	// using lazy parsing on this field is worth the additional bookkeeping
1240	// overhead typically needed to implement it.
1241	//
1242	// This option does not affect the public interface of any generated code;
1243	// all method signatures remain the same.  Furthermore, thread-safety of the
1244	// interface is not affected by this option; const methods remain safe to
1245	// call from multiple threads concurrently, while non-const methods continue
1246	// to require exclusive access.
1247	//
1248	//
1249	// Note that implementations may choose not to check required fields within
1250	// a lazy sub-message.  That is, calling IsInitialized() on the outher message
1251	// may return true even if the inner message has missing required fields.
1252	// This is necessary because otherwise the inner message would have to be
1253	// parsed in order to perform the check, defeating the purpose of lazy
1254	// parsing.  An implementation which chooses not to check required fields
1255	// must be consistent about it.  That is, for any particular sub-message, the
1256	// implementation must either *always* check its required fields, or *never*
1257	// check its required fields, regardless of whether or not the message has
1258	// been parsed.
1259	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
1260	// Is this field deprecated?
1261	// Depending on the target platform, this can emit Deprecated annotations
1262	// for accessors, or it will be completely ignored; in the very least, this
1263	// is a formalization for deprecating fields.
1264	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1265	// For Google-internal migration only. Do not use.
1266	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
1267	// The parser stores options it doesn't recognize here. See above.
1268	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1269	proto.XXX_InternalExtensions `json:"-"`
1270	XXX_unrecognized             []byte `json:"-"`
1271}
1272
1273func (m *FieldOptions) Reset()                    { *m = FieldOptions{} }
1274func (m *FieldOptions) String() string            { return proto.CompactTextString(m) }
1275func (*FieldOptions) ProtoMessage()               {}
1276func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{11} }
1277
1278var extRange_FieldOptions = []proto.ExtensionRange{
1279	{Start: 1000, End: 536870911},
1280}
1281
1282func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
1283	return extRange_FieldOptions
1284}
1285
1286const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
1287const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
1288const Default_FieldOptions_Lazy bool = false
1289const Default_FieldOptions_Deprecated bool = false
1290const Default_FieldOptions_Weak bool = false
1291
1292func (m *FieldOptions) GetCtype() FieldOptions_CType {
1293	if m != nil && m.Ctype != nil {
1294		return *m.Ctype
1295	}
1296	return Default_FieldOptions_Ctype
1297}
1298
1299func (m *FieldOptions) GetPacked() bool {
1300	if m != nil && m.Packed != nil {
1301		return *m.Packed
1302	}
1303	return false
1304}
1305
1306func (m *FieldOptions) GetJstype() FieldOptions_JSType {
1307	if m != nil && m.Jstype != nil {
1308		return *m.Jstype
1309	}
1310	return Default_FieldOptions_Jstype
1311}
1312
1313func (m *FieldOptions) GetLazy() bool {
1314	if m != nil && m.Lazy != nil {
1315		return *m.Lazy
1316	}
1317	return Default_FieldOptions_Lazy
1318}
1319
1320func (m *FieldOptions) GetDeprecated() bool {
1321	if m != nil && m.Deprecated != nil {
1322		return *m.Deprecated
1323	}
1324	return Default_FieldOptions_Deprecated
1325}
1326
1327func (m *FieldOptions) GetWeak() bool {
1328	if m != nil && m.Weak != nil {
1329		return *m.Weak
1330	}
1331	return Default_FieldOptions_Weak
1332}
1333
1334func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
1335	if m != nil {
1336		return m.UninterpretedOption
1337	}
1338	return nil
1339}
1340
1341type OneofOptions struct {
1342	// The parser stores options it doesn't recognize here. See above.
1343	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1344	proto.XXX_InternalExtensions `json:"-"`
1345	XXX_unrecognized             []byte `json:"-"`
1346}
1347
1348func (m *OneofOptions) Reset()                    { *m = OneofOptions{} }
1349func (m *OneofOptions) String() string            { return proto.CompactTextString(m) }
1350func (*OneofOptions) ProtoMessage()               {}
1351func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{12} }
1352
1353var extRange_OneofOptions = []proto.ExtensionRange{
1354	{Start: 1000, End: 536870911},
1355}
1356
1357func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
1358	return extRange_OneofOptions
1359}
1360
1361func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
1362	if m != nil {
1363		return m.UninterpretedOption
1364	}
1365	return nil
1366}
1367
1368type EnumOptions struct {
1369	// Set this option to true to allow mapping different tag names to the same
1370	// value.
1371	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
1372	// Is this enum deprecated?
1373	// Depending on the target platform, this can emit Deprecated annotations
1374	// for the enum, or it will be completely ignored; in the very least, this
1375	// is a formalization for deprecating enums.
1376	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1377	// The parser stores options it doesn't recognize here. See above.
1378	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1379	proto.XXX_InternalExtensions `json:"-"`
1380	XXX_unrecognized             []byte `json:"-"`
1381}
1382
1383func (m *EnumOptions) Reset()                    { *m = EnumOptions{} }
1384func (m *EnumOptions) String() string            { return proto.CompactTextString(m) }
1385func (*EnumOptions) ProtoMessage()               {}
1386func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{13} }
1387
1388var extRange_EnumOptions = []proto.ExtensionRange{
1389	{Start: 1000, End: 536870911},
1390}
1391
1392func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
1393	return extRange_EnumOptions
1394}
1395
1396const Default_EnumOptions_Deprecated bool = false
1397
1398func (m *EnumOptions) GetAllowAlias() bool {
1399	if m != nil && m.AllowAlias != nil {
1400		return *m.AllowAlias
1401	}
1402	return false
1403}
1404
1405func (m *EnumOptions) GetDeprecated() bool {
1406	if m != nil && m.Deprecated != nil {
1407		return *m.Deprecated
1408	}
1409	return Default_EnumOptions_Deprecated
1410}
1411
1412func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
1413	if m != nil {
1414		return m.UninterpretedOption
1415	}
1416	return nil
1417}
1418
1419type EnumValueOptions struct {
1420	// Is this enum value deprecated?
1421	// Depending on the target platform, this can emit Deprecated annotations
1422	// for the enum value, or it will be completely ignored; in the very least,
1423	// this is a formalization for deprecating enum values.
1424	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1425	// The parser stores options it doesn't recognize here. See above.
1426	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1427	proto.XXX_InternalExtensions `json:"-"`
1428	XXX_unrecognized             []byte `json:"-"`
1429}
1430
1431func (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }
1432func (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }
1433func (*EnumValueOptions) ProtoMessage()               {}
1434func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{14} }
1435
1436var extRange_EnumValueOptions = []proto.ExtensionRange{
1437	{Start: 1000, End: 536870911},
1438}
1439
1440func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
1441	return extRange_EnumValueOptions
1442}
1443
1444const Default_EnumValueOptions_Deprecated bool = false
1445
1446func (m *EnumValueOptions) GetDeprecated() bool {
1447	if m != nil && m.Deprecated != nil {
1448		return *m.Deprecated
1449	}
1450	return Default_EnumValueOptions_Deprecated
1451}
1452
1453func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
1454	if m != nil {
1455		return m.UninterpretedOption
1456	}
1457	return nil
1458}
1459
1460type ServiceOptions struct {
1461	// Is this service deprecated?
1462	// Depending on the target platform, this can emit Deprecated annotations
1463	// for the service, or it will be completely ignored; in the very least,
1464	// this is a formalization for deprecating services.
1465	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1466	// The parser stores options it doesn't recognize here. See above.
1467	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1468	proto.XXX_InternalExtensions `json:"-"`
1469	XXX_unrecognized             []byte `json:"-"`
1470}
1471
1472func (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }
1473func (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }
1474func (*ServiceOptions) ProtoMessage()               {}
1475func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{15} }
1476
1477var extRange_ServiceOptions = []proto.ExtensionRange{
1478	{Start: 1000, End: 536870911},
1479}
1480
1481func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
1482	return extRange_ServiceOptions
1483}
1484
1485const Default_ServiceOptions_Deprecated bool = false
1486
1487func (m *ServiceOptions) GetDeprecated() bool {
1488	if m != nil && m.Deprecated != nil {
1489		return *m.Deprecated
1490	}
1491	return Default_ServiceOptions_Deprecated
1492}
1493
1494func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
1495	if m != nil {
1496		return m.UninterpretedOption
1497	}
1498	return nil
1499}
1500
1501type MethodOptions struct {
1502	// Is this method deprecated?
1503	// Depending on the target platform, this can emit Deprecated annotations
1504	// for the method, or it will be completely ignored; in the very least,
1505	// this is a formalization for deprecating methods.
1506	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
1507	// The parser stores options it doesn't recognize here. See above.
1508	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
1509	proto.XXX_InternalExtensions `json:"-"`
1510	XXX_unrecognized             []byte `json:"-"`
1511}
1512
1513func (m *MethodOptions) Reset()                    { *m = MethodOptions{} }
1514func (m *MethodOptions) String() string            { return proto.CompactTextString(m) }
1515func (*MethodOptions) ProtoMessage()               {}
1516func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{16} }
1517
1518var extRange_MethodOptions = []proto.ExtensionRange{
1519	{Start: 1000, End: 536870911},
1520}
1521
1522func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
1523	return extRange_MethodOptions
1524}
1525
1526const Default_MethodOptions_Deprecated bool = false
1527
1528func (m *MethodOptions) GetDeprecated() bool {
1529	if m != nil && m.Deprecated != nil {
1530		return *m.Deprecated
1531	}
1532	return Default_MethodOptions_Deprecated
1533}
1534
1535func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
1536	if m != nil {
1537		return m.UninterpretedOption
1538	}
1539	return nil
1540}
1541
1542// A message representing a option the parser does not recognize. This only
1543// appears in options protos created by the compiler::Parser class.
1544// DescriptorPool resolves these when building Descriptor objects. Therefore,
1545// options protos in descriptor objects (e.g. returned by Descriptor::options(),
1546// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
1547// in them.
1548type UninterpretedOption struct {
1549	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
1550	// The value of the uninterpreted option, in whatever type the tokenizer
1551	// identified it as during parsing. Exactly one of these should be set.
1552	IdentifierValue  *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
1553	PositiveIntValue *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
1554	NegativeIntValue *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
1555	DoubleValue      *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
1556	StringValue      []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
1557	AggregateValue   *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
1558	XXX_unrecognized []byte   `json:"-"`
1559}
1560
1561func (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }
1562func (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }
1563func (*UninterpretedOption) ProtoMessage()               {}
1564func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{17} }
1565
1566func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
1567	if m != nil {
1568		return m.Name
1569	}
1570	return nil
1571}
1572
1573func (m *UninterpretedOption) GetIdentifierValue() string {
1574	if m != nil && m.IdentifierValue != nil {
1575		return *m.IdentifierValue
1576	}
1577	return ""
1578}
1579
1580func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
1581	if m != nil && m.PositiveIntValue != nil {
1582		return *m.PositiveIntValue
1583	}
1584	return 0
1585}
1586
1587func (m *UninterpretedOption) GetNegativeIntValue() int64 {
1588	if m != nil && m.NegativeIntValue != nil {
1589		return *m.NegativeIntValue
1590	}
1591	return 0
1592}
1593
1594func (m *UninterpretedOption) GetDoubleValue() float64 {
1595	if m != nil && m.DoubleValue != nil {
1596		return *m.DoubleValue
1597	}
1598	return 0
1599}
1600
1601func (m *UninterpretedOption) GetStringValue() []byte {
1602	if m != nil {
1603		return m.StringValue
1604	}
1605	return nil
1606}
1607
1608func (m *UninterpretedOption) GetAggregateValue() string {
1609	if m != nil && m.AggregateValue != nil {
1610		return *m.AggregateValue
1611	}
1612	return ""
1613}
1614
1615// The name of the uninterpreted option.  Each string represents a segment in
1616// a dot-separated name.  is_extension is true iff a segment represents an
1617// extension (denoted with parentheses in options specs in .proto files).
1618// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
1619// "foo.(bar.baz).qux".
1620type UninterpretedOption_NamePart struct {
1621	NamePart         *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
1622	IsExtension      *bool   `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
1623	XXX_unrecognized []byte  `json:"-"`
1624}
1625
1626func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
1627func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
1628func (*UninterpretedOption_NamePart) ProtoMessage()    {}
1629func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
1630	return fileDescriptorDescriptor, []int{17, 0}
1631}
1632
1633func (m *UninterpretedOption_NamePart) GetNamePart() string {
1634	if m != nil && m.NamePart != nil {
1635		return *m.NamePart
1636	}
1637	return ""
1638}
1639
1640func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
1641	if m != nil && m.IsExtension != nil {
1642		return *m.IsExtension
1643	}
1644	return false
1645}
1646
1647// Encapsulates information about the original source file from which a
1648// FileDescriptorProto was generated.
1649type SourceCodeInfo struct {
1650	// A Location identifies a piece of source code in a .proto file which
1651	// corresponds to a particular definition.  This information is intended
1652	// to be useful to IDEs, code indexers, documentation generators, and similar
1653	// tools.
1654	//
1655	// For example, say we have a file like:
1656	//   message Foo {
1657	//     optional string foo = 1;
1658	//   }
1659	// Let's look at just the field definition:
1660	//   optional string foo = 1;
1661	//   ^       ^^     ^^  ^  ^^^
1662	//   a       bc     de  f  ghi
1663	// We have the following locations:
1664	//   span   path               represents
1665	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
1666	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
1667	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
1668	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
1669	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
1670	//
1671	// Notes:
1672	// - A location may refer to a repeated field itself (i.e. not to any
1673	//   particular index within it).  This is used whenever a set of elements are
1674	//   logically enclosed in a single code segment.  For example, an entire
1675	//   extend block (possibly containing multiple extension definitions) will
1676	//   have an outer location whose path refers to the "extensions" repeated
1677	//   field without an index.
1678	// - Multiple locations may have the same path.  This happens when a single
1679	//   logical declaration is spread out across multiple places.  The most
1680	//   obvious example is the "extend" block again -- there may be multiple
1681	//   extend blocks in the same scope, each of which will have the same path.
1682	// - A location's span is not always a subset of its parent's span.  For
1683	//   example, the "extendee" of an extension declaration appears at the
1684	//   beginning of the "extend" block and is shared by all extensions within
1685	//   the block.
1686	// - Just because a location's span is a subset of some other location's span
1687	//   does not mean that it is a descendent.  For example, a "group" defines
1688	//   both a type and a field in a single declaration.  Thus, the locations
1689	//   corresponding to the type and field and their components will overlap.
1690	// - Code which tries to interpret locations should probably be designed to
1691	//   ignore those that it doesn't understand, as more types of locations could
1692	//   be recorded in the future.
1693	Location         []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
1694	XXX_unrecognized []byte                     `json:"-"`
1695}
1696
1697func (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }
1698func (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }
1699func (*SourceCodeInfo) ProtoMessage()               {}
1700func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{18} }
1701
1702func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
1703	if m != nil {
1704		return m.Location
1705	}
1706	return nil
1707}
1708
1709type SourceCodeInfo_Location struct {
1710	// Identifies which part of the FileDescriptorProto was defined at this
1711	// location.
1712	//
1713	// Each element is a field number or an index.  They form a path from
1714	// the root FileDescriptorProto to the place where the definition.  For
1715	// example, this path:
1716	//   [ 4, 3, 2, 7, 1 ]
1717	// refers to:
1718	//   file.message_type(3)  // 4, 3
1719	//       .field(7)         // 2, 7
1720	//       .name()           // 1
1721	// This is because FileDescriptorProto.message_type has field number 4:
1722	//   repeated DescriptorProto message_type = 4;
1723	// and DescriptorProto.field has field number 2:
1724	//   repeated FieldDescriptorProto field = 2;
1725	// and FieldDescriptorProto.name has field number 1:
1726	//   optional string name = 1;
1727	//
1728	// Thus, the above path gives the location of a field name.  If we removed
1729	// the last element:
1730	//   [ 4, 3, 2, 7 ]
1731	// this path refers to the whole field declaration (from the beginning
1732	// of the label to the terminating semicolon).
1733	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
1734	// Always has exactly three or four elements: start line, start column,
1735	// end line (optional, otherwise assumed same as start line), end column.
1736	// These are packed into a single field for efficiency.  Note that line
1737	// and column numbers are zero-based -- typically you will want to add
1738	// 1 to each before displaying to a user.
1739	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
1740	// If this SourceCodeInfo represents a complete declaration, these are any
1741	// comments appearing before and after the declaration which appear to be
1742	// attached to the declaration.
1743	//
1744	// A series of line comments appearing on consecutive lines, with no other
1745	// tokens appearing on those lines, will be treated as a single comment.
1746	//
1747	// leading_detached_comments will keep paragraphs of comments that appear
1748	// before (but not connected to) the current element. Each paragraph,
1749	// separated by empty lines, will be one comment element in the repeated
1750	// field.
1751	//
1752	// Only the comment content is provided; comment markers (e.g. //) are
1753	// stripped out.  For block comments, leading whitespace and an asterisk
1754	// will be stripped from the beginning of each line other than the first.
1755	// Newlines are included in the output.
1756	//
1757	// Examples:
1758	//
1759	//   optional int32 foo = 1;  // Comment attached to foo.
1760	//   // Comment attached to bar.
1761	//   optional int32 bar = 2;
1762	//
1763	//   optional string baz = 3;
1764	//   // Comment attached to baz.
1765	//   // Another line attached to baz.
1766	//
1767	//   // Comment attached to qux.
1768	//   //
1769	//   // Another line attached to qux.
1770	//   optional double qux = 4;
1771	//
1772	//   // Detached comment for corge. This is not leading or trailing comments
1773	//   // to qux or corge because there are blank lines separating it from
1774	//   // both.
1775	//
1776	//   // Detached comment for corge paragraph 2.
1777	//
1778	//   optional string corge = 5;
1779	//   /* Block comment attached
1780	//    * to corge.  Leading asterisks
1781	//    * will be removed. */
1782	//   /* Block comment attached to
1783	//    * grault. */
1784	//   optional int32 grault = 6;
1785	//
1786	//   // ignored detached comments.
1787	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
1788	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
1789	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
1790	XXX_unrecognized        []byte   `json:"-"`
1791}
1792
1793func (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location{} }
1794func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
1795func (*SourceCodeInfo_Location) ProtoMessage()    {}
1796func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
1797	return fileDescriptorDescriptor, []int{18, 0}
1798}
1799
1800func (m *SourceCodeInfo_Location) GetPath() []int32 {
1801	if m != nil {
1802		return m.Path
1803	}
1804	return nil
1805}
1806
1807func (m *SourceCodeInfo_Location) GetSpan() []int32 {
1808	if m != nil {
1809		return m.Span
1810	}
1811	return nil
1812}
1813
1814func (m *SourceCodeInfo_Location) GetLeadingComments() string {
1815	if m != nil && m.LeadingComments != nil {
1816		return *m.LeadingComments
1817	}
1818	return ""
1819}
1820
1821func (m *SourceCodeInfo_Location) GetTrailingComments() string {
1822	if m != nil && m.TrailingComments != nil {
1823		return *m.TrailingComments
1824	}
1825	return ""
1826}
1827
1828func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
1829	if m != nil {
1830		return m.LeadingDetachedComments
1831	}
1832	return nil
1833}
1834
1835// Describes the relationship between generated code and its original source
1836// file. A GeneratedCodeInfo message is associated with only one generated
1837// source file, but may contain references to different source .proto files.
1838type GeneratedCodeInfo struct {
1839	// An Annotation connects some span of text in generated code to an element
1840	// of its generating .proto file.
1841	Annotation       []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
1842	XXX_unrecognized []byte                          `json:"-"`
1843}
1844
1845func (m *GeneratedCodeInfo) Reset()                    { *m = GeneratedCodeInfo{} }
1846func (m *GeneratedCodeInfo) String() string            { return proto.CompactTextString(m) }
1847func (*GeneratedCodeInfo) ProtoMessage()               {}
1848func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptorDescriptor, []int{19} }
1849
1850func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
1851	if m != nil {
1852		return m.Annotation
1853	}
1854	return nil
1855}
1856
1857type GeneratedCodeInfo_Annotation struct {
1858	// Identifies the element in the original source .proto file. This field
1859	// is formatted the same as SourceCodeInfo.Location.path.
1860	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
1861	// Identifies the filesystem path to the original source .proto.
1862	SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
1863	// Identifies the starting offset in bytes in the generated code
1864	// that relates to the identified object.
1865	Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
1866	// Identifies the ending offset in bytes in the generated code that
1867	// relates to the identified offset. The end offset should be one past
1868	// the last relevant byte (so the length of the text = end - begin).
1869	End              *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
1870	XXX_unrecognized []byte `json:"-"`
1871}
1872
1873func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
1874func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
1875func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
1876func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
1877	return fileDescriptorDescriptor, []int{19, 0}
1878}
1879
1880func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
1881	if m != nil {
1882		return m.Path
1883	}
1884	return nil
1885}
1886
1887func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
1888	if m != nil && m.SourceFile != nil {
1889		return *m.SourceFile
1890	}
1891	return ""
1892}
1893
1894func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
1895	if m != nil && m.Begin != nil {
1896		return *m.Begin
1897	}
1898	return 0
1899}
1900
1901func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
1902	if m != nil && m.End != nil {
1903		return *m.End
1904	}
1905	return 0
1906}
1907
1908func init() {
1909	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
1910	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
1911	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
1912	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
1913	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
1914	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
1915	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
1916	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
1917	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
1918	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
1919	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
1920	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
1921	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
1922	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
1923	proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
1924	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
1925	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
1926	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
1927	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
1928	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
1929	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
1930	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
1931	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
1932	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
1933	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
1934	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
1935	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
1936	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
1937	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
1938	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
1939}
1940
1941func init() { proto.RegisterFile("descriptor.proto", fileDescriptorDescriptor) }
1942
1943var fileDescriptorDescriptor = []byte{
1944	// 2273 bytes of a gzipped FileDescriptorProto
1945	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,
1946	0x15, 0x5f, 0xea, 0xcb, 0xd2, 0x93, 0x2c, 0x8f, 0xc7, 0xde, 0x84, 0x71, 0x36, 0x1b, 0x47, 0x9b,
1947	0x34, 0x4e, 0xd2, 0x3a, 0x0b, 0xe7, 0x63, 0xb3, 0xde, 0x62, 0x0b, 0x59, 0x62, 0xbc, 0x0a, 0x64,
1948	0x4b, 0xa5, 0xec, 0x36, 0xbb, 0x3d, 0x10, 0x63, 0x72, 0x24, 0x33, 0xa1, 0x86, 0x2c, 0x49, 0x25,
1949	0xf1, 0x9e, 0x02, 0xf4, 0x54, 0xf4, 0x1f, 0x28, 0xda, 0xa2, 0x28, 0xf6, 0xb2, 0x40, 0xff, 0x80,
1950	0x1e, 0x7a, 0xef, 0xb5, 0x40, 0xef, 0x3d, 0x16, 0x68, 0xff, 0x83, 0x5e, 0x8b, 0x99, 0x21, 0x29,
1951	0xea, 0x6b, 0xe3, 0x2e, 0xb0, 0x1f, 0x27, 0x6b, 0x7e, 0xef, 0xf7, 0x1e, 0xdf, 0xbc, 0x79, 0x7c,
1952	0xef, 0x71, 0x0c, 0xc8, 0xa2, 0x81, 0xe9, 0xdb, 0x5e, 0xe8, 0xfa, 0xdb, 0x9e, 0xef, 0x86, 0x2e,
1953	0x5e, 0x19, 0xb8, 0xee, 0xc0, 0xa1, 0x72, 0x75, 0x32, 0xea, 0xd7, 0x0e, 0x60, 0xf5, 0xb1, 0xed,
1954	0xd0, 0x66, 0x42, 0xec, 0xd1, 0x10, 0x3f, 0x82, 0x5c, 0xdf, 0x76, 0xa8, 0xaa, 0x6c, 0x66, 0xb7,
1955	0xca, 0x3b, 0xd7, 0xb7, 0xa7, 0x94, 0xb6, 0x27, 0x35, 0xba, 0x1c, 0xd6, 0x85, 0x46, 0xed, 0x5f,
1956	0x39, 0x58, 0x9b, 0x23, 0xc5, 0x18, 0x72, 0x8c, 0x0c, 0xb9, 0x45, 0x65, 0xab, 0xa4, 0x8b, 0xdf,
1957	0x58, 0x85, 0x25, 0x8f, 0x98, 0xcf, 0xc9, 0x80, 0xaa, 0x19, 0x01, 0xc7, 0x4b, 0xfc, 0x2e, 0x80,
1958	0x45, 0x3d, 0xca, 0x2c, 0xca, 0xcc, 0x33, 0x35, 0xbb, 0x99, 0xdd, 0x2a, 0xe9, 0x29, 0x04, 0xdf,
1959	0x81, 0x55, 0x6f, 0x74, 0xe2, 0xd8, 0xa6, 0x91, 0xa2, 0xc1, 0x66, 0x76, 0x2b, 0xaf, 0x23, 0x29,
1960	0x68, 0x8e, 0xc9, 0x37, 0x61, 0xe5, 0x25, 0x25, 0xcf, 0xd3, 0xd4, 0xb2, 0xa0, 0x56, 0x39, 0x9c,
1961	0x22, 0x36, 0xa0, 0x32, 0xa4, 0x41, 0x40, 0x06, 0xd4, 0x08, 0xcf, 0x3c, 0xaa, 0xe6, 0xc4, 0xee,
1962	0x37, 0x67, 0x76, 0x3f, 0xbd, 0xf3, 0x72, 0xa4, 0x75, 0x74, 0xe6, 0x51, 0x5c, 0x87, 0x12, 0x65,
1963	0xa3, 0xa1, 0xb4, 0x90, 0x5f, 0x10, 0x3f, 0x8d, 0x8d, 0x86, 0xd3, 0x56, 0x8a, 0x5c, 0x2d, 0x32,
1964	0xb1, 0x14, 0x50, 0xff, 0x85, 0x6d, 0x52, 0xb5, 0x20, 0x0c, 0xdc, 0x9c, 0x31, 0xd0, 0x93, 0xf2,
1965	0x69, 0x1b, 0xb1, 0x1e, 0x6e, 0x40, 0x89, 0xbe, 0x0a, 0x29, 0x0b, 0x6c, 0x97, 0xa9, 0x4b, 0xc2,
1966	0xc8, 0x8d, 0x39, 0xa7, 0x48, 0x1d, 0x6b, 0xda, 0xc4, 0x58, 0x0f, 0x3f, 0x84, 0x25, 0xd7, 0x0b,
1967	0x6d, 0x97, 0x05, 0x6a, 0x71, 0x53, 0xd9, 0x2a, 0xef, 0xbc, 0x33, 0x37, 0x11, 0x3a, 0x92, 0xa3,
1968	0xc7, 0x64, 0xdc, 0x02, 0x14, 0xb8, 0x23, 0xdf, 0xa4, 0x86, 0xe9, 0x5a, 0xd4, 0xb0, 0x59, 0xdf,
1969	0x55, 0x4b, 0xc2, 0xc0, 0xd5, 0xd9, 0x8d, 0x08, 0x62, 0xc3, 0xb5, 0x68, 0x8b, 0xf5, 0x5d, 0xbd,
1970	0x1a, 0x4c, 0xac, 0xf1, 0x05, 0x28, 0x04, 0x67, 0x2c, 0x24, 0xaf, 0xd4, 0x8a, 0xc8, 0x90, 0x68,
1971	0x55, 0xfb, 0x6f, 0x1e, 0x56, 0xce, 0x93, 0x62, 0x1f, 0x41, 0xbe, 0xcf, 0x77, 0xa9, 0x66, 0xfe,
1972	0x9f, 0x18, 0x48, 0x9d, 0xc9, 0x20, 0x16, 0xbe, 0x66, 0x10, 0xeb, 0x50, 0x66, 0x34, 0x08, 0xa9,
1973	0x25, 0x33, 0x22, 0x7b, 0xce, 0x9c, 0x02, 0xa9, 0x34, 0x9b, 0x52, 0xb9, 0xaf, 0x95, 0x52, 0x4f,
1974	0x61, 0x25, 0x71, 0xc9, 0xf0, 0x09, 0x1b, 0xc4, 0xb9, 0x79, 0xf7, 0x4d, 0x9e, 0x6c, 0x6b, 0xb1,
1975	0x9e, 0xce, 0xd5, 0xf4, 0x2a, 0x9d, 0x58, 0xe3, 0x26, 0x80, 0xcb, 0xa8, 0xdb, 0x37, 0x2c, 0x6a,
1976	0x3a, 0x6a, 0x71, 0x41, 0x94, 0x3a, 0x9c, 0x32, 0x13, 0x25, 0x57, 0xa2, 0xa6, 0x83, 0x3f, 0x1c,
1977	0xa7, 0xda, 0xd2, 0x82, 0x4c, 0x39, 0x90, 0x2f, 0xd9, 0x4c, 0xb6, 0x1d, 0x43, 0xd5, 0xa7, 0x3c,
1978	0xef, 0xa9, 0x15, 0xed, 0xac, 0x24, 0x9c, 0xd8, 0x7e, 0xe3, 0xce, 0xf4, 0x48, 0x4d, 0x6e, 0x6c,
1979	0xd9, 0x4f, 0x2f, 0xf1, 0x7b, 0x90, 0x00, 0x86, 0x48, 0x2b, 0x10, 0x55, 0xa8, 0x12, 0x83, 0x87,
1980	0x64, 0x48, 0x37, 0x1e, 0x41, 0x75, 0x32, 0x3c, 0x78, 0x1d, 0xf2, 0x41, 0x48, 0xfc, 0x50, 0x64,
1981	0x61, 0x5e, 0x97, 0x0b, 0x8c, 0x20, 0x4b, 0x99, 0x25, 0xaa, 0x5c, 0x5e, 0xe7, 0x3f, 0x37, 0x3e,
1982	0x80, 0xe5, 0x89, 0xc7, 0x9f, 0x57, 0xb1, 0xf6, 0xdb, 0x02, 0xac, 0xcf, 0xcb, 0xb9, 0xb9, 0xe9,
1983	0x7f, 0x01, 0x0a, 0x6c, 0x34, 0x3c, 0xa1, 0xbe, 0x9a, 0x15, 0x16, 0xa2, 0x15, 0xae, 0x43, 0xde,
1984	0x21, 0x27, 0xd4, 0x51, 0x73, 0x9b, 0xca, 0x56, 0x75, 0xe7, 0xce, 0xb9, 0xb2, 0x7a, 0xbb, 0xcd,
1985	0x55, 0x74, 0xa9, 0x89, 0x3f, 0x86, 0x5c, 0x54, 0xe2, 0xb8, 0x85, 0xdb, 0xe7, 0xb3, 0xc0, 0x73,
1986	0x51, 0x17, 0x7a, 0xf8, 0x32, 0x94, 0xf8, 0x5f, 0x19, 0xdb, 0x82, 0xf0, 0xb9, 0xc8, 0x01, 0x1e,
1987	0x57, 0xbc, 0x01, 0x45, 0x91, 0x66, 0x16, 0x8d, 0x5b, 0x43, 0xb2, 0xe6, 0x07, 0x63, 0xd1, 0x3e,
1988	0x19, 0x39, 0xa1, 0xf1, 0x82, 0x38, 0x23, 0x2a, 0x12, 0xa6, 0xa4, 0x57, 0x22, 0xf0, 0x67, 0x1c,
1989	0xc3, 0x57, 0xa1, 0x2c, 0xb3, 0xd2, 0x66, 0x16, 0x7d, 0x25, 0xaa, 0x4f, 0x5e, 0x97, 0x89, 0xda,
1990	0xe2, 0x08, 0x7f, 0xfc, 0xb3, 0xc0, 0x65, 0xf1, 0xd1, 0x8a, 0x47, 0x70, 0x40, 0x3c, 0xfe, 0x83,
1991	0xe9, 0xc2, 0x77, 0x65, 0xfe, 0xf6, 0xa6, 0x73, 0xb1, 0xf6, 0x97, 0x0c, 0xe4, 0xc4, 0xfb, 0xb6,
1992	0x02, 0xe5, 0xa3, 0x4f, 0xbb, 0x9a, 0xd1, 0xec, 0x1c, 0xef, 0xb5, 0x35, 0xa4, 0xe0, 0x2a, 0x80,
1993	0x00, 0x1e, 0xb7, 0x3b, 0xf5, 0x23, 0x94, 0x49, 0xd6, 0xad, 0xc3, 0xa3, 0x87, 0xf7, 0x51, 0x36,
1994	0x51, 0x38, 0x96, 0x40, 0x2e, 0x4d, 0xb8, 0xb7, 0x83, 0xf2, 0x18, 0x41, 0x45, 0x1a, 0x68, 0x3d,
1995	0xd5, 0x9a, 0x0f, 0xef, 0xa3, 0xc2, 0x24, 0x72, 0x6f, 0x07, 0x2d, 0xe1, 0x65, 0x28, 0x09, 0x64,
1996	0xaf, 0xd3, 0x69, 0xa3, 0x62, 0x62, 0xb3, 0x77, 0xa4, 0xb7, 0x0e, 0xf7, 0x51, 0x29, 0xb1, 0xb9,
1997	0xaf, 0x77, 0x8e, 0xbb, 0x08, 0x12, 0x0b, 0x07, 0x5a, 0xaf, 0x57, 0xdf, 0xd7, 0x50, 0x39, 0x61,
1998	0xec, 0x7d, 0x7a, 0xa4, 0xf5, 0x50, 0x65, 0xc2, 0xad, 0x7b, 0x3b, 0x68, 0x39, 0x79, 0x84, 0x76,
1999	0x78, 0x7c, 0x80, 0xaa, 0x78, 0x15, 0x96, 0xe5, 0x23, 0x62, 0x27, 0x56, 0xa6, 0xa0, 0x87, 0xf7,
2000	0x11, 0x1a, 0x3b, 0x22, 0xad, 0xac, 0x4e, 0x00, 0x0f, 0xef, 0x23, 0x5c, 0x6b, 0x40, 0x5e, 0x64,
2001	0x17, 0xc6, 0x50, 0x6d, 0xd7, 0xf7, 0xb4, 0xb6, 0xd1, 0xe9, 0x1e, 0xb5, 0x3a, 0x87, 0xf5, 0x36,
2002	0x52, 0xc6, 0x98, 0xae, 0xfd, 0xf4, 0xb8, 0xa5, 0x6b, 0x4d, 0x94, 0x49, 0x63, 0x5d, 0xad, 0x7e,
2003	0xa4, 0x35, 0x51, 0xb6, 0x66, 0xc2, 0xfa, 0xbc, 0x3a, 0x33, 0xf7, 0xcd, 0x48, 0x1d, 0x71, 0x66,
2004	0xc1, 0x11, 0x0b, 0x5b, 0x33, 0x47, 0xfc, 0x85, 0x02, 0x6b, 0x73, 0x6a, 0xed, 0xdc, 0x87, 0xfc,
2005	0x04, 0xf2, 0x32, 0x45, 0x65, 0xf7, 0xb9, 0x35, 0xb7, 0x68, 0x8b, 0x84, 0x9d, 0xe9, 0x40, 0x42,
2006	0x2f, 0xdd, 0x81, 0xb3, 0x0b, 0x3a, 0x30, 0x37, 0x31, 0xe3, 0xe4, 0xaf, 0x14, 0x50, 0x17, 0xd9,
2007	0x7e, 0x43, 0xa1, 0xc8, 0x4c, 0x14, 0x8a, 0x8f, 0xa6, 0x1d, 0xb8, 0xb6, 0x78, 0x0f, 0x33, 0x5e,
2008	0x7c, 0xa9, 0xc0, 0x85, 0xf9, 0x83, 0xca, 0x5c, 0x1f, 0x3e, 0x86, 0xc2, 0x90, 0x86, 0xa7, 0x6e,
2009	0xdc, 0xac, 0x7f, 0x30, 0xa7, 0x05, 0x70, 0xf1, 0x74, 0xac, 0x22, 0xad, 0x74, 0x0f, 0xc9, 0x2e,
2010	0x9a, 0x36, 0xa4, 0x37, 0x33, 0x9e, 0xfe, 0x3a, 0x03, 0x6f, 0xcf, 0x35, 0x3e, 0xd7, 0xd1, 0x2b,
2011	0x00, 0x36, 0xf3, 0x46, 0xa1, 0x6c, 0xc8, 0xb2, 0x3e, 0x95, 0x04, 0x22, 0xde, 0x7d, 0x5e, 0x7b,
2012	0x46, 0x61, 0x22, 0xcf, 0x0a, 0x39, 0x48, 0x48, 0x10, 0x1e, 0x8d, 0x1d, 0xcd, 0x09, 0x47, 0xdf,
2013	0x5d, 0xb0, 0xd3, 0x99, 0x5e, 0xf7, 0x3e, 0x20, 0xd3, 0xb1, 0x29, 0x0b, 0x8d, 0x20, 0xf4, 0x29,
2014	0x19, 0xda, 0x6c, 0x20, 0x0a, 0x70, 0x71, 0x37, 0xdf, 0x27, 0x4e, 0x40, 0xf5, 0x15, 0x29, 0xee,
2015	0xc5, 0x52, 0xae, 0x21, 0xba, 0x8c, 0x9f, 0xd2, 0x28, 0x4c, 0x68, 0x48, 0x71, 0xa2, 0x51, 0xfb,
2016	0xcd, 0x12, 0x94, 0x53, 0x63, 0x1d, 0xbe, 0x06, 0x95, 0x67, 0xe4, 0x05, 0x31, 0xe2, 0x51, 0x5d,
2017	0x46, 0xa2, 0xcc, 0xb1, 0x6e, 0x34, 0xae, 0xbf, 0x0f, 0xeb, 0x82, 0xe2, 0x8e, 0x42, 0xea, 0x1b,
2018	0xa6, 0x43, 0x82, 0x40, 0x04, 0xad, 0x28, 0xa8, 0x98, 0xcb, 0x3a, 0x5c, 0xd4, 0x88, 0x25, 0xf8,
2019	0x01, 0xac, 0x09, 0x8d, 0xe1, 0xc8, 0x09, 0x6d, 0xcf, 0xa1, 0x06, 0xff, 0x78, 0x08, 0x44, 0x21,
2020	0x4e, 0x3c, 0x5b, 0xe5, 0x8c, 0x83, 0x88, 0xc0, 0x3d, 0x0a, 0xf0, 0x3e, 0x5c, 0x11, 0x6a, 0x03,
2021	0xca, 0xa8, 0x4f, 0x42, 0x6a, 0xd0, 0x5f, 0x8e, 0x88, 0x13, 0x18, 0x84, 0x59, 0xc6, 0x29, 0x09,
2022	0x4e, 0xd5, 0xf5, 0xb4, 0x81, 0x4b, 0x9c, 0xbb, 0x1f, 0x51, 0x35, 0xc1, 0xac, 0x33, 0xeb, 0x13,
2023	0x12, 0x9c, 0xe2, 0x5d, 0xb8, 0x20, 0x0c, 0x05, 0xa1, 0x6f, 0xb3, 0x81, 0x61, 0x9e, 0x52, 0xf3,
2024	0xb9, 0x31, 0x0a, 0xfb, 0x8f, 0xd4, 0xcb, 0x69, 0x0b, 0xc2, 0xc9, 0x9e, 0xe0, 0x34, 0x38, 0xe5,
2025	0x38, 0xec, 0x3f, 0xc2, 0x3d, 0xa8, 0xf0, 0xf3, 0x18, 0xda, 0x9f, 0x53, 0xa3, 0xef, 0xfa, 0xa2,
2026	0xb9, 0x54, 0xe7, 0xbc, 0xdc, 0xa9, 0x20, 0x6e, 0x77, 0x22, 0x85, 0x03, 0xd7, 0xa2, 0xbb, 0xf9,
2027	0x5e, 0x57, 0xd3, 0x9a, 0x7a, 0x39, 0xb6, 0xf2, 0xd8, 0xf5, 0x79, 0x4e, 0x0d, 0xdc, 0x24, 0xc6,
2028	0x65, 0x99, 0x53, 0x03, 0x37, 0x8e, 0xf0, 0x03, 0x58, 0x33, 0x4d, 0xb9, 0x6d, 0xdb, 0x34, 0xa2,
2029	0x29, 0x3f, 0x50, 0xd1, 0x44, 0xbc, 0x4c, 0x73, 0x5f, 0x12, 0xa2, 0x34, 0x0f, 0xf0, 0x87, 0xf0,
2030	0xf6, 0x38, 0x5e, 0x69, 0xc5, 0xd5, 0x99, 0x5d, 0x4e, 0xab, 0x3e, 0x80, 0x35, 0xef, 0x6c, 0x56,
2031	0x11, 0x4f, 0x3c, 0xd1, 0x3b, 0x9b, 0x56, 0xbb, 0x21, 0xbe, 0xdc, 0x7c, 0x6a, 0x92, 0x90, 0x5a,
2032	0xea, 0xc5, 0x34, 0x3b, 0x25, 0xc0, 0x77, 0x01, 0x99, 0xa6, 0x41, 0x19, 0x39, 0x71, 0xa8, 0x41,
2033	0x7c, 0xca, 0x48, 0xa0, 0x5e, 0x4d, 0x93, 0xab, 0xa6, 0xa9, 0x09, 0x69, 0x5d, 0x08, 0xf1, 0x6d,
2034	0x58, 0x75, 0x4f, 0x9e, 0x99, 0x32, 0xb9, 0x0c, 0xcf, 0xa7, 0x7d, 0xfb, 0x95, 0x7a, 0x5d, 0x84,
2035	0x69, 0x85, 0x0b, 0x44, 0x6a, 0x75, 0x05, 0x8c, 0x6f, 0x01, 0x32, 0x83, 0x53, 0xe2, 0x7b, 0xa2,
2036	0xbb, 0x07, 0x1e, 0x31, 0xa9, 0x7a, 0x43, 0x52, 0x25, 0x7e, 0x18, 0xc3, 0xf8, 0x29, 0xac, 0x8f,
2037	0x98, 0xcd, 0x42, 0xea, 0x7b, 0x3e, 0xe5, 0x43, 0xba, 0x7c, 0xd3, 0xd4, 0x7f, 0x2f, 0x2d, 0x18,
2038	0xb3, 0x8f, 0xd3, 0x6c, 0x79, 0xba, 0xfa, 0xda, 0x68, 0x16, 0xac, 0xed, 0x42, 0x25, 0x7d, 0xe8,
2039	0xb8, 0x04, 0xf2, 0xd8, 0x91, 0xc2, 0x7b, 0x68, 0xa3, 0xd3, 0xe4, 0xdd, 0xef, 0x33, 0x0d, 0x65,
2040	0x78, 0x17, 0x6e, 0xb7, 0x8e, 0x34, 0x43, 0x3f, 0x3e, 0x3c, 0x6a, 0x1d, 0x68, 0x28, 0x7b, 0xbb,
2041	0x54, 0xfc, 0xcf, 0x12, 0x7a, 0xfd, 0xfa, 0xf5, 0xeb, 0x4c, 0xed, 0x6f, 0x19, 0xa8, 0x4e, 0x4e,
2042	0xbe, 0xf8, 0xc7, 0x70, 0x31, 0xfe, 0x4c, 0x0d, 0x68, 0x68, 0xbc, 0xb4, 0x7d, 0x91, 0x87, 0x43,
2043	0x22, 0x67, 0xc7, 0x24, 0x84, 0xeb, 0x11, 0xab, 0x47, 0xc3, 0x9f, 0xdb, 0x3e, 0xcf, 0xb2, 0x21,
2044	0x09, 0x71, 0x1b, 0xae, 0x32, 0xd7, 0x08, 0x42, 0xc2, 0x2c, 0xe2, 0x5b, 0xc6, 0xf8, 0x82, 0xc0,
2045	0x20, 0xa6, 0x49, 0x83, 0xc0, 0x95, 0x2d, 0x20, 0xb1, 0xf2, 0x0e, 0x73, 0x7b, 0x11, 0x79, 0x5c,
2046	0x1b, 0xeb, 0x11, 0x75, 0xea, 0xb8, 0xb3, 0x8b, 0x8e, 0xfb, 0x32, 0x94, 0x86, 0xc4, 0x33, 0x28,
2047	0x0b, 0xfd, 0x33, 0x31, 0xaf, 0x15, 0xf5, 0xe2, 0x90, 0x78, 0x1a, 0x5f, 0x7f, 0x73, 0x67, 0x90,
2048	0x8e, 0xe3, 0x3f, 0xb3, 0x50, 0x49, 0xcf, 0x6c, 0x7c, 0x04, 0x36, 0x45, 0x7d, 0x56, 0xc4, 0xeb,
2049	0xfb, 0xde, 0x57, 0x4e, 0x78, 0xdb, 0x0d, 0x5e, 0xb8, 0x77, 0x0b, 0x72, 0x92, 0xd2, 0xa5, 0x26,
2050	0x6f, 0x9a, 0xfc, 0x85, 0xa5, 0x72, 0x3e, 0x2f, 0xea, 0xd1, 0x0a, 0xef, 0x43, 0xe1, 0x59, 0x20,
2051	0x6c, 0x17, 0x84, 0xed, 0xeb, 0x5f, 0x6d, 0xfb, 0x49, 0x4f, 0x18, 0x2f, 0x3d, 0xe9, 0x19, 0x87,
2052	0x1d, 0xfd, 0xa0, 0xde, 0xd6, 0x23, 0x75, 0x7c, 0x09, 0x72, 0x0e, 0xf9, 0xfc, 0x6c, 0xb2, 0xc4,
2053	0x0b, 0xe8, 0xbc, 0x81, 0xbf, 0x04, 0xb9, 0x97, 0x94, 0x3c, 0x9f, 0x2c, 0xac, 0x02, 0xfa, 0x06,
2054	0x53, 0xff, 0x2e, 0xe4, 0x45, 0xbc, 0x30, 0x40, 0x14, 0x31, 0xf4, 0x16, 0x2e, 0x42, 0xae, 0xd1,
2055	0xd1, 0x79, 0xfa, 0x23, 0xa8, 0x48, 0xd4, 0xe8, 0xb6, 0xb4, 0x86, 0x86, 0x32, 0xb5, 0x07, 0x50,
2056	0x90, 0x41, 0xe0, 0xaf, 0x46, 0x12, 0x06, 0xf4, 0x56, 0xb4, 0x8c, 0x6c, 0x28, 0xb1, 0xf4, 0xf8,
2057	0x60, 0x4f, 0xd3, 0x51, 0x26, 0x7d, 0xbc, 0x01, 0x54, 0xd2, 0xe3, 0xda, 0xb7, 0x93, 0x53, 0x7f,
2058	0x55, 0xa0, 0x9c, 0x1a, 0xbf, 0x78, 0xe3, 0x27, 0x8e, 0xe3, 0xbe, 0x34, 0x88, 0x63, 0x93, 0x20,
2059	0x4a, 0x0a, 0x10, 0x50, 0x9d, 0x23, 0xe7, 0x3d, 0xb4, 0x6f, 0xc5, 0xf9, 0x3f, 0x2a, 0x80, 0xa6,
2060	0x47, 0xb7, 0x29, 0x07, 0x95, 0xef, 0xd4, 0xc1, 0x3f, 0x28, 0x50, 0x9d, 0x9c, 0xd7, 0xa6, 0xdc,
2061	0xbb, 0xf6, 0x9d, 0xba, 0xf7, 0x7b, 0x05, 0x96, 0x27, 0xa6, 0xb4, 0xef, 0x95, 0x77, 0xbf, 0xcb,
2062	0xc2, 0xda, 0x1c, 0x3d, 0x5c, 0x8f, 0xc6, 0x59, 0x39, 0x61, 0xff, 0xe8, 0x3c, 0xcf, 0xda, 0xe6,
2063	0xdd, 0xb2, 0x4b, 0xfc, 0x30, 0x9a, 0x7e, 0x6f, 0x01, 0xb2, 0x2d, 0xca, 0x42, 0xbb, 0x6f, 0x53,
2064	0x3f, 0xfa, 0x04, 0x97, 0x33, 0xee, 0xca, 0x18, 0x97, 0x5f, 0xe1, 0x3f, 0x04, 0xec, 0xb9, 0x81,
2065	0x1d, 0xda, 0x2f, 0xa8, 0x61, 0xb3, 0xf8, 0x7b, 0x9d, 0xcf, 0xbc, 0x39, 0x1d, 0xc5, 0x92, 0x16,
2066	0x0b, 0x13, 0x36, 0xa3, 0x03, 0x32, 0xc5, 0xe6, 0xb5, 0x2f, 0xab, 0xa3, 0x58, 0x92, 0xb0, 0xaf,
2067	0x41, 0xc5, 0x72, 0x47, 0x7c, 0x7c, 0x90, 0x3c, 0x5e, 0x6a, 0x15, 0xbd, 0x2c, 0xb1, 0x84, 0x12,
2068	0xcd, 0x77, 0xe3, 0x8b, 0x82, 0x8a, 0x5e, 0x96, 0x98, 0xa4, 0xdc, 0x84, 0x15, 0x32, 0x18, 0xf8,
2069	0xdc, 0x78, 0x6c, 0x48, 0x0e, 0xad, 0xd5, 0x04, 0x16, 0xc4, 0x8d, 0x27, 0x50, 0x8c, 0xe3, 0xc0,
2070	0xbb, 0x19, 0x8f, 0x84, 0xe1, 0xc9, 0xeb, 0x9a, 0xcc, 0x56, 0x49, 0x2f, 0xb2, 0x58, 0x78, 0x0d,
2071	0x2a, 0x76, 0x60, 0x8c, 0xef, 0x0d, 0x33, 0x9b, 0x99, 0xad, 0xa2, 0x5e, 0xb6, 0x83, 0xe4, 0xa2,
2072	0xa8, 0xf6, 0x65, 0x06, 0xaa, 0x93, 0xf7, 0x9e, 0xb8, 0x09, 0x45, 0xc7, 0x35, 0x89, 0x48, 0x04,
2073	0x79, 0xe9, 0xbe, 0xf5, 0x86, 0xab, 0xd2, 0xed, 0x76, 0xc4, 0xd7, 0x13, 0xcd, 0x8d, 0xbf, 0x2b,
2074	0x50, 0x8c, 0x61, 0x7c, 0x01, 0x72, 0x1e, 0x09, 0x4f, 0x85, 0xb9, 0xfc, 0x5e, 0x06, 0x29, 0xba,
2075	0x58, 0x73, 0x3c, 0xf0, 0x08, 0x13, 0x29, 0x10, 0xe1, 0x7c, 0xcd, 0xcf, 0xd5, 0xa1, 0xc4, 0x12,
2076	0xe3, 0xb0, 0x3b, 0x1c, 0x52, 0x16, 0x06, 0xf1, 0xb9, 0x46, 0x78, 0x23, 0x82, 0xf1, 0x1d, 0x58,
2077	0x0d, 0x7d, 0x62, 0x3b, 0x13, 0xdc, 0x9c, 0xe0, 0xa2, 0x58, 0x90, 0x90, 0x77, 0xe1, 0x52, 0x6c,
2078	0xd7, 0xa2, 0x21, 0x31, 0x4f, 0xa9, 0x35, 0x56, 0x2a, 0x88, 0x4b, 0xb5, 0x8b, 0x11, 0xa1, 0x19,
2079	0xc9, 0x63, 0xdd, 0xda, 0x3f, 0x14, 0x58, 0x8d, 0x07, 0x78, 0x2b, 0x09, 0xd6, 0x01, 0x00, 0x61,
2080	0xcc, 0x0d, 0xd3, 0xe1, 0x9a, 0x4d, 0xe5, 0x19, 0xbd, 0xed, 0x7a, 0xa2, 0xa4, 0xa7, 0x0c, 0x6c,
2081	0x0c, 0x01, 0xc6, 0x92, 0x85, 0x61, 0xbb, 0x0a, 0xe5, 0xe8, 0x52, 0x5b, 0xfc, 0x67, 0x44, 0x7e,
2082	0xf5, 0x81, 0x84, 0xf8, 0xa4, 0x8f, 0xd7, 0x21, 0x7f, 0x42, 0x07, 0x36, 0x8b, 0xae, 0xda, 0xe4,
2083	0x22, 0xbe, 0xc0, 0xcb, 0x25, 0x17, 0x78, 0x7b, 0xbf, 0x80, 0x35, 0xd3, 0x1d, 0x4e, 0xbb, 0xbb,
2084	0x87, 0xa6, 0xbe, 0x3c, 0x83, 0x4f, 0x94, 0xcf, 0x60, 0x3c, 0x9d, 0xfd, 0x49, 0x51, 0xbe, 0xc8,
2085	0x64, 0xf7, 0xbb, 0x7b, 0x7f, 0xce, 0x6c, 0xec, 0x4b, 0xd5, 0x6e, 0xbc, 0x53, 0x9d, 0xf6, 0x1d,
2086	0x6a, 0x72, 0xef, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0xd0, 0xf2, 0xf3, 0xa9, 0xf1, 0x19, 0x00,
2087	0x00,
2088}
2089