...

Source file src/github.com/gogo/protobuf/protoc-gen-gogo/descriptor/descriptor.pb.go

Documentation: github.com/gogo/protobuf/protoc-gen-gogo/descriptor

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: descriptor.proto
     3  
     4  package descriptor
     5  
     6  import (
     7  	fmt "fmt"
     8  	proto "github.com/gogo/protobuf/proto"
     9  	math "math"
    10  )
    11  
    12  // Reference imports to suppress errors if they are not otherwise used.
    13  var _ = proto.Marshal
    14  var _ = fmt.Errorf
    15  var _ = math.Inf
    16  
    17  // This is a compile-time assertion to ensure that this generated file
    18  // is compatible with the proto package it is being compiled against.
    19  // A compilation error at this line likely means your copy of the
    20  // proto package needs to be updated.
    21  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    22  
    23  type FieldDescriptorProto_Type int32
    24  
    25  const (
    26  	// 0 is reserved for errors.
    27  	// Order is weird for historical reasons.
    28  	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
    29  	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
    30  	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
    31  	// negative values are likely.
    32  	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
    33  	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
    34  	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
    35  	// negative values are likely.
    36  	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
    37  	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
    38  	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
    39  	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
    40  	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
    41  	// Tag-delimited aggregate.
    42  	// Group type is deprecated and not supported in proto3. However, Proto3
    43  	// implementations should still be able to parse the group wire format and
    44  	// treat group fields as unknown fields.
    45  	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
    46  	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
    47  	// New in version 2.
    48  	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
    49  	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
    50  	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
    51  	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
    52  	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
    53  	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
    54  	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
    55  )
    56  
    57  var FieldDescriptorProto_Type_name = map[int32]string{
    58  	1:  "TYPE_DOUBLE",
    59  	2:  "TYPE_FLOAT",
    60  	3:  "TYPE_INT64",
    61  	4:  "TYPE_UINT64",
    62  	5:  "TYPE_INT32",
    63  	6:  "TYPE_FIXED64",
    64  	7:  "TYPE_FIXED32",
    65  	8:  "TYPE_BOOL",
    66  	9:  "TYPE_STRING",
    67  	10: "TYPE_GROUP",
    68  	11: "TYPE_MESSAGE",
    69  	12: "TYPE_BYTES",
    70  	13: "TYPE_UINT32",
    71  	14: "TYPE_ENUM",
    72  	15: "TYPE_SFIXED32",
    73  	16: "TYPE_SFIXED64",
    74  	17: "TYPE_SINT32",
    75  	18: "TYPE_SINT64",
    76  }
    77  
    78  var FieldDescriptorProto_Type_value = map[string]int32{
    79  	"TYPE_DOUBLE":   1,
    80  	"TYPE_FLOAT":    2,
    81  	"TYPE_INT64":    3,
    82  	"TYPE_UINT64":   4,
    83  	"TYPE_INT32":    5,
    84  	"TYPE_FIXED64":  6,
    85  	"TYPE_FIXED32":  7,
    86  	"TYPE_BOOL":     8,
    87  	"TYPE_STRING":   9,
    88  	"TYPE_GROUP":    10,
    89  	"TYPE_MESSAGE":  11,
    90  	"TYPE_BYTES":    12,
    91  	"TYPE_UINT32":   13,
    92  	"TYPE_ENUM":     14,
    93  	"TYPE_SFIXED32": 15,
    94  	"TYPE_SFIXED64": 16,
    95  	"TYPE_SINT32":   17,
    96  	"TYPE_SINT64":   18,
    97  }
    98  
    99  func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
   100  	p := new(FieldDescriptorProto_Type)
   101  	*p = x
   102  	return p
   103  }
   104  
   105  func (x FieldDescriptorProto_Type) String() string {
   106  	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
   107  }
   108  
   109  func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
   110  	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
   111  	if err != nil {
   112  		return err
   113  	}
   114  	*x = FieldDescriptorProto_Type(value)
   115  	return nil
   116  }
   117  
   118  func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) {
   119  	return fileDescriptor_308767df5ffe18af, []int{4, 0}
   120  }
   121  
   122  type FieldDescriptorProto_Label int32
   123  
   124  const (
   125  	// 0 is reserved for errors
   126  	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
   127  	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
   128  	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
   129  )
   130  
   131  var FieldDescriptorProto_Label_name = map[int32]string{
   132  	1: "LABEL_OPTIONAL",
   133  	2: "LABEL_REQUIRED",
   134  	3: "LABEL_REPEATED",
   135  }
   136  
   137  var FieldDescriptorProto_Label_value = map[string]int32{
   138  	"LABEL_OPTIONAL": 1,
   139  	"LABEL_REQUIRED": 2,
   140  	"LABEL_REPEATED": 3,
   141  }
   142  
   143  func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
   144  	p := new(FieldDescriptorProto_Label)
   145  	*p = x
   146  	return p
   147  }
   148  
   149  func (x FieldDescriptorProto_Label) String() string {
   150  	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
   151  }
   152  
   153  func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
   154  	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
   155  	if err != nil {
   156  		return err
   157  	}
   158  	*x = FieldDescriptorProto_Label(value)
   159  	return nil
   160  }
   161  
   162  func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
   163  	return fileDescriptor_308767df5ffe18af, []int{4, 1}
   164  }
   165  
   166  // Generated classes can be optimized for speed or code size.
   167  type FileOptions_OptimizeMode int32
   168  
   169  const (
   170  	FileOptions_SPEED FileOptions_OptimizeMode = 1
   171  	// etc.
   172  	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
   173  	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
   174  )
   175  
   176  var FileOptions_OptimizeMode_name = map[int32]string{
   177  	1: "SPEED",
   178  	2: "CODE_SIZE",
   179  	3: "LITE_RUNTIME",
   180  }
   181  
   182  var FileOptions_OptimizeMode_value = map[string]int32{
   183  	"SPEED":        1,
   184  	"CODE_SIZE":    2,
   185  	"LITE_RUNTIME": 3,
   186  }
   187  
   188  func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
   189  	p := new(FileOptions_OptimizeMode)
   190  	*p = x
   191  	return p
   192  }
   193  
   194  func (x FileOptions_OptimizeMode) String() string {
   195  	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
   196  }
   197  
   198  func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
   199  	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
   200  	if err != nil {
   201  		return err
   202  	}
   203  	*x = FileOptions_OptimizeMode(value)
   204  	return nil
   205  }
   206  
   207  func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) {
   208  	return fileDescriptor_308767df5ffe18af, []int{10, 0}
   209  }
   210  
   211  type FieldOptions_CType int32
   212  
   213  const (
   214  	// Default mode.
   215  	FieldOptions_STRING       FieldOptions_CType = 0
   216  	FieldOptions_CORD         FieldOptions_CType = 1
   217  	FieldOptions_STRING_PIECE FieldOptions_CType = 2
   218  )
   219  
   220  var FieldOptions_CType_name = map[int32]string{
   221  	0: "STRING",
   222  	1: "CORD",
   223  	2: "STRING_PIECE",
   224  }
   225  
   226  var FieldOptions_CType_value = map[string]int32{
   227  	"STRING":       0,
   228  	"CORD":         1,
   229  	"STRING_PIECE": 2,
   230  }
   231  
   232  func (x FieldOptions_CType) Enum() *FieldOptions_CType {
   233  	p := new(FieldOptions_CType)
   234  	*p = x
   235  	return p
   236  }
   237  
   238  func (x FieldOptions_CType) String() string {
   239  	return proto.EnumName(FieldOptions_CType_name, int32(x))
   240  }
   241  
   242  func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
   243  	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
   244  	if err != nil {
   245  		return err
   246  	}
   247  	*x = FieldOptions_CType(value)
   248  	return nil
   249  }
   250  
   251  func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) {
   252  	return fileDescriptor_308767df5ffe18af, []int{12, 0}
   253  }
   254  
   255  type FieldOptions_JSType int32
   256  
   257  const (
   258  	// Use the default type.
   259  	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
   260  	// Use JavaScript strings.
   261  	FieldOptions_JS_STRING FieldOptions_JSType = 1
   262  	// Use JavaScript numbers.
   263  	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
   264  )
   265  
   266  var FieldOptions_JSType_name = map[int32]string{
   267  	0: "JS_NORMAL",
   268  	1: "JS_STRING",
   269  	2: "JS_NUMBER",
   270  }
   271  
   272  var FieldOptions_JSType_value = map[string]int32{
   273  	"JS_NORMAL": 0,
   274  	"JS_STRING": 1,
   275  	"JS_NUMBER": 2,
   276  }
   277  
   278  func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
   279  	p := new(FieldOptions_JSType)
   280  	*p = x
   281  	return p
   282  }
   283  
   284  func (x FieldOptions_JSType) String() string {
   285  	return proto.EnumName(FieldOptions_JSType_name, int32(x))
   286  }
   287  
   288  func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
   289  	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
   290  	if err != nil {
   291  		return err
   292  	}
   293  	*x = FieldOptions_JSType(value)
   294  	return nil
   295  }
   296  
   297  func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) {
   298  	return fileDescriptor_308767df5ffe18af, []int{12, 1}
   299  }
   300  
   301  // Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
   302  // or neither? HTTP based RPC implementation may choose GET verb for safe
   303  // methods, and PUT verb for idempotent methods instead of the default POST.
   304  type MethodOptions_IdempotencyLevel int32
   305  
   306  const (
   307  	MethodOptions_IDEMPOTENCY_UNKNOWN MethodOptions_IdempotencyLevel = 0
   308  	MethodOptions_NO_SIDE_EFFECTS     MethodOptions_IdempotencyLevel = 1
   309  	MethodOptions_IDEMPOTENT          MethodOptions_IdempotencyLevel = 2
   310  )
   311  
   312  var MethodOptions_IdempotencyLevel_name = map[int32]string{
   313  	0: "IDEMPOTENCY_UNKNOWN",
   314  	1: "NO_SIDE_EFFECTS",
   315  	2: "IDEMPOTENT",
   316  }
   317  
   318  var MethodOptions_IdempotencyLevel_value = map[string]int32{
   319  	"IDEMPOTENCY_UNKNOWN": 0,
   320  	"NO_SIDE_EFFECTS":     1,
   321  	"IDEMPOTENT":          2,
   322  }
   323  
   324  func (x MethodOptions_IdempotencyLevel) Enum() *MethodOptions_IdempotencyLevel {
   325  	p := new(MethodOptions_IdempotencyLevel)
   326  	*p = x
   327  	return p
   328  }
   329  
   330  func (x MethodOptions_IdempotencyLevel) String() string {
   331  	return proto.EnumName(MethodOptions_IdempotencyLevel_name, int32(x))
   332  }
   333  
   334  func (x *MethodOptions_IdempotencyLevel) UnmarshalJSON(data []byte) error {
   335  	value, err := proto.UnmarshalJSONEnum(MethodOptions_IdempotencyLevel_value, data, "MethodOptions_IdempotencyLevel")
   336  	if err != nil {
   337  		return err
   338  	}
   339  	*x = MethodOptions_IdempotencyLevel(value)
   340  	return nil
   341  }
   342  
   343  func (MethodOptions_IdempotencyLevel) EnumDescriptor() ([]byte, []int) {
   344  	return fileDescriptor_308767df5ffe18af, []int{17, 0}
   345  }
   346  
   347  // The protocol compiler can output a FileDescriptorSet containing the .proto
   348  // files it parses.
   349  type FileDescriptorSet struct {
   350  	File                 []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
   351  	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
   352  	XXX_unrecognized     []byte                 `json:"-"`
   353  	XXX_sizecache        int32                  `json:"-"`
   354  }
   355  
   356  func (m *FileDescriptorSet) Reset()         { *m = FileDescriptorSet{} }
   357  func (m *FileDescriptorSet) String() string { return proto.CompactTextString(m) }
   358  func (*FileDescriptorSet) ProtoMessage()    {}
   359  func (*FileDescriptorSet) Descriptor() ([]byte, []int) {
   360  	return fileDescriptor_308767df5ffe18af, []int{0}
   361  }
   362  func (m *FileDescriptorSet) XXX_Unmarshal(b []byte) error {
   363  	return xxx_messageInfo_FileDescriptorSet.Unmarshal(m, b)
   364  }
   365  func (m *FileDescriptorSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   366  	return xxx_messageInfo_FileDescriptorSet.Marshal(b, m, deterministic)
   367  }
   368  func (m *FileDescriptorSet) XXX_Merge(src proto.Message) {
   369  	xxx_messageInfo_FileDescriptorSet.Merge(m, src)
   370  }
   371  func (m *FileDescriptorSet) XXX_Size() int {
   372  	return xxx_messageInfo_FileDescriptorSet.Size(m)
   373  }
   374  func (m *FileDescriptorSet) XXX_DiscardUnknown() {
   375  	xxx_messageInfo_FileDescriptorSet.DiscardUnknown(m)
   376  }
   377  
   378  var xxx_messageInfo_FileDescriptorSet proto.InternalMessageInfo
   379  
   380  func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
   381  	if m != nil {
   382  		return m.File
   383  	}
   384  	return nil
   385  }
   386  
   387  // Describes a complete .proto file.
   388  type FileDescriptorProto struct {
   389  	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   390  	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
   391  	// Names of files imported by this file.
   392  	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
   393  	// Indexes of the public imported files in the dependency list above.
   394  	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
   395  	// Indexes of the weak imported files in the dependency list.
   396  	// For Google-internal migration only. Do not use.
   397  	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
   398  	// All top-level definitions in this file.
   399  	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
   400  	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
   401  	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
   402  	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
   403  	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
   404  	// This field contains optional information about the original source code.
   405  	// You may safely remove this entire field without harming runtime
   406  	// functionality of the descriptors -- the information is needed only by
   407  	// development tools.
   408  	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
   409  	// The syntax of the proto file.
   410  	// The supported values are "proto2" and "proto3".
   411  	Syntax               *string  `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
   412  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   413  	XXX_unrecognized     []byte   `json:"-"`
   414  	XXX_sizecache        int32    `json:"-"`
   415  }
   416  
   417  func (m *FileDescriptorProto) Reset()         { *m = FileDescriptorProto{} }
   418  func (m *FileDescriptorProto) String() string { return proto.CompactTextString(m) }
   419  func (*FileDescriptorProto) ProtoMessage()    {}
   420  func (*FileDescriptorProto) Descriptor() ([]byte, []int) {
   421  	return fileDescriptor_308767df5ffe18af, []int{1}
   422  }
   423  func (m *FileDescriptorProto) XXX_Unmarshal(b []byte) error {
   424  	return xxx_messageInfo_FileDescriptorProto.Unmarshal(m, b)
   425  }
   426  func (m *FileDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   427  	return xxx_messageInfo_FileDescriptorProto.Marshal(b, m, deterministic)
   428  }
   429  func (m *FileDescriptorProto) XXX_Merge(src proto.Message) {
   430  	xxx_messageInfo_FileDescriptorProto.Merge(m, src)
   431  }
   432  func (m *FileDescriptorProto) XXX_Size() int {
   433  	return xxx_messageInfo_FileDescriptorProto.Size(m)
   434  }
   435  func (m *FileDescriptorProto) XXX_DiscardUnknown() {
   436  	xxx_messageInfo_FileDescriptorProto.DiscardUnknown(m)
   437  }
   438  
   439  var xxx_messageInfo_FileDescriptorProto proto.InternalMessageInfo
   440  
   441  func (m *FileDescriptorProto) GetName() string {
   442  	if m != nil && m.Name != nil {
   443  		return *m.Name
   444  	}
   445  	return ""
   446  }
   447  
   448  func (m *FileDescriptorProto) GetPackage() string {
   449  	if m != nil && m.Package != nil {
   450  		return *m.Package
   451  	}
   452  	return ""
   453  }
   454  
   455  func (m *FileDescriptorProto) GetDependency() []string {
   456  	if m != nil {
   457  		return m.Dependency
   458  	}
   459  	return nil
   460  }
   461  
   462  func (m *FileDescriptorProto) GetPublicDependency() []int32 {
   463  	if m != nil {
   464  		return m.PublicDependency
   465  	}
   466  	return nil
   467  }
   468  
   469  func (m *FileDescriptorProto) GetWeakDependency() []int32 {
   470  	if m != nil {
   471  		return m.WeakDependency
   472  	}
   473  	return nil
   474  }
   475  
   476  func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
   477  	if m != nil {
   478  		return m.MessageType
   479  	}
   480  	return nil
   481  }
   482  
   483  func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
   484  	if m != nil {
   485  		return m.EnumType
   486  	}
   487  	return nil
   488  }
   489  
   490  func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
   491  	if m != nil {
   492  		return m.Service
   493  	}
   494  	return nil
   495  }
   496  
   497  func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
   498  	if m != nil {
   499  		return m.Extension
   500  	}
   501  	return nil
   502  }
   503  
   504  func (m *FileDescriptorProto) GetOptions() *FileOptions {
   505  	if m != nil {
   506  		return m.Options
   507  	}
   508  	return nil
   509  }
   510  
   511  func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
   512  	if m != nil {
   513  		return m.SourceCodeInfo
   514  	}
   515  	return nil
   516  }
   517  
   518  func (m *FileDescriptorProto) GetSyntax() string {
   519  	if m != nil && m.Syntax != nil {
   520  		return *m.Syntax
   521  	}
   522  	return ""
   523  }
   524  
   525  // Describes a message type.
   526  type DescriptorProto struct {
   527  	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   528  	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
   529  	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
   530  	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
   531  	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
   532  	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
   533  	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
   534  	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
   535  	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
   536  	// Reserved field names, which may not be used by fields in the same message.
   537  	// A given name may only be reserved once.
   538  	ReservedName         []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
   539  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   540  	XXX_unrecognized     []byte   `json:"-"`
   541  	XXX_sizecache        int32    `json:"-"`
   542  }
   543  
   544  func (m *DescriptorProto) Reset()         { *m = DescriptorProto{} }
   545  func (m *DescriptorProto) String() string { return proto.CompactTextString(m) }
   546  func (*DescriptorProto) ProtoMessage()    {}
   547  func (*DescriptorProto) Descriptor() ([]byte, []int) {
   548  	return fileDescriptor_308767df5ffe18af, []int{2}
   549  }
   550  func (m *DescriptorProto) XXX_Unmarshal(b []byte) error {
   551  	return xxx_messageInfo_DescriptorProto.Unmarshal(m, b)
   552  }
   553  func (m *DescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   554  	return xxx_messageInfo_DescriptorProto.Marshal(b, m, deterministic)
   555  }
   556  func (m *DescriptorProto) XXX_Merge(src proto.Message) {
   557  	xxx_messageInfo_DescriptorProto.Merge(m, src)
   558  }
   559  func (m *DescriptorProto) XXX_Size() int {
   560  	return xxx_messageInfo_DescriptorProto.Size(m)
   561  }
   562  func (m *DescriptorProto) XXX_DiscardUnknown() {
   563  	xxx_messageInfo_DescriptorProto.DiscardUnknown(m)
   564  }
   565  
   566  var xxx_messageInfo_DescriptorProto proto.InternalMessageInfo
   567  
   568  func (m *DescriptorProto) GetName() string {
   569  	if m != nil && m.Name != nil {
   570  		return *m.Name
   571  	}
   572  	return ""
   573  }
   574  
   575  func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
   576  	if m != nil {
   577  		return m.Field
   578  	}
   579  	return nil
   580  }
   581  
   582  func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
   583  	if m != nil {
   584  		return m.Extension
   585  	}
   586  	return nil
   587  }
   588  
   589  func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
   590  	if m != nil {
   591  		return m.NestedType
   592  	}
   593  	return nil
   594  }
   595  
   596  func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
   597  	if m != nil {
   598  		return m.EnumType
   599  	}
   600  	return nil
   601  }
   602  
   603  func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
   604  	if m != nil {
   605  		return m.ExtensionRange
   606  	}
   607  	return nil
   608  }
   609  
   610  func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
   611  	if m != nil {
   612  		return m.OneofDecl
   613  	}
   614  	return nil
   615  }
   616  
   617  func (m *DescriptorProto) GetOptions() *MessageOptions {
   618  	if m != nil {
   619  		return m.Options
   620  	}
   621  	return nil
   622  }
   623  
   624  func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
   625  	if m != nil {
   626  		return m.ReservedRange
   627  	}
   628  	return nil
   629  }
   630  
   631  func (m *DescriptorProto) GetReservedName() []string {
   632  	if m != nil {
   633  		return m.ReservedName
   634  	}
   635  	return nil
   636  }
   637  
   638  type DescriptorProto_ExtensionRange struct {
   639  	Start                *int32                 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
   640  	End                  *int32                 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
   641  	Options              *ExtensionRangeOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
   642  	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
   643  	XXX_unrecognized     []byte                 `json:"-"`
   644  	XXX_sizecache        int32                  `json:"-"`
   645  }
   646  
   647  func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
   648  func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
   649  func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
   650  func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
   651  	return fileDescriptor_308767df5ffe18af, []int{2, 0}
   652  }
   653  func (m *DescriptorProto_ExtensionRange) XXX_Unmarshal(b []byte) error {
   654  	return xxx_messageInfo_DescriptorProto_ExtensionRange.Unmarshal(m, b)
   655  }
   656  func (m *DescriptorProto_ExtensionRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   657  	return xxx_messageInfo_DescriptorProto_ExtensionRange.Marshal(b, m, deterministic)
   658  }
   659  func (m *DescriptorProto_ExtensionRange) XXX_Merge(src proto.Message) {
   660  	xxx_messageInfo_DescriptorProto_ExtensionRange.Merge(m, src)
   661  }
   662  func (m *DescriptorProto_ExtensionRange) XXX_Size() int {
   663  	return xxx_messageInfo_DescriptorProto_ExtensionRange.Size(m)
   664  }
   665  func (m *DescriptorProto_ExtensionRange) XXX_DiscardUnknown() {
   666  	xxx_messageInfo_DescriptorProto_ExtensionRange.DiscardUnknown(m)
   667  }
   668  
   669  var xxx_messageInfo_DescriptorProto_ExtensionRange proto.InternalMessageInfo
   670  
   671  func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
   672  	if m != nil && m.Start != nil {
   673  		return *m.Start
   674  	}
   675  	return 0
   676  }
   677  
   678  func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
   679  	if m != nil && m.End != nil {
   680  		return *m.End
   681  	}
   682  	return 0
   683  }
   684  
   685  func (m *DescriptorProto_ExtensionRange) GetOptions() *ExtensionRangeOptions {
   686  	if m != nil {
   687  		return m.Options
   688  	}
   689  	return nil
   690  }
   691  
   692  // Range of reserved tag numbers. Reserved tag numbers may not be used by
   693  // fields or extension ranges in the same message. Reserved ranges may
   694  // not overlap.
   695  type DescriptorProto_ReservedRange struct {
   696  	Start                *int32   `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
   697  	End                  *int32   `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
   698  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   699  	XXX_unrecognized     []byte   `json:"-"`
   700  	XXX_sizecache        int32    `json:"-"`
   701  }
   702  
   703  func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
   704  func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
   705  func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
   706  func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
   707  	return fileDescriptor_308767df5ffe18af, []int{2, 1}
   708  }
   709  func (m *DescriptorProto_ReservedRange) XXX_Unmarshal(b []byte) error {
   710  	return xxx_messageInfo_DescriptorProto_ReservedRange.Unmarshal(m, b)
   711  }
   712  func (m *DescriptorProto_ReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   713  	return xxx_messageInfo_DescriptorProto_ReservedRange.Marshal(b, m, deterministic)
   714  }
   715  func (m *DescriptorProto_ReservedRange) XXX_Merge(src proto.Message) {
   716  	xxx_messageInfo_DescriptorProto_ReservedRange.Merge(m, src)
   717  }
   718  func (m *DescriptorProto_ReservedRange) XXX_Size() int {
   719  	return xxx_messageInfo_DescriptorProto_ReservedRange.Size(m)
   720  }
   721  func (m *DescriptorProto_ReservedRange) XXX_DiscardUnknown() {
   722  	xxx_messageInfo_DescriptorProto_ReservedRange.DiscardUnknown(m)
   723  }
   724  
   725  var xxx_messageInfo_DescriptorProto_ReservedRange proto.InternalMessageInfo
   726  
   727  func (m *DescriptorProto_ReservedRange) GetStart() int32 {
   728  	if m != nil && m.Start != nil {
   729  		return *m.Start
   730  	}
   731  	return 0
   732  }
   733  
   734  func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
   735  	if m != nil && m.End != nil {
   736  		return *m.End
   737  	}
   738  	return 0
   739  }
   740  
   741  type ExtensionRangeOptions struct {
   742  	// The parser stores options it doesn't recognize here. See above.
   743  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
   744  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
   745  	proto.XXX_InternalExtensions `json:"-"`
   746  	XXX_unrecognized             []byte `json:"-"`
   747  	XXX_sizecache                int32  `json:"-"`
   748  }
   749  
   750  func (m *ExtensionRangeOptions) Reset()         { *m = ExtensionRangeOptions{} }
   751  func (m *ExtensionRangeOptions) String() string { return proto.CompactTextString(m) }
   752  func (*ExtensionRangeOptions) ProtoMessage()    {}
   753  func (*ExtensionRangeOptions) Descriptor() ([]byte, []int) {
   754  	return fileDescriptor_308767df5ffe18af, []int{3}
   755  }
   756  
   757  var extRange_ExtensionRangeOptions = []proto.ExtensionRange{
   758  	{Start: 1000, End: 536870911},
   759  }
   760  
   761  func (*ExtensionRangeOptions) ExtensionRangeArray() []proto.ExtensionRange {
   762  	return extRange_ExtensionRangeOptions
   763  }
   764  
   765  func (m *ExtensionRangeOptions) XXX_Unmarshal(b []byte) error {
   766  	return xxx_messageInfo_ExtensionRangeOptions.Unmarshal(m, b)
   767  }
   768  func (m *ExtensionRangeOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   769  	return xxx_messageInfo_ExtensionRangeOptions.Marshal(b, m, deterministic)
   770  }
   771  func (m *ExtensionRangeOptions) XXX_Merge(src proto.Message) {
   772  	xxx_messageInfo_ExtensionRangeOptions.Merge(m, src)
   773  }
   774  func (m *ExtensionRangeOptions) XXX_Size() int {
   775  	return xxx_messageInfo_ExtensionRangeOptions.Size(m)
   776  }
   777  func (m *ExtensionRangeOptions) XXX_DiscardUnknown() {
   778  	xxx_messageInfo_ExtensionRangeOptions.DiscardUnknown(m)
   779  }
   780  
   781  var xxx_messageInfo_ExtensionRangeOptions proto.InternalMessageInfo
   782  
   783  func (m *ExtensionRangeOptions) GetUninterpretedOption() []*UninterpretedOption {
   784  	if m != nil {
   785  		return m.UninterpretedOption
   786  	}
   787  	return nil
   788  }
   789  
   790  // Describes a field within a message.
   791  type FieldDescriptorProto struct {
   792  	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   793  	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
   794  	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
   795  	// If type_name is set, this need not be set.  If both this and type_name
   796  	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
   797  	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
   798  	// For message and enum types, this is the name of the type.  If the name
   799  	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
   800  	// rules are used to find the type (i.e. first the nested types within this
   801  	// message are searched, then within the parent, on up to the root
   802  	// namespace).
   803  	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
   804  	// For extensions, this is the name of the type being extended.  It is
   805  	// resolved in the same manner as type_name.
   806  	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
   807  	// For numeric types, contains the original text representation of the value.
   808  	// For booleans, "true" or "false".
   809  	// For strings, contains the default text contents (not escaped in any way).
   810  	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
   811  	// TODO(kenton):  Base-64 encode?
   812  	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
   813  	// If set, gives the index of a oneof in the containing type's oneof_decl
   814  	// list.  This field is a member of that oneof.
   815  	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
   816  	// JSON name of this field. The value is set by protocol compiler. If the
   817  	// user has set a "json_name" option on this field, that option's value
   818  	// will be used. Otherwise, it's deduced from the field's name by converting
   819  	// it to camelCase.
   820  	JsonName             *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
   821  	Options              *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
   822  	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
   823  	XXX_unrecognized     []byte        `json:"-"`
   824  	XXX_sizecache        int32         `json:"-"`
   825  }
   826  
   827  func (m *FieldDescriptorProto) Reset()         { *m = FieldDescriptorProto{} }
   828  func (m *FieldDescriptorProto) String() string { return proto.CompactTextString(m) }
   829  func (*FieldDescriptorProto) ProtoMessage()    {}
   830  func (*FieldDescriptorProto) Descriptor() ([]byte, []int) {
   831  	return fileDescriptor_308767df5ffe18af, []int{4}
   832  }
   833  func (m *FieldDescriptorProto) XXX_Unmarshal(b []byte) error {
   834  	return xxx_messageInfo_FieldDescriptorProto.Unmarshal(m, b)
   835  }
   836  func (m *FieldDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   837  	return xxx_messageInfo_FieldDescriptorProto.Marshal(b, m, deterministic)
   838  }
   839  func (m *FieldDescriptorProto) XXX_Merge(src proto.Message) {
   840  	xxx_messageInfo_FieldDescriptorProto.Merge(m, src)
   841  }
   842  func (m *FieldDescriptorProto) XXX_Size() int {
   843  	return xxx_messageInfo_FieldDescriptorProto.Size(m)
   844  }
   845  func (m *FieldDescriptorProto) XXX_DiscardUnknown() {
   846  	xxx_messageInfo_FieldDescriptorProto.DiscardUnknown(m)
   847  }
   848  
   849  var xxx_messageInfo_FieldDescriptorProto proto.InternalMessageInfo
   850  
   851  func (m *FieldDescriptorProto) GetName() string {
   852  	if m != nil && m.Name != nil {
   853  		return *m.Name
   854  	}
   855  	return ""
   856  }
   857  
   858  func (m *FieldDescriptorProto) GetNumber() int32 {
   859  	if m != nil && m.Number != nil {
   860  		return *m.Number
   861  	}
   862  	return 0
   863  }
   864  
   865  func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
   866  	if m != nil && m.Label != nil {
   867  		return *m.Label
   868  	}
   869  	return FieldDescriptorProto_LABEL_OPTIONAL
   870  }
   871  
   872  func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
   873  	if m != nil && m.Type != nil {
   874  		return *m.Type
   875  	}
   876  	return FieldDescriptorProto_TYPE_DOUBLE
   877  }
   878  
   879  func (m *FieldDescriptorProto) GetTypeName() string {
   880  	if m != nil && m.TypeName != nil {
   881  		return *m.TypeName
   882  	}
   883  	return ""
   884  }
   885  
   886  func (m *FieldDescriptorProto) GetExtendee() string {
   887  	if m != nil && m.Extendee != nil {
   888  		return *m.Extendee
   889  	}
   890  	return ""
   891  }
   892  
   893  func (m *FieldDescriptorProto) GetDefaultValue() string {
   894  	if m != nil && m.DefaultValue != nil {
   895  		return *m.DefaultValue
   896  	}
   897  	return ""
   898  }
   899  
   900  func (m *FieldDescriptorProto) GetOneofIndex() int32 {
   901  	if m != nil && m.OneofIndex != nil {
   902  		return *m.OneofIndex
   903  	}
   904  	return 0
   905  }
   906  
   907  func (m *FieldDescriptorProto) GetJsonName() string {
   908  	if m != nil && m.JsonName != nil {
   909  		return *m.JsonName
   910  	}
   911  	return ""
   912  }
   913  
   914  func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
   915  	if m != nil {
   916  		return m.Options
   917  	}
   918  	return nil
   919  }
   920  
   921  // Describes a oneof.
   922  type OneofDescriptorProto struct {
   923  	Name                 *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   924  	Options              *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
   925  	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
   926  	XXX_unrecognized     []byte        `json:"-"`
   927  	XXX_sizecache        int32         `json:"-"`
   928  }
   929  
   930  func (m *OneofDescriptorProto) Reset()         { *m = OneofDescriptorProto{} }
   931  func (m *OneofDescriptorProto) String() string { return proto.CompactTextString(m) }
   932  func (*OneofDescriptorProto) ProtoMessage()    {}
   933  func (*OneofDescriptorProto) Descriptor() ([]byte, []int) {
   934  	return fileDescriptor_308767df5ffe18af, []int{5}
   935  }
   936  func (m *OneofDescriptorProto) XXX_Unmarshal(b []byte) error {
   937  	return xxx_messageInfo_OneofDescriptorProto.Unmarshal(m, b)
   938  }
   939  func (m *OneofDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   940  	return xxx_messageInfo_OneofDescriptorProto.Marshal(b, m, deterministic)
   941  }
   942  func (m *OneofDescriptorProto) XXX_Merge(src proto.Message) {
   943  	xxx_messageInfo_OneofDescriptorProto.Merge(m, src)
   944  }
   945  func (m *OneofDescriptorProto) XXX_Size() int {
   946  	return xxx_messageInfo_OneofDescriptorProto.Size(m)
   947  }
   948  func (m *OneofDescriptorProto) XXX_DiscardUnknown() {
   949  	xxx_messageInfo_OneofDescriptorProto.DiscardUnknown(m)
   950  }
   951  
   952  var xxx_messageInfo_OneofDescriptorProto proto.InternalMessageInfo
   953  
   954  func (m *OneofDescriptorProto) GetName() string {
   955  	if m != nil && m.Name != nil {
   956  		return *m.Name
   957  	}
   958  	return ""
   959  }
   960  
   961  func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
   962  	if m != nil {
   963  		return m.Options
   964  	}
   965  	return nil
   966  }
   967  
   968  // Describes an enum type.
   969  type EnumDescriptorProto struct {
   970  	Name    *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   971  	Value   []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
   972  	Options *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
   973  	// Range of reserved numeric values. Reserved numeric values may not be used
   974  	// by enum values in the same enum declaration. Reserved ranges may not
   975  	// overlap.
   976  	ReservedRange []*EnumDescriptorProto_EnumReservedRange `protobuf:"bytes,4,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
   977  	// Reserved enum value names, which may not be reused. A given name may only
   978  	// be reserved once.
   979  	ReservedName         []string `protobuf:"bytes,5,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
   980  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
   981  	XXX_unrecognized     []byte   `json:"-"`
   982  	XXX_sizecache        int32    `json:"-"`
   983  }
   984  
   985  func (m *EnumDescriptorProto) Reset()         { *m = EnumDescriptorProto{} }
   986  func (m *EnumDescriptorProto) String() string { return proto.CompactTextString(m) }
   987  func (*EnumDescriptorProto) ProtoMessage()    {}
   988  func (*EnumDescriptorProto) Descriptor() ([]byte, []int) {
   989  	return fileDescriptor_308767df5ffe18af, []int{6}
   990  }
   991  func (m *EnumDescriptorProto) XXX_Unmarshal(b []byte) error {
   992  	return xxx_messageInfo_EnumDescriptorProto.Unmarshal(m, b)
   993  }
   994  func (m *EnumDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   995  	return xxx_messageInfo_EnumDescriptorProto.Marshal(b, m, deterministic)
   996  }
   997  func (m *EnumDescriptorProto) XXX_Merge(src proto.Message) {
   998  	xxx_messageInfo_EnumDescriptorProto.Merge(m, src)
   999  }
  1000  func (m *EnumDescriptorProto) XXX_Size() int {
  1001  	return xxx_messageInfo_EnumDescriptorProto.Size(m)
  1002  }
  1003  func (m *EnumDescriptorProto) XXX_DiscardUnknown() {
  1004  	xxx_messageInfo_EnumDescriptorProto.DiscardUnknown(m)
  1005  }
  1006  
  1007  var xxx_messageInfo_EnumDescriptorProto proto.InternalMessageInfo
  1008  
  1009  func (m *EnumDescriptorProto) GetName() string {
  1010  	if m != nil && m.Name != nil {
  1011  		return *m.Name
  1012  	}
  1013  	return ""
  1014  }
  1015  
  1016  func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
  1017  	if m != nil {
  1018  		return m.Value
  1019  	}
  1020  	return nil
  1021  }
  1022  
  1023  func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
  1024  	if m != nil {
  1025  		return m.Options
  1026  	}
  1027  	return nil
  1028  }
  1029  
  1030  func (m *EnumDescriptorProto) GetReservedRange() []*EnumDescriptorProto_EnumReservedRange {
  1031  	if m != nil {
  1032  		return m.ReservedRange
  1033  	}
  1034  	return nil
  1035  }
  1036  
  1037  func (m *EnumDescriptorProto) GetReservedName() []string {
  1038  	if m != nil {
  1039  		return m.ReservedName
  1040  	}
  1041  	return nil
  1042  }
  1043  
  1044  // Range of reserved numeric values. Reserved values may not be used by
  1045  // entries in the same enum. Reserved ranges may not overlap.
  1046  //
  1047  // Note that this is distinct from DescriptorProto.ReservedRange in that it
  1048  // is inclusive such that it can appropriately represent the entire int32
  1049  // domain.
  1050  type EnumDescriptorProto_EnumReservedRange struct {
  1051  	Start                *int32   `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
  1052  	End                  *int32   `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
  1053  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1054  	XXX_unrecognized     []byte   `json:"-"`
  1055  	XXX_sizecache        int32    `json:"-"`
  1056  }
  1057  
  1058  func (m *EnumDescriptorProto_EnumReservedRange) Reset()         { *m = EnumDescriptorProto_EnumReservedRange{} }
  1059  func (m *EnumDescriptorProto_EnumReservedRange) String() string { return proto.CompactTextString(m) }
  1060  func (*EnumDescriptorProto_EnumReservedRange) ProtoMessage()    {}
  1061  func (*EnumDescriptorProto_EnumReservedRange) Descriptor() ([]byte, []int) {
  1062  	return fileDescriptor_308767df5ffe18af, []int{6, 0}
  1063  }
  1064  func (m *EnumDescriptorProto_EnumReservedRange) XXX_Unmarshal(b []byte) error {
  1065  	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Unmarshal(m, b)
  1066  }
  1067  func (m *EnumDescriptorProto_EnumReservedRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1068  	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Marshal(b, m, deterministic)
  1069  }
  1070  func (m *EnumDescriptorProto_EnumReservedRange) XXX_Merge(src proto.Message) {
  1071  	xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Merge(m, src)
  1072  }
  1073  func (m *EnumDescriptorProto_EnumReservedRange) XXX_Size() int {
  1074  	return xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.Size(m)
  1075  }
  1076  func (m *EnumDescriptorProto_EnumReservedRange) XXX_DiscardUnknown() {
  1077  	xxx_messageInfo_EnumDescriptorProto_EnumReservedRange.DiscardUnknown(m)
  1078  }
  1079  
  1080  var xxx_messageInfo_EnumDescriptorProto_EnumReservedRange proto.InternalMessageInfo
  1081  
  1082  func (m *EnumDescriptorProto_EnumReservedRange) GetStart() int32 {
  1083  	if m != nil && m.Start != nil {
  1084  		return *m.Start
  1085  	}
  1086  	return 0
  1087  }
  1088  
  1089  func (m *EnumDescriptorProto_EnumReservedRange) GetEnd() int32 {
  1090  	if m != nil && m.End != nil {
  1091  		return *m.End
  1092  	}
  1093  	return 0
  1094  }
  1095  
  1096  // Describes a value within an enum.
  1097  type EnumValueDescriptorProto struct {
  1098  	Name                 *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  1099  	Number               *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
  1100  	Options              *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
  1101  	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
  1102  	XXX_unrecognized     []byte            `json:"-"`
  1103  	XXX_sizecache        int32             `json:"-"`
  1104  }
  1105  
  1106  func (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorProto{} }
  1107  func (m *EnumValueDescriptorProto) String() string { return proto.CompactTextString(m) }
  1108  func (*EnumValueDescriptorProto) ProtoMessage()    {}
  1109  func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) {
  1110  	return fileDescriptor_308767df5ffe18af, []int{7}
  1111  }
  1112  func (m *EnumValueDescriptorProto) XXX_Unmarshal(b []byte) error {
  1113  	return xxx_messageInfo_EnumValueDescriptorProto.Unmarshal(m, b)
  1114  }
  1115  func (m *EnumValueDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1116  	return xxx_messageInfo_EnumValueDescriptorProto.Marshal(b, m, deterministic)
  1117  }
  1118  func (m *EnumValueDescriptorProto) XXX_Merge(src proto.Message) {
  1119  	xxx_messageInfo_EnumValueDescriptorProto.Merge(m, src)
  1120  }
  1121  func (m *EnumValueDescriptorProto) XXX_Size() int {
  1122  	return xxx_messageInfo_EnumValueDescriptorProto.Size(m)
  1123  }
  1124  func (m *EnumValueDescriptorProto) XXX_DiscardUnknown() {
  1125  	xxx_messageInfo_EnumValueDescriptorProto.DiscardUnknown(m)
  1126  }
  1127  
  1128  var xxx_messageInfo_EnumValueDescriptorProto proto.InternalMessageInfo
  1129  
  1130  func (m *EnumValueDescriptorProto) GetName() string {
  1131  	if m != nil && m.Name != nil {
  1132  		return *m.Name
  1133  	}
  1134  	return ""
  1135  }
  1136  
  1137  func (m *EnumValueDescriptorProto) GetNumber() int32 {
  1138  	if m != nil && m.Number != nil {
  1139  		return *m.Number
  1140  	}
  1141  	return 0
  1142  }
  1143  
  1144  func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
  1145  	if m != nil {
  1146  		return m.Options
  1147  	}
  1148  	return nil
  1149  }
  1150  
  1151  // Describes a service.
  1152  type ServiceDescriptorProto struct {
  1153  	Name                 *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  1154  	Method               []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
  1155  	Options              *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
  1156  	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
  1157  	XXX_unrecognized     []byte                   `json:"-"`
  1158  	XXX_sizecache        int32                    `json:"-"`
  1159  }
  1160  
  1161  func (m *ServiceDescriptorProto) Reset()         { *m = ServiceDescriptorProto{} }
  1162  func (m *ServiceDescriptorProto) String() string { return proto.CompactTextString(m) }
  1163  func (*ServiceDescriptorProto) ProtoMessage()    {}
  1164  func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) {
  1165  	return fileDescriptor_308767df5ffe18af, []int{8}
  1166  }
  1167  func (m *ServiceDescriptorProto) XXX_Unmarshal(b []byte) error {
  1168  	return xxx_messageInfo_ServiceDescriptorProto.Unmarshal(m, b)
  1169  }
  1170  func (m *ServiceDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1171  	return xxx_messageInfo_ServiceDescriptorProto.Marshal(b, m, deterministic)
  1172  }
  1173  func (m *ServiceDescriptorProto) XXX_Merge(src proto.Message) {
  1174  	xxx_messageInfo_ServiceDescriptorProto.Merge(m, src)
  1175  }
  1176  func (m *ServiceDescriptorProto) XXX_Size() int {
  1177  	return xxx_messageInfo_ServiceDescriptorProto.Size(m)
  1178  }
  1179  func (m *ServiceDescriptorProto) XXX_DiscardUnknown() {
  1180  	xxx_messageInfo_ServiceDescriptorProto.DiscardUnknown(m)
  1181  }
  1182  
  1183  var xxx_messageInfo_ServiceDescriptorProto proto.InternalMessageInfo
  1184  
  1185  func (m *ServiceDescriptorProto) GetName() string {
  1186  	if m != nil && m.Name != nil {
  1187  		return *m.Name
  1188  	}
  1189  	return ""
  1190  }
  1191  
  1192  func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
  1193  	if m != nil {
  1194  		return m.Method
  1195  	}
  1196  	return nil
  1197  }
  1198  
  1199  func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
  1200  	if m != nil {
  1201  		return m.Options
  1202  	}
  1203  	return nil
  1204  }
  1205  
  1206  // Describes a method of a service.
  1207  type MethodDescriptorProto struct {
  1208  	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
  1209  	// Input and output type names.  These are resolved in the same way as
  1210  	// FieldDescriptorProto.type_name, but must refer to a message type.
  1211  	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
  1212  	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
  1213  	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
  1214  	// Identifies if client streams multiple client messages
  1215  	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
  1216  	// Identifies if server streams multiple server messages
  1217  	ServerStreaming      *bool    `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
  1218  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1219  	XXX_unrecognized     []byte   `json:"-"`
  1220  	XXX_sizecache        int32    `json:"-"`
  1221  }
  1222  
  1223  func (m *MethodDescriptorProto) Reset()         { *m = MethodDescriptorProto{} }
  1224  func (m *MethodDescriptorProto) String() string { return proto.CompactTextString(m) }
  1225  func (*MethodDescriptorProto) ProtoMessage()    {}
  1226  func (*MethodDescriptorProto) Descriptor() ([]byte, []int) {
  1227  	return fileDescriptor_308767df5ffe18af, []int{9}
  1228  }
  1229  func (m *MethodDescriptorProto) XXX_Unmarshal(b []byte) error {
  1230  	return xxx_messageInfo_MethodDescriptorProto.Unmarshal(m, b)
  1231  }
  1232  func (m *MethodDescriptorProto) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1233  	return xxx_messageInfo_MethodDescriptorProto.Marshal(b, m, deterministic)
  1234  }
  1235  func (m *MethodDescriptorProto) XXX_Merge(src proto.Message) {
  1236  	xxx_messageInfo_MethodDescriptorProto.Merge(m, src)
  1237  }
  1238  func (m *MethodDescriptorProto) XXX_Size() int {
  1239  	return xxx_messageInfo_MethodDescriptorProto.Size(m)
  1240  }
  1241  func (m *MethodDescriptorProto) XXX_DiscardUnknown() {
  1242  	xxx_messageInfo_MethodDescriptorProto.DiscardUnknown(m)
  1243  }
  1244  
  1245  var xxx_messageInfo_MethodDescriptorProto proto.InternalMessageInfo
  1246  
  1247  const Default_MethodDescriptorProto_ClientStreaming bool = false
  1248  const Default_MethodDescriptorProto_ServerStreaming bool = false
  1249  
  1250  func (m *MethodDescriptorProto) GetName() string {
  1251  	if m != nil && m.Name != nil {
  1252  		return *m.Name
  1253  	}
  1254  	return ""
  1255  }
  1256  
  1257  func (m *MethodDescriptorProto) GetInputType() string {
  1258  	if m != nil && m.InputType != nil {
  1259  		return *m.InputType
  1260  	}
  1261  	return ""
  1262  }
  1263  
  1264  func (m *MethodDescriptorProto) GetOutputType() string {
  1265  	if m != nil && m.OutputType != nil {
  1266  		return *m.OutputType
  1267  	}
  1268  	return ""
  1269  }
  1270  
  1271  func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
  1272  	if m != nil {
  1273  		return m.Options
  1274  	}
  1275  	return nil
  1276  }
  1277  
  1278  func (m *MethodDescriptorProto) GetClientStreaming() bool {
  1279  	if m != nil && m.ClientStreaming != nil {
  1280  		return *m.ClientStreaming
  1281  	}
  1282  	return Default_MethodDescriptorProto_ClientStreaming
  1283  }
  1284  
  1285  func (m *MethodDescriptorProto) GetServerStreaming() bool {
  1286  	if m != nil && m.ServerStreaming != nil {
  1287  		return *m.ServerStreaming
  1288  	}
  1289  	return Default_MethodDescriptorProto_ServerStreaming
  1290  }
  1291  
  1292  type FileOptions struct {
  1293  	// Sets the Java package where classes generated from this .proto will be
  1294  	// placed.  By default, the proto package is used, but this is often
  1295  	// inappropriate because proto packages do not normally start with backwards
  1296  	// domain names.
  1297  	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
  1298  	// If set, all the classes from the .proto file are wrapped in a single
  1299  	// outer class with the given name.  This applies to both Proto1
  1300  	// (equivalent to the old "--one_java_file" option) and Proto2 (where
  1301  	// a .proto always translates to a single class, but you may want to
  1302  	// explicitly choose the class name).
  1303  	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
  1304  	// If set true, then the Java code generator will generate a separate .java
  1305  	// file for each top-level message, enum, and service defined in the .proto
  1306  	// file.  Thus, these types will *not* be nested inside the outer class
  1307  	// named by java_outer_classname.  However, the outer class will still be
  1308  	// generated to contain the file's getDescriptor() method as well as any
  1309  	// top-level extensions defined in the file.
  1310  	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
  1311  	// This option does nothing.
  1312  	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"` // Deprecated: Do not use.
  1313  	// If set true, then the Java2 code generator will generate code that
  1314  	// throws an exception whenever an attempt is made to assign a non-UTF-8
  1315  	// byte sequence to a string field.
  1316  	// Message reflection will do the same.
  1317  	// However, an extension field still accepts non-UTF-8 byte sequences.
  1318  	// This option has no effect on when used with the lite runtime.
  1319  	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
  1320  	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
  1321  	// Sets the Go package where structs generated from this .proto will be
  1322  	// placed. If omitted, the Go package will be derived from the following:
  1323  	//   - The basename of the package import path, if provided.
  1324  	//   - Otherwise, the package statement in the .proto file, if present.
  1325  	//   - Otherwise, the basename of the .proto file, without extension.
  1326  	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
  1327  	// Should generic services be generated in each language?  "Generic" services
  1328  	// are not specific to any particular RPC system.  They are generated by the
  1329  	// main code generators in each language (without additional plugins).
  1330  	// Generic services were the only kind of service generation supported by
  1331  	// early versions of google.protobuf.
  1332  	//
  1333  	// Generic services are now considered deprecated in favor of using plugins
  1334  	// that generate code specific to your particular RPC system.  Therefore,
  1335  	// these default to false.  Old code which depends on generic services should
  1336  	// explicitly set them to true.
  1337  	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
  1338  	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
  1339  	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
  1340  	PhpGenericServices  *bool `protobuf:"varint,42,opt,name=php_generic_services,json=phpGenericServices,def=0" json:"php_generic_services,omitempty"`
  1341  	// Is this file deprecated?
  1342  	// Depending on the target platform, this can emit Deprecated annotations
  1343  	// for everything in the file, or it will be completely ignored; in the very
  1344  	// least, this is a formalization for deprecating files.
  1345  	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1346  	// Enables the use of arenas for the proto messages in this file. This applies
  1347  	// only to generated classes for C++.
  1348  	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
  1349  	// Sets the objective c class prefix which is prepended to all objective c
  1350  	// generated classes from this .proto. There is no default.
  1351  	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
  1352  	// Namespace for generated classes; defaults to the package.
  1353  	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
  1354  	// By default Swift generators will take the proto package and CamelCase it
  1355  	// replacing '.' with underscore and use that to prefix the types/symbols
  1356  	// defined. When this options is provided, they will use this value instead
  1357  	// to prefix the types/symbols defined.
  1358  	SwiftPrefix *string `protobuf:"bytes,39,opt,name=swift_prefix,json=swiftPrefix" json:"swift_prefix,omitempty"`
  1359  	// Sets the php class prefix which is prepended to all php generated classes
  1360  	// from this .proto. Default is empty.
  1361  	PhpClassPrefix *string `protobuf:"bytes,40,opt,name=php_class_prefix,json=phpClassPrefix" json:"php_class_prefix,omitempty"`
  1362  	// Use this option to change the namespace of php generated classes. Default
  1363  	// is empty. When this option is empty, the package name will be used for
  1364  	// determining the namespace.
  1365  	PhpNamespace *string `protobuf:"bytes,41,opt,name=php_namespace,json=phpNamespace" json:"php_namespace,omitempty"`
  1366  	// Use this option to change the namespace of php generated metadata classes.
  1367  	// Default is empty. When this option is empty, the proto file name will be
  1368  	// used for determining the namespace.
  1369  	PhpMetadataNamespace *string `protobuf:"bytes,44,opt,name=php_metadata_namespace,json=phpMetadataNamespace" json:"php_metadata_namespace,omitempty"`
  1370  	// Use this option to change the package of ruby generated classes. Default
  1371  	// is empty. When this option is not set, the package name will be used for
  1372  	// determining the ruby package.
  1373  	RubyPackage *string `protobuf:"bytes,45,opt,name=ruby_package,json=rubyPackage" json:"ruby_package,omitempty"`
  1374  	// The parser stores options it doesn't recognize here.
  1375  	// See the documentation for the "Options" section above.
  1376  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1377  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  1378  	proto.XXX_InternalExtensions `json:"-"`
  1379  	XXX_unrecognized             []byte `json:"-"`
  1380  	XXX_sizecache                int32  `json:"-"`
  1381  }
  1382  
  1383  func (m *FileOptions) Reset()         { *m = FileOptions{} }
  1384  func (m *FileOptions) String() string { return proto.CompactTextString(m) }
  1385  func (*FileOptions) ProtoMessage()    {}
  1386  func (*FileOptions) Descriptor() ([]byte, []int) {
  1387  	return fileDescriptor_308767df5ffe18af, []int{10}
  1388  }
  1389  
  1390  var extRange_FileOptions = []proto.ExtensionRange{
  1391  	{Start: 1000, End: 536870911},
  1392  }
  1393  
  1394  func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1395  	return extRange_FileOptions
  1396  }
  1397  
  1398  func (m *FileOptions) XXX_Unmarshal(b []byte) error {
  1399  	return xxx_messageInfo_FileOptions.Unmarshal(m, b)
  1400  }
  1401  func (m *FileOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1402  	return xxx_messageInfo_FileOptions.Marshal(b, m, deterministic)
  1403  }
  1404  func (m *FileOptions) XXX_Merge(src proto.Message) {
  1405  	xxx_messageInfo_FileOptions.Merge(m, src)
  1406  }
  1407  func (m *FileOptions) XXX_Size() int {
  1408  	return xxx_messageInfo_FileOptions.Size(m)
  1409  }
  1410  func (m *FileOptions) XXX_DiscardUnknown() {
  1411  	xxx_messageInfo_FileOptions.DiscardUnknown(m)
  1412  }
  1413  
  1414  var xxx_messageInfo_FileOptions proto.InternalMessageInfo
  1415  
  1416  const Default_FileOptions_JavaMultipleFiles bool = false
  1417  const Default_FileOptions_JavaStringCheckUtf8 bool = false
  1418  const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
  1419  const Default_FileOptions_CcGenericServices bool = false
  1420  const Default_FileOptions_JavaGenericServices bool = false
  1421  const Default_FileOptions_PyGenericServices bool = false
  1422  const Default_FileOptions_PhpGenericServices bool = false
  1423  const Default_FileOptions_Deprecated bool = false
  1424  const Default_FileOptions_CcEnableArenas bool = false
  1425  
  1426  func (m *FileOptions) GetJavaPackage() string {
  1427  	if m != nil && m.JavaPackage != nil {
  1428  		return *m.JavaPackage
  1429  	}
  1430  	return ""
  1431  }
  1432  
  1433  func (m *FileOptions) GetJavaOuterClassname() string {
  1434  	if m != nil && m.JavaOuterClassname != nil {
  1435  		return *m.JavaOuterClassname
  1436  	}
  1437  	return ""
  1438  }
  1439  
  1440  func (m *FileOptions) GetJavaMultipleFiles() bool {
  1441  	if m != nil && m.JavaMultipleFiles != nil {
  1442  		return *m.JavaMultipleFiles
  1443  	}
  1444  	return Default_FileOptions_JavaMultipleFiles
  1445  }
  1446  
  1447  // Deprecated: Do not use.
  1448  func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
  1449  	if m != nil && m.JavaGenerateEqualsAndHash != nil {
  1450  		return *m.JavaGenerateEqualsAndHash
  1451  	}
  1452  	return false
  1453  }
  1454  
  1455  func (m *FileOptions) GetJavaStringCheckUtf8() bool {
  1456  	if m != nil && m.JavaStringCheckUtf8 != nil {
  1457  		return *m.JavaStringCheckUtf8
  1458  	}
  1459  	return Default_FileOptions_JavaStringCheckUtf8
  1460  }
  1461  
  1462  func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
  1463  	if m != nil && m.OptimizeFor != nil {
  1464  		return *m.OptimizeFor
  1465  	}
  1466  	return Default_FileOptions_OptimizeFor
  1467  }
  1468  
  1469  func (m *FileOptions) GetGoPackage() string {
  1470  	if m != nil && m.GoPackage != nil {
  1471  		return *m.GoPackage
  1472  	}
  1473  	return ""
  1474  }
  1475  
  1476  func (m *FileOptions) GetCcGenericServices() bool {
  1477  	if m != nil && m.CcGenericServices != nil {
  1478  		return *m.CcGenericServices
  1479  	}
  1480  	return Default_FileOptions_CcGenericServices
  1481  }
  1482  
  1483  func (m *FileOptions) GetJavaGenericServices() bool {
  1484  	if m != nil && m.JavaGenericServices != nil {
  1485  		return *m.JavaGenericServices
  1486  	}
  1487  	return Default_FileOptions_JavaGenericServices
  1488  }
  1489  
  1490  func (m *FileOptions) GetPyGenericServices() bool {
  1491  	if m != nil && m.PyGenericServices != nil {
  1492  		return *m.PyGenericServices
  1493  	}
  1494  	return Default_FileOptions_PyGenericServices
  1495  }
  1496  
  1497  func (m *FileOptions) GetPhpGenericServices() bool {
  1498  	if m != nil && m.PhpGenericServices != nil {
  1499  		return *m.PhpGenericServices
  1500  	}
  1501  	return Default_FileOptions_PhpGenericServices
  1502  }
  1503  
  1504  func (m *FileOptions) GetDeprecated() bool {
  1505  	if m != nil && m.Deprecated != nil {
  1506  		return *m.Deprecated
  1507  	}
  1508  	return Default_FileOptions_Deprecated
  1509  }
  1510  
  1511  func (m *FileOptions) GetCcEnableArenas() bool {
  1512  	if m != nil && m.CcEnableArenas != nil {
  1513  		return *m.CcEnableArenas
  1514  	}
  1515  	return Default_FileOptions_CcEnableArenas
  1516  }
  1517  
  1518  func (m *FileOptions) GetObjcClassPrefix() string {
  1519  	if m != nil && m.ObjcClassPrefix != nil {
  1520  		return *m.ObjcClassPrefix
  1521  	}
  1522  	return ""
  1523  }
  1524  
  1525  func (m *FileOptions) GetCsharpNamespace() string {
  1526  	if m != nil && m.CsharpNamespace != nil {
  1527  		return *m.CsharpNamespace
  1528  	}
  1529  	return ""
  1530  }
  1531  
  1532  func (m *FileOptions) GetSwiftPrefix() string {
  1533  	if m != nil && m.SwiftPrefix != nil {
  1534  		return *m.SwiftPrefix
  1535  	}
  1536  	return ""
  1537  }
  1538  
  1539  func (m *FileOptions) GetPhpClassPrefix() string {
  1540  	if m != nil && m.PhpClassPrefix != nil {
  1541  		return *m.PhpClassPrefix
  1542  	}
  1543  	return ""
  1544  }
  1545  
  1546  func (m *FileOptions) GetPhpNamespace() string {
  1547  	if m != nil && m.PhpNamespace != nil {
  1548  		return *m.PhpNamespace
  1549  	}
  1550  	return ""
  1551  }
  1552  
  1553  func (m *FileOptions) GetPhpMetadataNamespace() string {
  1554  	if m != nil && m.PhpMetadataNamespace != nil {
  1555  		return *m.PhpMetadataNamespace
  1556  	}
  1557  	return ""
  1558  }
  1559  
  1560  func (m *FileOptions) GetRubyPackage() string {
  1561  	if m != nil && m.RubyPackage != nil {
  1562  		return *m.RubyPackage
  1563  	}
  1564  	return ""
  1565  }
  1566  
  1567  func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
  1568  	if m != nil {
  1569  		return m.UninterpretedOption
  1570  	}
  1571  	return nil
  1572  }
  1573  
  1574  type MessageOptions struct {
  1575  	// Set true to use the old proto1 MessageSet wire format for extensions.
  1576  	// This is provided for backwards-compatibility with the MessageSet wire
  1577  	// format.  You should not use this for any other reason:  It's less
  1578  	// efficient, has fewer features, and is more complicated.
  1579  	//
  1580  	// The message must be defined exactly as follows:
  1581  	//   message Foo {
  1582  	//     option message_set_wire_format = true;
  1583  	//     extensions 4 to max;
  1584  	//   }
  1585  	// Note that the message cannot have any defined fields; MessageSets only
  1586  	// have extensions.
  1587  	//
  1588  	// All extensions of your type must be singular messages; e.g. they cannot
  1589  	// be int32s, enums, or repeated messages.
  1590  	//
  1591  	// Because this is an option, the above two restrictions are not enforced by
  1592  	// the protocol compiler.
  1593  	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
  1594  	// Disables the generation of the standard "descriptor()" accessor, which can
  1595  	// conflict with a field of the same name.  This is meant to make migration
  1596  	// from proto1 easier; new code should avoid fields named "descriptor".
  1597  	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
  1598  	// Is this message deprecated?
  1599  	// Depending on the target platform, this can emit Deprecated annotations
  1600  	// for the message, or it will be completely ignored; in the very least,
  1601  	// this is a formalization for deprecating messages.
  1602  	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1603  	// Whether the message is an automatically generated map entry type for the
  1604  	// maps field.
  1605  	//
  1606  	// For maps fields:
  1607  	//     map<KeyType, ValueType> map_field = 1;
  1608  	// The parsed descriptor looks like:
  1609  	//     message MapFieldEntry {
  1610  	//         option map_entry = true;
  1611  	//         optional KeyType key = 1;
  1612  	//         optional ValueType value = 2;
  1613  	//     }
  1614  	//     repeated MapFieldEntry map_field = 1;
  1615  	//
  1616  	// Implementations may choose not to generate the map_entry=true message, but
  1617  	// use a native map in the target language to hold the keys and values.
  1618  	// The reflection APIs in such implementations still need to work as
  1619  	// if the field is a repeated message field.
  1620  	//
  1621  	// NOTE: Do not set the option in .proto files. Always use the maps syntax
  1622  	// instead. The option should only be implicitly set by the proto compiler
  1623  	// parser.
  1624  	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
  1625  	// The parser stores options it doesn't recognize here. See above.
  1626  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1627  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  1628  	proto.XXX_InternalExtensions `json:"-"`
  1629  	XXX_unrecognized             []byte `json:"-"`
  1630  	XXX_sizecache                int32  `json:"-"`
  1631  }
  1632  
  1633  func (m *MessageOptions) Reset()         { *m = MessageOptions{} }
  1634  func (m *MessageOptions) String() string { return proto.CompactTextString(m) }
  1635  func (*MessageOptions) ProtoMessage()    {}
  1636  func (*MessageOptions) Descriptor() ([]byte, []int) {
  1637  	return fileDescriptor_308767df5ffe18af, []int{11}
  1638  }
  1639  
  1640  var extRange_MessageOptions = []proto.ExtensionRange{
  1641  	{Start: 1000, End: 536870911},
  1642  }
  1643  
  1644  func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1645  	return extRange_MessageOptions
  1646  }
  1647  
  1648  func (m *MessageOptions) XXX_Unmarshal(b []byte) error {
  1649  	return xxx_messageInfo_MessageOptions.Unmarshal(m, b)
  1650  }
  1651  func (m *MessageOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1652  	return xxx_messageInfo_MessageOptions.Marshal(b, m, deterministic)
  1653  }
  1654  func (m *MessageOptions) XXX_Merge(src proto.Message) {
  1655  	xxx_messageInfo_MessageOptions.Merge(m, src)
  1656  }
  1657  func (m *MessageOptions) XXX_Size() int {
  1658  	return xxx_messageInfo_MessageOptions.Size(m)
  1659  }
  1660  func (m *MessageOptions) XXX_DiscardUnknown() {
  1661  	xxx_messageInfo_MessageOptions.DiscardUnknown(m)
  1662  }
  1663  
  1664  var xxx_messageInfo_MessageOptions proto.InternalMessageInfo
  1665  
  1666  const Default_MessageOptions_MessageSetWireFormat bool = false
  1667  const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
  1668  const Default_MessageOptions_Deprecated bool = false
  1669  
  1670  func (m *MessageOptions) GetMessageSetWireFormat() bool {
  1671  	if m != nil && m.MessageSetWireFormat != nil {
  1672  		return *m.MessageSetWireFormat
  1673  	}
  1674  	return Default_MessageOptions_MessageSetWireFormat
  1675  }
  1676  
  1677  func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
  1678  	if m != nil && m.NoStandardDescriptorAccessor != nil {
  1679  		return *m.NoStandardDescriptorAccessor
  1680  	}
  1681  	return Default_MessageOptions_NoStandardDescriptorAccessor
  1682  }
  1683  
  1684  func (m *MessageOptions) GetDeprecated() bool {
  1685  	if m != nil && m.Deprecated != nil {
  1686  		return *m.Deprecated
  1687  	}
  1688  	return Default_MessageOptions_Deprecated
  1689  }
  1690  
  1691  func (m *MessageOptions) GetMapEntry() bool {
  1692  	if m != nil && m.MapEntry != nil {
  1693  		return *m.MapEntry
  1694  	}
  1695  	return false
  1696  }
  1697  
  1698  func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
  1699  	if m != nil {
  1700  		return m.UninterpretedOption
  1701  	}
  1702  	return nil
  1703  }
  1704  
  1705  type FieldOptions struct {
  1706  	// The ctype option instructs the C++ code generator to use a different
  1707  	// representation of the field than it normally would.  See the specific
  1708  	// options below.  This option is not yet implemented in the open source
  1709  	// release -- sorry, we'll try to include it in a future version!
  1710  	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
  1711  	// The packed option can be enabled for repeated primitive fields to enable
  1712  	// a more efficient representation on the wire. Rather than repeatedly
  1713  	// writing the tag and type for each element, the entire array is encoded as
  1714  	// a single length-delimited blob. In proto3, only explicit setting it to
  1715  	// false will avoid using packed encoding.
  1716  	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
  1717  	// The jstype option determines the JavaScript type used for values of the
  1718  	// field.  The option is permitted only for 64 bit integral and fixed types
  1719  	// (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
  1720  	// is represented as JavaScript string, which avoids loss of precision that
  1721  	// can happen when a large value is converted to a floating point JavaScript.
  1722  	// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
  1723  	// use the JavaScript "number" type.  The behavior of the default option
  1724  	// JS_NORMAL is implementation dependent.
  1725  	//
  1726  	// This option is an enum to permit additional types to be added, e.g.
  1727  	// goog.math.Integer.
  1728  	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
  1729  	// Should this field be parsed lazily?  Lazy applies only to message-type
  1730  	// fields.  It means that when the outer message is initially parsed, the
  1731  	// inner message's contents will not be parsed but instead stored in encoded
  1732  	// form.  The inner message will actually be parsed when it is first accessed.
  1733  	//
  1734  	// This is only a hint.  Implementations are free to choose whether to use
  1735  	// eager or lazy parsing regardless of the value of this option.  However,
  1736  	// setting this option true suggests that the protocol author believes that
  1737  	// using lazy parsing on this field is worth the additional bookkeeping
  1738  	// overhead typically needed to implement it.
  1739  	//
  1740  	// This option does not affect the public interface of any generated code;
  1741  	// all method signatures remain the same.  Furthermore, thread-safety of the
  1742  	// interface is not affected by this option; const methods remain safe to
  1743  	// call from multiple threads concurrently, while non-const methods continue
  1744  	// to require exclusive access.
  1745  	//
  1746  	//
  1747  	// Note that implementations may choose not to check required fields within
  1748  	// a lazy sub-message.  That is, calling IsInitialized() on the outer message
  1749  	// may return true even if the inner message has missing required fields.
  1750  	// This is necessary because otherwise the inner message would have to be
  1751  	// parsed in order to perform the check, defeating the purpose of lazy
  1752  	// parsing.  An implementation which chooses not to check required fields
  1753  	// must be consistent about it.  That is, for any particular sub-message, the
  1754  	// implementation must either *always* check its required fields, or *never*
  1755  	// check its required fields, regardless of whether or not the message has
  1756  	// been parsed.
  1757  	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
  1758  	// Is this field deprecated?
  1759  	// Depending on the target platform, this can emit Deprecated annotations
  1760  	// for accessors, or it will be completely ignored; in the very least, this
  1761  	// is a formalization for deprecating fields.
  1762  	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1763  	// For Google-internal migration only. Do not use.
  1764  	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
  1765  	// The parser stores options it doesn't recognize here. See above.
  1766  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1767  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  1768  	proto.XXX_InternalExtensions `json:"-"`
  1769  	XXX_unrecognized             []byte `json:"-"`
  1770  	XXX_sizecache                int32  `json:"-"`
  1771  }
  1772  
  1773  func (m *FieldOptions) Reset()         { *m = FieldOptions{} }
  1774  func (m *FieldOptions) String() string { return proto.CompactTextString(m) }
  1775  func (*FieldOptions) ProtoMessage()    {}
  1776  func (*FieldOptions) Descriptor() ([]byte, []int) {
  1777  	return fileDescriptor_308767df5ffe18af, []int{12}
  1778  }
  1779  
  1780  var extRange_FieldOptions = []proto.ExtensionRange{
  1781  	{Start: 1000, End: 536870911},
  1782  }
  1783  
  1784  func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1785  	return extRange_FieldOptions
  1786  }
  1787  
  1788  func (m *FieldOptions) XXX_Unmarshal(b []byte) error {
  1789  	return xxx_messageInfo_FieldOptions.Unmarshal(m, b)
  1790  }
  1791  func (m *FieldOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1792  	return xxx_messageInfo_FieldOptions.Marshal(b, m, deterministic)
  1793  }
  1794  func (m *FieldOptions) XXX_Merge(src proto.Message) {
  1795  	xxx_messageInfo_FieldOptions.Merge(m, src)
  1796  }
  1797  func (m *FieldOptions) XXX_Size() int {
  1798  	return xxx_messageInfo_FieldOptions.Size(m)
  1799  }
  1800  func (m *FieldOptions) XXX_DiscardUnknown() {
  1801  	xxx_messageInfo_FieldOptions.DiscardUnknown(m)
  1802  }
  1803  
  1804  var xxx_messageInfo_FieldOptions proto.InternalMessageInfo
  1805  
  1806  const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
  1807  const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
  1808  const Default_FieldOptions_Lazy bool = false
  1809  const Default_FieldOptions_Deprecated bool = false
  1810  const Default_FieldOptions_Weak bool = false
  1811  
  1812  func (m *FieldOptions) GetCtype() FieldOptions_CType {
  1813  	if m != nil && m.Ctype != nil {
  1814  		return *m.Ctype
  1815  	}
  1816  	return Default_FieldOptions_Ctype
  1817  }
  1818  
  1819  func (m *FieldOptions) GetPacked() bool {
  1820  	if m != nil && m.Packed != nil {
  1821  		return *m.Packed
  1822  	}
  1823  	return false
  1824  }
  1825  
  1826  func (m *FieldOptions) GetJstype() FieldOptions_JSType {
  1827  	if m != nil && m.Jstype != nil {
  1828  		return *m.Jstype
  1829  	}
  1830  	return Default_FieldOptions_Jstype
  1831  }
  1832  
  1833  func (m *FieldOptions) GetLazy() bool {
  1834  	if m != nil && m.Lazy != nil {
  1835  		return *m.Lazy
  1836  	}
  1837  	return Default_FieldOptions_Lazy
  1838  }
  1839  
  1840  func (m *FieldOptions) GetDeprecated() bool {
  1841  	if m != nil && m.Deprecated != nil {
  1842  		return *m.Deprecated
  1843  	}
  1844  	return Default_FieldOptions_Deprecated
  1845  }
  1846  
  1847  func (m *FieldOptions) GetWeak() bool {
  1848  	if m != nil && m.Weak != nil {
  1849  		return *m.Weak
  1850  	}
  1851  	return Default_FieldOptions_Weak
  1852  }
  1853  
  1854  func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
  1855  	if m != nil {
  1856  		return m.UninterpretedOption
  1857  	}
  1858  	return nil
  1859  }
  1860  
  1861  type OneofOptions struct {
  1862  	// The parser stores options it doesn't recognize here. See above.
  1863  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1864  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  1865  	proto.XXX_InternalExtensions `json:"-"`
  1866  	XXX_unrecognized             []byte `json:"-"`
  1867  	XXX_sizecache                int32  `json:"-"`
  1868  }
  1869  
  1870  func (m *OneofOptions) Reset()         { *m = OneofOptions{} }
  1871  func (m *OneofOptions) String() string { return proto.CompactTextString(m) }
  1872  func (*OneofOptions) ProtoMessage()    {}
  1873  func (*OneofOptions) Descriptor() ([]byte, []int) {
  1874  	return fileDescriptor_308767df5ffe18af, []int{13}
  1875  }
  1876  
  1877  var extRange_OneofOptions = []proto.ExtensionRange{
  1878  	{Start: 1000, End: 536870911},
  1879  }
  1880  
  1881  func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1882  	return extRange_OneofOptions
  1883  }
  1884  
  1885  func (m *OneofOptions) XXX_Unmarshal(b []byte) error {
  1886  	return xxx_messageInfo_OneofOptions.Unmarshal(m, b)
  1887  }
  1888  func (m *OneofOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1889  	return xxx_messageInfo_OneofOptions.Marshal(b, m, deterministic)
  1890  }
  1891  func (m *OneofOptions) XXX_Merge(src proto.Message) {
  1892  	xxx_messageInfo_OneofOptions.Merge(m, src)
  1893  }
  1894  func (m *OneofOptions) XXX_Size() int {
  1895  	return xxx_messageInfo_OneofOptions.Size(m)
  1896  }
  1897  func (m *OneofOptions) XXX_DiscardUnknown() {
  1898  	xxx_messageInfo_OneofOptions.DiscardUnknown(m)
  1899  }
  1900  
  1901  var xxx_messageInfo_OneofOptions proto.InternalMessageInfo
  1902  
  1903  func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
  1904  	if m != nil {
  1905  		return m.UninterpretedOption
  1906  	}
  1907  	return nil
  1908  }
  1909  
  1910  type EnumOptions struct {
  1911  	// Set this option to true to allow mapping different tag names to the same
  1912  	// value.
  1913  	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
  1914  	// Is this enum deprecated?
  1915  	// Depending on the target platform, this can emit Deprecated annotations
  1916  	// for the enum, or it will be completely ignored; in the very least, this
  1917  	// is a formalization for deprecating enums.
  1918  	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1919  	// The parser stores options it doesn't recognize here. See above.
  1920  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1921  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  1922  	proto.XXX_InternalExtensions `json:"-"`
  1923  	XXX_unrecognized             []byte `json:"-"`
  1924  	XXX_sizecache                int32  `json:"-"`
  1925  }
  1926  
  1927  func (m *EnumOptions) Reset()         { *m = EnumOptions{} }
  1928  func (m *EnumOptions) String() string { return proto.CompactTextString(m) }
  1929  func (*EnumOptions) ProtoMessage()    {}
  1930  func (*EnumOptions) Descriptor() ([]byte, []int) {
  1931  	return fileDescriptor_308767df5ffe18af, []int{14}
  1932  }
  1933  
  1934  var extRange_EnumOptions = []proto.ExtensionRange{
  1935  	{Start: 1000, End: 536870911},
  1936  }
  1937  
  1938  func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1939  	return extRange_EnumOptions
  1940  }
  1941  
  1942  func (m *EnumOptions) XXX_Unmarshal(b []byte) error {
  1943  	return xxx_messageInfo_EnumOptions.Unmarshal(m, b)
  1944  }
  1945  func (m *EnumOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1946  	return xxx_messageInfo_EnumOptions.Marshal(b, m, deterministic)
  1947  }
  1948  func (m *EnumOptions) XXX_Merge(src proto.Message) {
  1949  	xxx_messageInfo_EnumOptions.Merge(m, src)
  1950  }
  1951  func (m *EnumOptions) XXX_Size() int {
  1952  	return xxx_messageInfo_EnumOptions.Size(m)
  1953  }
  1954  func (m *EnumOptions) XXX_DiscardUnknown() {
  1955  	xxx_messageInfo_EnumOptions.DiscardUnknown(m)
  1956  }
  1957  
  1958  var xxx_messageInfo_EnumOptions proto.InternalMessageInfo
  1959  
  1960  const Default_EnumOptions_Deprecated bool = false
  1961  
  1962  func (m *EnumOptions) GetAllowAlias() bool {
  1963  	if m != nil && m.AllowAlias != nil {
  1964  		return *m.AllowAlias
  1965  	}
  1966  	return false
  1967  }
  1968  
  1969  func (m *EnumOptions) GetDeprecated() bool {
  1970  	if m != nil && m.Deprecated != nil {
  1971  		return *m.Deprecated
  1972  	}
  1973  	return Default_EnumOptions_Deprecated
  1974  }
  1975  
  1976  func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
  1977  	if m != nil {
  1978  		return m.UninterpretedOption
  1979  	}
  1980  	return nil
  1981  }
  1982  
  1983  type EnumValueOptions struct {
  1984  	// Is this enum value deprecated?
  1985  	// Depending on the target platform, this can emit Deprecated annotations
  1986  	// for the enum value, or it will be completely ignored; in the very least,
  1987  	// this is a formalization for deprecating enum values.
  1988  	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1989  	// The parser stores options it doesn't recognize here. See above.
  1990  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1991  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  1992  	proto.XXX_InternalExtensions `json:"-"`
  1993  	XXX_unrecognized             []byte `json:"-"`
  1994  	XXX_sizecache                int32  `json:"-"`
  1995  }
  1996  
  1997  func (m *EnumValueOptions) Reset()         { *m = EnumValueOptions{} }
  1998  func (m *EnumValueOptions) String() string { return proto.CompactTextString(m) }
  1999  func (*EnumValueOptions) ProtoMessage()    {}
  2000  func (*EnumValueOptions) Descriptor() ([]byte, []int) {
  2001  	return fileDescriptor_308767df5ffe18af, []int{15}
  2002  }
  2003  
  2004  var extRange_EnumValueOptions = []proto.ExtensionRange{
  2005  	{Start: 1000, End: 536870911},
  2006  }
  2007  
  2008  func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
  2009  	return extRange_EnumValueOptions
  2010  }
  2011  
  2012  func (m *EnumValueOptions) XXX_Unmarshal(b []byte) error {
  2013  	return xxx_messageInfo_EnumValueOptions.Unmarshal(m, b)
  2014  }
  2015  func (m *EnumValueOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2016  	return xxx_messageInfo_EnumValueOptions.Marshal(b, m, deterministic)
  2017  }
  2018  func (m *EnumValueOptions) XXX_Merge(src proto.Message) {
  2019  	xxx_messageInfo_EnumValueOptions.Merge(m, src)
  2020  }
  2021  func (m *EnumValueOptions) XXX_Size() int {
  2022  	return xxx_messageInfo_EnumValueOptions.Size(m)
  2023  }
  2024  func (m *EnumValueOptions) XXX_DiscardUnknown() {
  2025  	xxx_messageInfo_EnumValueOptions.DiscardUnknown(m)
  2026  }
  2027  
  2028  var xxx_messageInfo_EnumValueOptions proto.InternalMessageInfo
  2029  
  2030  const Default_EnumValueOptions_Deprecated bool = false
  2031  
  2032  func (m *EnumValueOptions) GetDeprecated() bool {
  2033  	if m != nil && m.Deprecated != nil {
  2034  		return *m.Deprecated
  2035  	}
  2036  	return Default_EnumValueOptions_Deprecated
  2037  }
  2038  
  2039  func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
  2040  	if m != nil {
  2041  		return m.UninterpretedOption
  2042  	}
  2043  	return nil
  2044  }
  2045  
  2046  type ServiceOptions struct {
  2047  	// Is this service deprecated?
  2048  	// Depending on the target platform, this can emit Deprecated annotations
  2049  	// for the service, or it will be completely ignored; in the very least,
  2050  	// this is a formalization for deprecating services.
  2051  	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  2052  	// The parser stores options it doesn't recognize here. See above.
  2053  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  2054  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  2055  	proto.XXX_InternalExtensions `json:"-"`
  2056  	XXX_unrecognized             []byte `json:"-"`
  2057  	XXX_sizecache                int32  `json:"-"`
  2058  }
  2059  
  2060  func (m *ServiceOptions) Reset()         { *m = ServiceOptions{} }
  2061  func (m *ServiceOptions) String() string { return proto.CompactTextString(m) }
  2062  func (*ServiceOptions) ProtoMessage()    {}
  2063  func (*ServiceOptions) Descriptor() ([]byte, []int) {
  2064  	return fileDescriptor_308767df5ffe18af, []int{16}
  2065  }
  2066  
  2067  var extRange_ServiceOptions = []proto.ExtensionRange{
  2068  	{Start: 1000, End: 536870911},
  2069  }
  2070  
  2071  func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
  2072  	return extRange_ServiceOptions
  2073  }
  2074  
  2075  func (m *ServiceOptions) XXX_Unmarshal(b []byte) error {
  2076  	return xxx_messageInfo_ServiceOptions.Unmarshal(m, b)
  2077  }
  2078  func (m *ServiceOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2079  	return xxx_messageInfo_ServiceOptions.Marshal(b, m, deterministic)
  2080  }
  2081  func (m *ServiceOptions) XXX_Merge(src proto.Message) {
  2082  	xxx_messageInfo_ServiceOptions.Merge(m, src)
  2083  }
  2084  func (m *ServiceOptions) XXX_Size() int {
  2085  	return xxx_messageInfo_ServiceOptions.Size(m)
  2086  }
  2087  func (m *ServiceOptions) XXX_DiscardUnknown() {
  2088  	xxx_messageInfo_ServiceOptions.DiscardUnknown(m)
  2089  }
  2090  
  2091  var xxx_messageInfo_ServiceOptions proto.InternalMessageInfo
  2092  
  2093  const Default_ServiceOptions_Deprecated bool = false
  2094  
  2095  func (m *ServiceOptions) GetDeprecated() bool {
  2096  	if m != nil && m.Deprecated != nil {
  2097  		return *m.Deprecated
  2098  	}
  2099  	return Default_ServiceOptions_Deprecated
  2100  }
  2101  
  2102  func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
  2103  	if m != nil {
  2104  		return m.UninterpretedOption
  2105  	}
  2106  	return nil
  2107  }
  2108  
  2109  type MethodOptions struct {
  2110  	// Is this method deprecated?
  2111  	// Depending on the target platform, this can emit Deprecated annotations
  2112  	// for the method, or it will be completely ignored; in the very least,
  2113  	// this is a formalization for deprecating methods.
  2114  	Deprecated       *bool                           `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  2115  	IdempotencyLevel *MethodOptions_IdempotencyLevel `protobuf:"varint,34,opt,name=idempotency_level,json=idempotencyLevel,enum=google.protobuf.MethodOptions_IdempotencyLevel,def=0" json:"idempotency_level,omitempty"`
  2116  	// The parser stores options it doesn't recognize here. See above.
  2117  	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  2118  	XXX_NoUnkeyedLiteral         struct{}               `json:"-"`
  2119  	proto.XXX_InternalExtensions `json:"-"`
  2120  	XXX_unrecognized             []byte `json:"-"`
  2121  	XXX_sizecache                int32  `json:"-"`
  2122  }
  2123  
  2124  func (m *MethodOptions) Reset()         { *m = MethodOptions{} }
  2125  func (m *MethodOptions) String() string { return proto.CompactTextString(m) }
  2126  func (*MethodOptions) ProtoMessage()    {}
  2127  func (*MethodOptions) Descriptor() ([]byte, []int) {
  2128  	return fileDescriptor_308767df5ffe18af, []int{17}
  2129  }
  2130  
  2131  var extRange_MethodOptions = []proto.ExtensionRange{
  2132  	{Start: 1000, End: 536870911},
  2133  }
  2134  
  2135  func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
  2136  	return extRange_MethodOptions
  2137  }
  2138  
  2139  func (m *MethodOptions) XXX_Unmarshal(b []byte) error {
  2140  	return xxx_messageInfo_MethodOptions.Unmarshal(m, b)
  2141  }
  2142  func (m *MethodOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2143  	return xxx_messageInfo_MethodOptions.Marshal(b, m, deterministic)
  2144  }
  2145  func (m *MethodOptions) XXX_Merge(src proto.Message) {
  2146  	xxx_messageInfo_MethodOptions.Merge(m, src)
  2147  }
  2148  func (m *MethodOptions) XXX_Size() int {
  2149  	return xxx_messageInfo_MethodOptions.Size(m)
  2150  }
  2151  func (m *MethodOptions) XXX_DiscardUnknown() {
  2152  	xxx_messageInfo_MethodOptions.DiscardUnknown(m)
  2153  }
  2154  
  2155  var xxx_messageInfo_MethodOptions proto.InternalMessageInfo
  2156  
  2157  const Default_MethodOptions_Deprecated bool = false
  2158  const Default_MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel = MethodOptions_IDEMPOTENCY_UNKNOWN
  2159  
  2160  func (m *MethodOptions) GetDeprecated() bool {
  2161  	if m != nil && m.Deprecated != nil {
  2162  		return *m.Deprecated
  2163  	}
  2164  	return Default_MethodOptions_Deprecated
  2165  }
  2166  
  2167  func (m *MethodOptions) GetIdempotencyLevel() MethodOptions_IdempotencyLevel {
  2168  	if m != nil && m.IdempotencyLevel != nil {
  2169  		return *m.IdempotencyLevel
  2170  	}
  2171  	return Default_MethodOptions_IdempotencyLevel
  2172  }
  2173  
  2174  func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
  2175  	if m != nil {
  2176  		return m.UninterpretedOption
  2177  	}
  2178  	return nil
  2179  }
  2180  
  2181  // A message representing a option the parser does not recognize. This only
  2182  // appears in options protos created by the compiler::Parser class.
  2183  // DescriptorPool resolves these when building Descriptor objects. Therefore,
  2184  // options protos in descriptor objects (e.g. returned by Descriptor::options(),
  2185  // or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
  2186  // in them.
  2187  type UninterpretedOption struct {
  2188  	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
  2189  	// The value of the uninterpreted option, in whatever type the tokenizer
  2190  	// identified it as during parsing. Exactly one of these should be set.
  2191  	IdentifierValue      *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
  2192  	PositiveIntValue     *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
  2193  	NegativeIntValue     *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
  2194  	DoubleValue          *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
  2195  	StringValue          []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
  2196  	AggregateValue       *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
  2197  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2198  	XXX_unrecognized     []byte   `json:"-"`
  2199  	XXX_sizecache        int32    `json:"-"`
  2200  }
  2201  
  2202  func (m *UninterpretedOption) Reset()         { *m = UninterpretedOption{} }
  2203  func (m *UninterpretedOption) String() string { return proto.CompactTextString(m) }
  2204  func (*UninterpretedOption) ProtoMessage()    {}
  2205  func (*UninterpretedOption) Descriptor() ([]byte, []int) {
  2206  	return fileDescriptor_308767df5ffe18af, []int{18}
  2207  }
  2208  func (m *UninterpretedOption) XXX_Unmarshal(b []byte) error {
  2209  	return xxx_messageInfo_UninterpretedOption.Unmarshal(m, b)
  2210  }
  2211  func (m *UninterpretedOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2212  	return xxx_messageInfo_UninterpretedOption.Marshal(b, m, deterministic)
  2213  }
  2214  func (m *UninterpretedOption) XXX_Merge(src proto.Message) {
  2215  	xxx_messageInfo_UninterpretedOption.Merge(m, src)
  2216  }
  2217  func (m *UninterpretedOption) XXX_Size() int {
  2218  	return xxx_messageInfo_UninterpretedOption.Size(m)
  2219  }
  2220  func (m *UninterpretedOption) XXX_DiscardUnknown() {
  2221  	xxx_messageInfo_UninterpretedOption.DiscardUnknown(m)
  2222  }
  2223  
  2224  var xxx_messageInfo_UninterpretedOption proto.InternalMessageInfo
  2225  
  2226  func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
  2227  	if m != nil {
  2228  		return m.Name
  2229  	}
  2230  	return nil
  2231  }
  2232  
  2233  func (m *UninterpretedOption) GetIdentifierValue() string {
  2234  	if m != nil && m.IdentifierValue != nil {
  2235  		return *m.IdentifierValue
  2236  	}
  2237  	return ""
  2238  }
  2239  
  2240  func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
  2241  	if m != nil && m.PositiveIntValue != nil {
  2242  		return *m.PositiveIntValue
  2243  	}
  2244  	return 0
  2245  }
  2246  
  2247  func (m *UninterpretedOption) GetNegativeIntValue() int64 {
  2248  	if m != nil && m.NegativeIntValue != nil {
  2249  		return *m.NegativeIntValue
  2250  	}
  2251  	return 0
  2252  }
  2253  
  2254  func (m *UninterpretedOption) GetDoubleValue() float64 {
  2255  	if m != nil && m.DoubleValue != nil {
  2256  		return *m.DoubleValue
  2257  	}
  2258  	return 0
  2259  }
  2260  
  2261  func (m *UninterpretedOption) GetStringValue() []byte {
  2262  	if m != nil {
  2263  		return m.StringValue
  2264  	}
  2265  	return nil
  2266  }
  2267  
  2268  func (m *UninterpretedOption) GetAggregateValue() string {
  2269  	if m != nil && m.AggregateValue != nil {
  2270  		return *m.AggregateValue
  2271  	}
  2272  	return ""
  2273  }
  2274  
  2275  // The name of the uninterpreted option.  Each string represents a segment in
  2276  // a dot-separated name.  is_extension is true iff a segment represents an
  2277  // extension (denoted with parentheses in options specs in .proto files).
  2278  // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
  2279  // "foo.(bar.baz).qux".
  2280  type UninterpretedOption_NamePart struct {
  2281  	NamePart             *string  `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
  2282  	IsExtension          *bool    `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
  2283  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2284  	XXX_unrecognized     []byte   `json:"-"`
  2285  	XXX_sizecache        int32    `json:"-"`
  2286  }
  2287  
  2288  func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
  2289  func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
  2290  func (*UninterpretedOption_NamePart) ProtoMessage()    {}
  2291  func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
  2292  	return fileDescriptor_308767df5ffe18af, []int{18, 0}
  2293  }
  2294  func (m *UninterpretedOption_NamePart) XXX_Unmarshal(b []byte) error {
  2295  	return xxx_messageInfo_UninterpretedOption_NamePart.Unmarshal(m, b)
  2296  }
  2297  func (m *UninterpretedOption_NamePart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2298  	return xxx_messageInfo_UninterpretedOption_NamePart.Marshal(b, m, deterministic)
  2299  }
  2300  func (m *UninterpretedOption_NamePart) XXX_Merge(src proto.Message) {
  2301  	xxx_messageInfo_UninterpretedOption_NamePart.Merge(m, src)
  2302  }
  2303  func (m *UninterpretedOption_NamePart) XXX_Size() int {
  2304  	return xxx_messageInfo_UninterpretedOption_NamePart.Size(m)
  2305  }
  2306  func (m *UninterpretedOption_NamePart) XXX_DiscardUnknown() {
  2307  	xxx_messageInfo_UninterpretedOption_NamePart.DiscardUnknown(m)
  2308  }
  2309  
  2310  var xxx_messageInfo_UninterpretedOption_NamePart proto.InternalMessageInfo
  2311  
  2312  func (m *UninterpretedOption_NamePart) GetNamePart() string {
  2313  	if m != nil && m.NamePart != nil {
  2314  		return *m.NamePart
  2315  	}
  2316  	return ""
  2317  }
  2318  
  2319  func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
  2320  	if m != nil && m.IsExtension != nil {
  2321  		return *m.IsExtension
  2322  	}
  2323  	return false
  2324  }
  2325  
  2326  // Encapsulates information about the original source file from which a
  2327  // FileDescriptorProto was generated.
  2328  type SourceCodeInfo struct {
  2329  	// A Location identifies a piece of source code in a .proto file which
  2330  	// corresponds to a particular definition.  This information is intended
  2331  	// to be useful to IDEs, code indexers, documentation generators, and similar
  2332  	// tools.
  2333  	//
  2334  	// For example, say we have a file like:
  2335  	//   message Foo {
  2336  	//     optional string foo = 1;
  2337  	//   }
  2338  	// Let's look at just the field definition:
  2339  	//   optional string foo = 1;
  2340  	//   ^       ^^     ^^  ^  ^^^
  2341  	//   a       bc     de  f  ghi
  2342  	// We have the following locations:
  2343  	//   span   path               represents
  2344  	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
  2345  	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
  2346  	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
  2347  	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
  2348  	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
  2349  	//
  2350  	// Notes:
  2351  	// - A location may refer to a repeated field itself (i.e. not to any
  2352  	//   particular index within it).  This is used whenever a set of elements are
  2353  	//   logically enclosed in a single code segment.  For example, an entire
  2354  	//   extend block (possibly containing multiple extension definitions) will
  2355  	//   have an outer location whose path refers to the "extensions" repeated
  2356  	//   field without an index.
  2357  	// - Multiple locations may have the same path.  This happens when a single
  2358  	//   logical declaration is spread out across multiple places.  The most
  2359  	//   obvious example is the "extend" block again -- there may be multiple
  2360  	//   extend blocks in the same scope, each of which will have the same path.
  2361  	// - A location's span is not always a subset of its parent's span.  For
  2362  	//   example, the "extendee" of an extension declaration appears at the
  2363  	//   beginning of the "extend" block and is shared by all extensions within
  2364  	//   the block.
  2365  	// - Just because a location's span is a subset of some other location's span
  2366  	//   does not mean that it is a descendant.  For example, a "group" defines
  2367  	//   both a type and a field in a single declaration.  Thus, the locations
  2368  	//   corresponding to the type and field and their components will overlap.
  2369  	// - Code which tries to interpret locations should probably be designed to
  2370  	//   ignore those that it doesn't understand, as more types of locations could
  2371  	//   be recorded in the future.
  2372  	Location             []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
  2373  	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
  2374  	XXX_unrecognized     []byte                     `json:"-"`
  2375  	XXX_sizecache        int32                      `json:"-"`
  2376  }
  2377  
  2378  func (m *SourceCodeInfo) Reset()         { *m = SourceCodeInfo{} }
  2379  func (m *SourceCodeInfo) String() string { return proto.CompactTextString(m) }
  2380  func (*SourceCodeInfo) ProtoMessage()    {}
  2381  func (*SourceCodeInfo) Descriptor() ([]byte, []int) {
  2382  	return fileDescriptor_308767df5ffe18af, []int{19}
  2383  }
  2384  func (m *SourceCodeInfo) XXX_Unmarshal(b []byte) error {
  2385  	return xxx_messageInfo_SourceCodeInfo.Unmarshal(m, b)
  2386  }
  2387  func (m *SourceCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2388  	return xxx_messageInfo_SourceCodeInfo.Marshal(b, m, deterministic)
  2389  }
  2390  func (m *SourceCodeInfo) XXX_Merge(src proto.Message) {
  2391  	xxx_messageInfo_SourceCodeInfo.Merge(m, src)
  2392  }
  2393  func (m *SourceCodeInfo) XXX_Size() int {
  2394  	return xxx_messageInfo_SourceCodeInfo.Size(m)
  2395  }
  2396  func (m *SourceCodeInfo) XXX_DiscardUnknown() {
  2397  	xxx_messageInfo_SourceCodeInfo.DiscardUnknown(m)
  2398  }
  2399  
  2400  var xxx_messageInfo_SourceCodeInfo proto.InternalMessageInfo
  2401  
  2402  func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
  2403  	if m != nil {
  2404  		return m.Location
  2405  	}
  2406  	return nil
  2407  }
  2408  
  2409  type SourceCodeInfo_Location struct {
  2410  	// Identifies which part of the FileDescriptorProto was defined at this
  2411  	// location.
  2412  	//
  2413  	// Each element is a field number or an index.  They form a path from
  2414  	// the root FileDescriptorProto to the place where the definition.  For
  2415  	// example, this path:
  2416  	//   [ 4, 3, 2, 7, 1 ]
  2417  	// refers to:
  2418  	//   file.message_type(3)  // 4, 3
  2419  	//       .field(7)         // 2, 7
  2420  	//       .name()           // 1
  2421  	// This is because FileDescriptorProto.message_type has field number 4:
  2422  	//   repeated DescriptorProto message_type = 4;
  2423  	// and DescriptorProto.field has field number 2:
  2424  	//   repeated FieldDescriptorProto field = 2;
  2425  	// and FieldDescriptorProto.name has field number 1:
  2426  	//   optional string name = 1;
  2427  	//
  2428  	// Thus, the above path gives the location of a field name.  If we removed
  2429  	// the last element:
  2430  	//   [ 4, 3, 2, 7 ]
  2431  	// this path refers to the whole field declaration (from the beginning
  2432  	// of the label to the terminating semicolon).
  2433  	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
  2434  	// Always has exactly three or four elements: start line, start column,
  2435  	// end line (optional, otherwise assumed same as start line), end column.
  2436  	// These are packed into a single field for efficiency.  Note that line
  2437  	// and column numbers are zero-based -- typically you will want to add
  2438  	// 1 to each before displaying to a user.
  2439  	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
  2440  	// If this SourceCodeInfo represents a complete declaration, these are any
  2441  	// comments appearing before and after the declaration which appear to be
  2442  	// attached to the declaration.
  2443  	//
  2444  	// A series of line comments appearing on consecutive lines, with no other
  2445  	// tokens appearing on those lines, will be treated as a single comment.
  2446  	//
  2447  	// leading_detached_comments will keep paragraphs of comments that appear
  2448  	// before (but not connected to) the current element. Each paragraph,
  2449  	// separated by empty lines, will be one comment element in the repeated
  2450  	// field.
  2451  	//
  2452  	// Only the comment content is provided; comment markers (e.g. //) are
  2453  	// stripped out.  For block comments, leading whitespace and an asterisk
  2454  	// will be stripped from the beginning of each line other than the first.
  2455  	// Newlines are included in the output.
  2456  	//
  2457  	// Examples:
  2458  	//
  2459  	//   optional int32 foo = 1;  // Comment attached to foo.
  2460  	//   // Comment attached to bar.
  2461  	//   optional int32 bar = 2;
  2462  	//
  2463  	//   optional string baz = 3;
  2464  	//   // Comment attached to baz.
  2465  	//   // Another line attached to baz.
  2466  	//
  2467  	//   // Comment attached to qux.
  2468  	//   //
  2469  	//   // Another line attached to qux.
  2470  	//   optional double qux = 4;
  2471  	//
  2472  	//   // Detached comment for corge. This is not leading or trailing comments
  2473  	//   // to qux or corge because there are blank lines separating it from
  2474  	//   // both.
  2475  	//
  2476  	//   // Detached comment for corge paragraph 2.
  2477  	//
  2478  	//   optional string corge = 5;
  2479  	//   /* Block comment attached
  2480  	//    * to corge.  Leading asterisks
  2481  	//    * will be removed. */
  2482  	//   /* Block comment attached to
  2483  	//    * grault. */
  2484  	//   optional int32 grault = 6;
  2485  	//
  2486  	//   // ignored detached comments.
  2487  	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
  2488  	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
  2489  	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
  2490  	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
  2491  	XXX_unrecognized        []byte   `json:"-"`
  2492  	XXX_sizecache           int32    `json:"-"`
  2493  }
  2494  
  2495  func (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location{} }
  2496  func (m *SourceCodeInfo_Location) String() string { return proto.CompactTextString(m) }
  2497  func (*SourceCodeInfo_Location) ProtoMessage()    {}
  2498  func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) {
  2499  	return fileDescriptor_308767df5ffe18af, []int{19, 0}
  2500  }
  2501  func (m *SourceCodeInfo_Location) XXX_Unmarshal(b []byte) error {
  2502  	return xxx_messageInfo_SourceCodeInfo_Location.Unmarshal(m, b)
  2503  }
  2504  func (m *SourceCodeInfo_Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2505  	return xxx_messageInfo_SourceCodeInfo_Location.Marshal(b, m, deterministic)
  2506  }
  2507  func (m *SourceCodeInfo_Location) XXX_Merge(src proto.Message) {
  2508  	xxx_messageInfo_SourceCodeInfo_Location.Merge(m, src)
  2509  }
  2510  func (m *SourceCodeInfo_Location) XXX_Size() int {
  2511  	return xxx_messageInfo_SourceCodeInfo_Location.Size(m)
  2512  }
  2513  func (m *SourceCodeInfo_Location) XXX_DiscardUnknown() {
  2514  	xxx_messageInfo_SourceCodeInfo_Location.DiscardUnknown(m)
  2515  }
  2516  
  2517  var xxx_messageInfo_SourceCodeInfo_Location proto.InternalMessageInfo
  2518  
  2519  func (m *SourceCodeInfo_Location) GetPath() []int32 {
  2520  	if m != nil {
  2521  		return m.Path
  2522  	}
  2523  	return nil
  2524  }
  2525  
  2526  func (m *SourceCodeInfo_Location) GetSpan() []int32 {
  2527  	if m != nil {
  2528  		return m.Span
  2529  	}
  2530  	return nil
  2531  }
  2532  
  2533  func (m *SourceCodeInfo_Location) GetLeadingComments() string {
  2534  	if m != nil && m.LeadingComments != nil {
  2535  		return *m.LeadingComments
  2536  	}
  2537  	return ""
  2538  }
  2539  
  2540  func (m *SourceCodeInfo_Location) GetTrailingComments() string {
  2541  	if m != nil && m.TrailingComments != nil {
  2542  		return *m.TrailingComments
  2543  	}
  2544  	return ""
  2545  }
  2546  
  2547  func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
  2548  	if m != nil {
  2549  		return m.LeadingDetachedComments
  2550  	}
  2551  	return nil
  2552  }
  2553  
  2554  // Describes the relationship between generated code and its original source
  2555  // file. A GeneratedCodeInfo message is associated with only one generated
  2556  // source file, but may contain references to different source .proto files.
  2557  type GeneratedCodeInfo struct {
  2558  	// An Annotation connects some span of text in generated code to an element
  2559  	// of its generating .proto file.
  2560  	Annotation           []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
  2561  	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
  2562  	XXX_unrecognized     []byte                          `json:"-"`
  2563  	XXX_sizecache        int32                           `json:"-"`
  2564  }
  2565  
  2566  func (m *GeneratedCodeInfo) Reset()         { *m = GeneratedCodeInfo{} }
  2567  func (m *GeneratedCodeInfo) String() string { return proto.CompactTextString(m) }
  2568  func (*GeneratedCodeInfo) ProtoMessage()    {}
  2569  func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) {
  2570  	return fileDescriptor_308767df5ffe18af, []int{20}
  2571  }
  2572  func (m *GeneratedCodeInfo) XXX_Unmarshal(b []byte) error {
  2573  	return xxx_messageInfo_GeneratedCodeInfo.Unmarshal(m, b)
  2574  }
  2575  func (m *GeneratedCodeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2576  	return xxx_messageInfo_GeneratedCodeInfo.Marshal(b, m, deterministic)
  2577  }
  2578  func (m *GeneratedCodeInfo) XXX_Merge(src proto.Message) {
  2579  	xxx_messageInfo_GeneratedCodeInfo.Merge(m, src)
  2580  }
  2581  func (m *GeneratedCodeInfo) XXX_Size() int {
  2582  	return xxx_messageInfo_GeneratedCodeInfo.Size(m)
  2583  }
  2584  func (m *GeneratedCodeInfo) XXX_DiscardUnknown() {
  2585  	xxx_messageInfo_GeneratedCodeInfo.DiscardUnknown(m)
  2586  }
  2587  
  2588  var xxx_messageInfo_GeneratedCodeInfo proto.InternalMessageInfo
  2589  
  2590  func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
  2591  	if m != nil {
  2592  		return m.Annotation
  2593  	}
  2594  	return nil
  2595  }
  2596  
  2597  type GeneratedCodeInfo_Annotation struct {
  2598  	// Identifies the element in the original source .proto file. This field
  2599  	// is formatted the same as SourceCodeInfo.Location.path.
  2600  	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
  2601  	// Identifies the filesystem path to the original source .proto.
  2602  	SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
  2603  	// Identifies the starting offset in bytes in the generated code
  2604  	// that relates to the identified object.
  2605  	Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
  2606  	// Identifies the ending offset in bytes in the generated code that
  2607  	// relates to the identified offset. The end offset should be one past
  2608  	// the last relevant byte (so the length of the text = end - begin).
  2609  	End                  *int32   `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
  2610  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2611  	XXX_unrecognized     []byte   `json:"-"`
  2612  	XXX_sizecache        int32    `json:"-"`
  2613  }
  2614  
  2615  func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
  2616  func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
  2617  func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
  2618  func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
  2619  	return fileDescriptor_308767df5ffe18af, []int{20, 0}
  2620  }
  2621  func (m *GeneratedCodeInfo_Annotation) XXX_Unmarshal(b []byte) error {
  2622  	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Unmarshal(m, b)
  2623  }
  2624  func (m *GeneratedCodeInfo_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2625  	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Marshal(b, m, deterministic)
  2626  }
  2627  func (m *GeneratedCodeInfo_Annotation) XXX_Merge(src proto.Message) {
  2628  	xxx_messageInfo_GeneratedCodeInfo_Annotation.Merge(m, src)
  2629  }
  2630  func (m *GeneratedCodeInfo_Annotation) XXX_Size() int {
  2631  	return xxx_messageInfo_GeneratedCodeInfo_Annotation.Size(m)
  2632  }
  2633  func (m *GeneratedCodeInfo_Annotation) XXX_DiscardUnknown() {
  2634  	xxx_messageInfo_GeneratedCodeInfo_Annotation.DiscardUnknown(m)
  2635  }
  2636  
  2637  var xxx_messageInfo_GeneratedCodeInfo_Annotation proto.InternalMessageInfo
  2638  
  2639  func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
  2640  	if m != nil {
  2641  		return m.Path
  2642  	}
  2643  	return nil
  2644  }
  2645  
  2646  func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
  2647  	if m != nil && m.SourceFile != nil {
  2648  		return *m.SourceFile
  2649  	}
  2650  	return ""
  2651  }
  2652  
  2653  func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
  2654  	if m != nil && m.Begin != nil {
  2655  		return *m.Begin
  2656  	}
  2657  	return 0
  2658  }
  2659  
  2660  func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
  2661  	if m != nil && m.End != nil {
  2662  		return *m.End
  2663  	}
  2664  	return 0
  2665  }
  2666  
  2667  func init() {
  2668  	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
  2669  	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
  2670  	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
  2671  	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
  2672  	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
  2673  	proto.RegisterEnum("google.protobuf.MethodOptions_IdempotencyLevel", MethodOptions_IdempotencyLevel_name, MethodOptions_IdempotencyLevel_value)
  2674  	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
  2675  	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
  2676  	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
  2677  	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
  2678  	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
  2679  	proto.RegisterType((*ExtensionRangeOptions)(nil), "google.protobuf.ExtensionRangeOptions")
  2680  	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
  2681  	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
  2682  	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
  2683  	proto.RegisterType((*EnumDescriptorProto_EnumReservedRange)(nil), "google.protobuf.EnumDescriptorProto.EnumReservedRange")
  2684  	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
  2685  	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
  2686  	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
  2687  	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
  2688  	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
  2689  	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
  2690  	proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
  2691  	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
  2692  	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
  2693  	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
  2694  	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
  2695  	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
  2696  	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
  2697  	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
  2698  	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
  2699  	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
  2700  	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
  2701  }
  2702  
  2703  func init() { proto.RegisterFile("descriptor.proto", fileDescriptor_308767df5ffe18af) }
  2704  
  2705  var fileDescriptor_308767df5ffe18af = []byte{
  2706  	// 2522 bytes of a gzipped FileDescriptorProto
  2707  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,
  2708  	0x15, 0x5f, 0x7d, 0x5a, 0x7a, 0x92, 0x65, 0x7a, 0xec, 0x75, 0x18, 0xef, 0x47, 0x1c, 0xed, 0x66,
  2709  	0xe3, 0x24, 0xbb, 0xca, 0xc2, 0x49, 0x9c, 0xac, 0x53, 0x6c, 0x2b, 0x4b, 0x8c, 0x57, 0xa9, 0xbe,
  2710  	0x4a, 0xc9, 0xdd, 0x64, 0x8b, 0x82, 0x18, 0x93, 0x23, 0x89, 0x09, 0x45, 0x72, 0x49, 0x2a, 0x89,
  2711  	0x83, 0x1e, 0x02, 0xf4, 0x54, 0xa0, 0x7f, 0x40, 0x51, 0x14, 0x3d, 0xf4, 0xb2, 0x40, 0xff, 0x80,
  2712  	0x02, 0xed, 0xbd, 0xd7, 0x02, 0xbd, 0xf7, 0x50, 0xa0, 0x05, 0xda, 0x3f, 0xa1, 0xc7, 0x62, 0x66,
  2713  	0x48, 0x8a, 0xd4, 0x47, 0xe2, 0x5d, 0x20, 0xd9, 0x93, 0x3d, 0xef, 0xfd, 0xde, 0x9b, 0x37, 0x8f,
  2714  	0xbf, 0x79, 0xf3, 0x66, 0x04, 0x82, 0x46, 0x5c, 0xd5, 0xd1, 0x6d, 0xcf, 0x72, 0x2a, 0xb6, 0x63,
  2715  	0x79, 0x16, 0x5a, 0x1b, 0x5a, 0xd6, 0xd0, 0x20, 0x7c, 0x74, 0x32, 0x19, 0x94, 0x5b, 0xb0, 0x7e,
  2716  	0x4f, 0x37, 0x48, 0x3d, 0x04, 0xf6, 0x88, 0x87, 0xee, 0x40, 0x7a, 0xa0, 0x1b, 0x44, 0x4c, 0xec,
  2717  	0xa4, 0x76, 0x0b, 0x7b, 0x1f, 0x56, 0x66, 0x8c, 0x2a, 0x71, 0x8b, 0x2e, 0x15, 0xcb, 0xcc, 0xa2,
  2718  	0xfc, 0xef, 0x34, 0x6c, 0x2c, 0xd0, 0x22, 0x04, 0x69, 0x13, 0x8f, 0xa9, 0xc7, 0xc4, 0x6e, 0x5e,
  2719  	0x66, 0xff, 0x23, 0x11, 0x56, 0x6c, 0xac, 0x3e, 0xc6, 0x43, 0x22, 0x26, 0x99, 0x38, 0x18, 0xa2,
  2720  	0xf7, 0x01, 0x34, 0x62, 0x13, 0x53, 0x23, 0xa6, 0x7a, 0x2a, 0xa6, 0x76, 0x52, 0xbb, 0x79, 0x39,
  2721  	0x22, 0x41, 0xd7, 0x60, 0xdd, 0x9e, 0x9c, 0x18, 0xba, 0xaa, 0x44, 0x60, 0xb0, 0x93, 0xda, 0xcd,
  2722  	0xc8, 0x02, 0x57, 0xd4, 0xa7, 0xe0, 0xcb, 0xb0, 0xf6, 0x94, 0xe0, 0xc7, 0x51, 0x68, 0x81, 0x41,
  2723  	0x4b, 0x54, 0x1c, 0x01, 0xd6, 0xa0, 0x38, 0x26, 0xae, 0x8b, 0x87, 0x44, 0xf1, 0x4e, 0x6d, 0x22,
  2724  	0xa6, 0xd9, 0xea, 0x77, 0xe6, 0x56, 0x3f, 0xbb, 0xf2, 0x82, 0x6f, 0xd5, 0x3f, 0xb5, 0x09, 0xaa,
  2725  	0x42, 0x9e, 0x98, 0x93, 0x31, 0xf7, 0x90, 0x59, 0x92, 0x3f, 0xc9, 0x9c, 0x8c, 0x67, 0xbd, 0xe4,
  2726  	0xa8, 0x99, 0xef, 0x62, 0xc5, 0x25, 0xce, 0x13, 0x5d, 0x25, 0x62, 0x96, 0x39, 0xb8, 0x3c, 0xe7,
  2727  	0xa0, 0xc7, 0xf5, 0xb3, 0x3e, 0x02, 0x3b, 0x54, 0x83, 0x3c, 0x79, 0xe6, 0x11, 0xd3, 0xd5, 0x2d,
  2728  	0x53, 0x5c, 0x61, 0x4e, 0x2e, 0x2d, 0xf8, 0x8a, 0xc4, 0xd0, 0x66, 0x5d, 0x4c, 0xed, 0xd0, 0x3e,
  2729  	0xac, 0x58, 0xb6, 0xa7, 0x5b, 0xa6, 0x2b, 0xe6, 0x76, 0x12, 0xbb, 0x85, 0xbd, 0x77, 0x17, 0x12,
  2730  	0xa1, 0xc3, 0x31, 0x72, 0x00, 0x46, 0x0d, 0x10, 0x5c, 0x6b, 0xe2, 0xa8, 0x44, 0x51, 0x2d, 0x8d,
  2731  	0x28, 0xba, 0x39, 0xb0, 0xc4, 0x3c, 0x73, 0x70, 0x61, 0x7e, 0x21, 0x0c, 0x58, 0xb3, 0x34, 0xd2,
  2732  	0x30, 0x07, 0x96, 0x5c, 0x72, 0x63, 0x63, 0xb4, 0x05, 0x59, 0xf7, 0xd4, 0xf4, 0xf0, 0x33, 0xb1,
  2733  	0xc8, 0x18, 0xe2, 0x8f, 0xca, 0x7f, 0xce, 0xc2, 0xda, 0x59, 0x28, 0x76, 0x17, 0x32, 0x03, 0xba,
  2734  	0x4a, 0x31, 0xf9, 0x6d, 0x72, 0xc0, 0x6d, 0xe2, 0x49, 0xcc, 0x7e, 0xc7, 0x24, 0x56, 0xa1, 0x60,
  2735  	0x12, 0xd7, 0x23, 0x1a, 0x67, 0x44, 0xea, 0x8c, 0x9c, 0x02, 0x6e, 0x34, 0x4f, 0xa9, 0xf4, 0x77,
  2736  	0xa2, 0xd4, 0x03, 0x58, 0x0b, 0x43, 0x52, 0x1c, 0x6c, 0x0e, 0x03, 0x6e, 0x5e, 0x7f, 0x55, 0x24,
  2737  	0x15, 0x29, 0xb0, 0x93, 0xa9, 0x99, 0x5c, 0x22, 0xb1, 0x31, 0xaa, 0x03, 0x58, 0x26, 0xb1, 0x06,
  2738  	0x8a, 0x46, 0x54, 0x43, 0xcc, 0x2d, 0xc9, 0x52, 0x87, 0x42, 0xe6, 0xb2, 0x64, 0x71, 0xa9, 0x6a,
  2739  	0xa0, 0xcf, 0xa6, 0x54, 0x5b, 0x59, 0xc2, 0x94, 0x16, 0xdf, 0x64, 0x73, 0x6c, 0x3b, 0x86, 0x92,
  2740  	0x43, 0x28, 0xef, 0x89, 0xe6, 0xaf, 0x2c, 0xcf, 0x82, 0xa8, 0xbc, 0x72, 0x65, 0xb2, 0x6f, 0xc6,
  2741  	0x17, 0xb6, 0xea, 0x44, 0x87, 0xe8, 0x03, 0x08, 0x05, 0x0a, 0xa3, 0x15, 0xb0, 0x2a, 0x54, 0x0c,
  2742  	0x84, 0x6d, 0x3c, 0x26, 0xdb, 0xcf, 0xa1, 0x14, 0x4f, 0x0f, 0xda, 0x84, 0x8c, 0xeb, 0x61, 0xc7,
  2743  	0x63, 0x2c, 0xcc, 0xc8, 0x7c, 0x80, 0x04, 0x48, 0x11, 0x53, 0x63, 0x55, 0x2e, 0x23, 0xd3, 0x7f,
  2744  	0xd1, 0x8f, 0xa6, 0x0b, 0x4e, 0xb1, 0x05, 0x7f, 0x34, 0xff, 0x45, 0x63, 0x9e, 0x67, 0xd7, 0xbd,
  2745  	0x7d, 0x1b, 0x56, 0x63, 0x0b, 0x38, 0xeb, 0xd4, 0xe5, 0x5f, 0xc0, 0xdb, 0x0b, 0x5d, 0xa3, 0x07,
  2746  	0xb0, 0x39, 0x31, 0x75, 0xd3, 0x23, 0x8e, 0xed, 0x10, 0xca, 0x58, 0x3e, 0x95, 0xf8, 0x9f, 0x95,
  2747  	0x25, 0x9c, 0x3b, 0x8e, 0xa2, 0xb9, 0x17, 0x79, 0x63, 0x32, 0x2f, 0xbc, 0x9a, 0xcf, 0xfd, 0x77,
  2748  	0x45, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0x64, 0xf9, 0x37, 0x59, 0xd8, 0x5c, 0xb4, 0x67, 0x16, 0x6e,
  2749  	0xdf, 0x2d, 0xc8, 0x9a, 0x93, 0xf1, 0x09, 0x71, 0x58, 0x92, 0x32, 0xb2, 0x3f, 0x42, 0x55, 0xc8,
  2750  	0x18, 0xf8, 0x84, 0x18, 0x62, 0x7a, 0x27, 0xb1, 0x5b, 0xda, 0xbb, 0x76, 0xa6, 0x5d, 0x59, 0x69,
  2751  	0x52, 0x13, 0x99, 0x5b, 0xa2, 0xcf, 0x21, 0xed, 0x97, 0x68, 0xea, 0xe1, 0xea, 0xd9, 0x3c, 0xd0,
  2752  	0xbd, 0x24, 0x33, 0x3b, 0xf4, 0x0e, 0xe4, 0xe9, 0x5f, 0xce, 0x8d, 0x2c, 0x8b, 0x39, 0x47, 0x05,
  2753  	0x94, 0x17, 0x68, 0x1b, 0x72, 0x6c, 0x9b, 0x68, 0x24, 0x38, 0xda, 0xc2, 0x31, 0x25, 0x96, 0x46,
  2754  	0x06, 0x78, 0x62, 0x78, 0xca, 0x13, 0x6c, 0x4c, 0x08, 0x23, 0x7c, 0x5e, 0x2e, 0xfa, 0xc2, 0x9f,
  2755  	0x52, 0x19, 0xba, 0x00, 0x05, 0xbe, 0xab, 0x74, 0x53, 0x23, 0xcf, 0x58, 0xf5, 0xcc, 0xc8, 0x7c,
  2756  	0xa3, 0x35, 0xa8, 0x84, 0x4e, 0xff, 0xc8, 0xb5, 0xcc, 0x80, 0x9a, 0x6c, 0x0a, 0x2a, 0x60, 0xd3,
  2757  	0xdf, 0x9e, 0x2d, 0xdc, 0xef, 0x2d, 0x5e, 0xde, 0x2c, 0xa7, 0xca, 0x7f, 0x4a, 0x42, 0x9a, 0xd5,
  2758  	0x8b, 0x35, 0x28, 0xf4, 0x1f, 0x76, 0x25, 0xa5, 0xde, 0x39, 0x3e, 0x6c, 0x4a, 0x42, 0x02, 0x95,
  2759  	0x00, 0x98, 0xe0, 0x5e, 0xb3, 0x53, 0xed, 0x0b, 0xc9, 0x70, 0xdc, 0x68, 0xf7, 0xf7, 0x6f, 0x0a,
  2760  	0xa9, 0xd0, 0xe0, 0x98, 0x0b, 0xd2, 0x51, 0xc0, 0x8d, 0x3d, 0x21, 0x83, 0x04, 0x28, 0x72, 0x07,
  2761  	0x8d, 0x07, 0x52, 0x7d, 0xff, 0xa6, 0x90, 0x8d, 0x4b, 0x6e, 0xec, 0x09, 0x2b, 0x68, 0x15, 0xf2,
  2762  	0x4c, 0x72, 0xd8, 0xe9, 0x34, 0x85, 0x5c, 0xe8, 0xb3, 0xd7, 0x97, 0x1b, 0xed, 0x23, 0x21, 0x1f,
  2763  	0xfa, 0x3c, 0x92, 0x3b, 0xc7, 0x5d, 0x01, 0x42, 0x0f, 0x2d, 0xa9, 0xd7, 0xab, 0x1e, 0x49, 0x42,
  2764  	0x21, 0x44, 0x1c, 0x3e, 0xec, 0x4b, 0x3d, 0xa1, 0x18, 0x0b, 0xeb, 0xc6, 0x9e, 0xb0, 0x1a, 0x4e,
  2765  	0x21, 0xb5, 0x8f, 0x5b, 0x42, 0x09, 0xad, 0xc3, 0x2a, 0x9f, 0x22, 0x08, 0x62, 0x6d, 0x46, 0xb4,
  2766  	0x7f, 0x53, 0x10, 0xa6, 0x81, 0x70, 0x2f, 0xeb, 0x31, 0xc1, 0xfe, 0x4d, 0x01, 0x95, 0x6b, 0x90,
  2767  	0x61, 0xec, 0x42, 0x08, 0x4a, 0xcd, 0xea, 0xa1, 0xd4, 0x54, 0x3a, 0xdd, 0x7e, 0xa3, 0xd3, 0xae,
  2768  	0x36, 0x85, 0xc4, 0x54, 0x26, 0x4b, 0x3f, 0x39, 0x6e, 0xc8, 0x52, 0x5d, 0x48, 0x46, 0x65, 0x5d,
  2769  	0xa9, 0xda, 0x97, 0xea, 0x42, 0xaa, 0xac, 0xc2, 0xe6, 0xa2, 0x3a, 0xb9, 0x70, 0x67, 0x44, 0x3e,
  2770  	0x71, 0x72, 0xc9, 0x27, 0x66, 0xbe, 0xe6, 0x3e, 0xf1, 0xbf, 0x92, 0xb0, 0xb1, 0xe0, 0xac, 0x58,
  2771  	0x38, 0xc9, 0x0f, 0x21, 0xc3, 0x29, 0xca, 0x4f, 0xcf, 0x2b, 0x0b, 0x0f, 0x1d, 0x46, 0xd8, 0xb9,
  2772  	0x13, 0x94, 0xd9, 0x45, 0x3b, 0x88, 0xd4, 0x92, 0x0e, 0x82, 0xba, 0x98, 0xab, 0xe9, 0x3f, 0x9f,
  2773  	0xab, 0xe9, 0xfc, 0xd8, 0xdb, 0x3f, 0xcb, 0xb1, 0xc7, 0x64, 0xdf, 0xae, 0xb6, 0x67, 0x16, 0xd4,
  2774  	0xf6, 0xbb, 0xb0, 0x3e, 0xe7, 0xe8, 0xcc, 0x35, 0xf6, 0x97, 0x09, 0x10, 0x97, 0x25, 0xe7, 0x15,
  2775  	0x95, 0x2e, 0x19, 0xab, 0x74, 0x77, 0x67, 0x33, 0x78, 0x71, 0xf9, 0x47, 0x98, 0xfb, 0xd6, 0xdf,
  2776  	0x24, 0x60, 0x6b, 0x71, 0xa7, 0xb8, 0x30, 0x86, 0xcf, 0x21, 0x3b, 0x26, 0xde, 0xc8, 0x0a, 0xba,
  2777  	0xa5, 0x8f, 0x16, 0x9c, 0xc1, 0x54, 0x3d, 0xfb, 0xb1, 0x7d, 0xab, 0xe8, 0x21, 0x9e, 0x5a, 0xd6,
  2778  	0xee, 0xf1, 0x68, 0xe6, 0x22, 0xfd, 0x55, 0x12, 0xde, 0x5e, 0xe8, 0x7c, 0x61, 0xa0, 0xef, 0x01,
  2779  	0xe8, 0xa6, 0x3d, 0xf1, 0x78, 0x47, 0xc4, 0x0b, 0x6c, 0x9e, 0x49, 0x58, 0xf1, 0xa2, 0xc5, 0x73,
  2780  	0xe2, 0x85, 0xfa, 0x14, 0xd3, 0x03, 0x17, 0x31, 0xc0, 0x9d, 0x69, 0xa0, 0x69, 0x16, 0xe8, 0xfb,
  2781  	0x4b, 0x56, 0x3a, 0x47, 0xcc, 0x4f, 0x41, 0x50, 0x0d, 0x9d, 0x98, 0x9e, 0xe2, 0x7a, 0x0e, 0xc1,
  2782  	0x63, 0xdd, 0x1c, 0xb2, 0x13, 0x24, 0x77, 0x90, 0x19, 0x60, 0xc3, 0x25, 0xf2, 0x1a, 0x57, 0xf7,
  2783  	0x02, 0x2d, 0xb5, 0x60, 0x04, 0x72, 0x22, 0x16, 0xd9, 0x98, 0x05, 0x57, 0x87, 0x16, 0xe5, 0x5f,
  2784  	0xe7, 0xa1, 0x10, 0xe9, 0xab, 0xd1, 0x45, 0x28, 0x3e, 0xc2, 0x4f, 0xb0, 0x12, 0xdc, 0x95, 0x78,
  2785  	0x26, 0x0a, 0x54, 0xd6, 0xf5, 0xef, 0x4b, 0x9f, 0xc2, 0x26, 0x83, 0x58, 0x13, 0x8f, 0x38, 0x8a,
  2786  	0x6a, 0x60, 0xd7, 0x65, 0x49, 0xcb, 0x31, 0x28, 0xa2, 0xba, 0x0e, 0x55, 0xd5, 0x02, 0x0d, 0xba,
  2787  	0x05, 0x1b, 0xcc, 0x62, 0x3c, 0x31, 0x3c, 0xdd, 0x36, 0x88, 0x42, 0x6f, 0x6f, 0x2e, 0x3b, 0x49,
  2788  	0xc2, 0xc8, 0xd6, 0x29, 0xa2, 0xe5, 0x03, 0x68, 0x44, 0x2e, 0xaa, 0xc3, 0x7b, 0xcc, 0x6c, 0x48,
  2789  	0x4c, 0xe2, 0x60, 0x8f, 0x28, 0xe4, 0xeb, 0x09, 0x36, 0x5c, 0x05, 0x9b, 0x9a, 0x32, 0xc2, 0xee,
  2790  	0x48, 0xdc, 0xa4, 0x0e, 0x0e, 0x93, 0x62, 0x42, 0x3e, 0x4f, 0x81, 0x47, 0x3e, 0x4e, 0x62, 0xb0,
  2791  	0xaa, 0xa9, 0x7d, 0x81, 0xdd, 0x11, 0x3a, 0x80, 0x2d, 0xe6, 0xc5, 0xf5, 0x1c, 0xdd, 0x1c, 0x2a,
  2792  	0xea, 0x88, 0xa8, 0x8f, 0x95, 0x89, 0x37, 0xb8, 0x23, 0xbe, 0x13, 0x9d, 0x9f, 0x45, 0xd8, 0x63,
  2793  	0x98, 0x1a, 0x85, 0x1c, 0x7b, 0x83, 0x3b, 0xa8, 0x07, 0x45, 0xfa, 0x31, 0xc6, 0xfa, 0x73, 0xa2,
  2794  	0x0c, 0x2c, 0x87, 0x1d, 0x8d, 0xa5, 0x05, 0xa5, 0x29, 0x92, 0xc1, 0x4a, 0xc7, 0x37, 0x68, 0x59,
  2795  	0x1a, 0x39, 0xc8, 0xf4, 0xba, 0x92, 0x54, 0x97, 0x0b, 0x81, 0x97, 0x7b, 0x96, 0x43, 0x09, 0x35,
  2796  	0xb4, 0xc2, 0x04, 0x17, 0x38, 0xa1, 0x86, 0x56, 0x90, 0xde, 0x5b, 0xb0, 0xa1, 0xaa, 0x7c, 0xcd,
  2797  	0xba, 0xaa, 0xf8, 0x77, 0x2c, 0x57, 0x14, 0x62, 0xc9, 0x52, 0xd5, 0x23, 0x0e, 0xf0, 0x39, 0xee,
  2798  	0xa2, 0xcf, 0xe0, 0xed, 0x69, 0xb2, 0xa2, 0x86, 0xeb, 0x73, 0xab, 0x9c, 0x35, 0xbd, 0x05, 0x1b,
  2799  	0xf6, 0xe9, 0xbc, 0x21, 0x8a, 0xcd, 0x68, 0x9f, 0xce, 0x9a, 0xdd, 0x86, 0x4d, 0x7b, 0x64, 0xcf,
  2800  	0xdb, 0x5d, 0x8d, 0xda, 0x21, 0x7b, 0x64, 0xcf, 0x1a, 0x5e, 0x62, 0x17, 0x6e, 0x87, 0xa8, 0xd8,
  2801  	0x23, 0x9a, 0x78, 0x2e, 0x0a, 0x8f, 0x28, 0xd0, 0x75, 0x10, 0x54, 0x55, 0x21, 0x26, 0x3e, 0x31,
  2802  	0x88, 0x82, 0x1d, 0x62, 0x62, 0x57, 0xbc, 0x10, 0x05, 0x97, 0x54, 0x55, 0x62, 0xda, 0x2a, 0x53,
  2803  	0xa2, 0xab, 0xb0, 0x6e, 0x9d, 0x3c, 0x52, 0x39, 0x25, 0x15, 0xdb, 0x21, 0x03, 0xfd, 0x99, 0xf8,
  2804  	0x21, 0xcb, 0xef, 0x1a, 0x55, 0x30, 0x42, 0x76, 0x99, 0x18, 0x5d, 0x01, 0x41, 0x75, 0x47, 0xd8,
  2805  	0xb1, 0x59, 0x4d, 0x76, 0x6d, 0xac, 0x12, 0xf1, 0x12, 0x87, 0x72, 0x79, 0x3b, 0x10, 0xd3, 0x2d,
  2806  	0xe1, 0x3e, 0xd5, 0x07, 0x5e, 0xe0, 0xf1, 0x32, 0xdf, 0x12, 0x4c, 0xe6, 0x7b, 0xdb, 0x05, 0x81,
  2807  	0xa6, 0x22, 0x36, 0xf1, 0x2e, 0x83, 0x95, 0xec, 0x91, 0x1d, 0x9d, 0xf7, 0x03, 0x58, 0xa5, 0xc8,
  2808  	0xe9, 0xa4, 0x57, 0x78, 0x43, 0x66, 0x8f, 0x22, 0x33, 0xde, 0x84, 0x2d, 0x0a, 0x1a, 0x13, 0x0f,
  2809  	0x6b, 0xd8, 0xc3, 0x11, 0xf4, 0xc7, 0x0c, 0x4d, 0xf3, 0xde, 0xf2, 0x95, 0xb1, 0x38, 0x9d, 0xc9,
  2810  	0xc9, 0x69, 0xc8, 0xac, 0x4f, 0x78, 0x9c, 0x54, 0x16, 0x70, 0xeb, 0xb5, 0x35, 0xdd, 0xe5, 0x03,
  2811  	0x28, 0x46, 0x89, 0x8f, 0xf2, 0xc0, 0xa9, 0x2f, 0x24, 0x68, 0x17, 0x54, 0xeb, 0xd4, 0x69, 0xff,
  2812  	0xf2, 0x95, 0x24, 0x24, 0x69, 0x1f, 0xd5, 0x6c, 0xf4, 0x25, 0x45, 0x3e, 0x6e, 0xf7, 0x1b, 0x2d,
  2813  	0x49, 0x48, 0x45, 0x1b, 0xf6, 0xbf, 0x26, 0xa1, 0x14, 0xbf, 0x7b, 0xa1, 0x1f, 0xc0, 0xb9, 0xe0,
  2814  	0xa1, 0xc4, 0x25, 0x9e, 0xf2, 0x54, 0x77, 0xd8, 0x5e, 0x1c, 0x63, 0x7e, 0x2e, 0x86, 0x6c, 0xd8,
  2815  	0xf4, 0x51, 0x3d, 0xe2, 0x7d, 0xa9, 0x3b, 0x74, 0xa7, 0x8d, 0xb1, 0x87, 0x9a, 0x70, 0xc1, 0xb4,
  2816  	0x14, 0xd7, 0xc3, 0xa6, 0x86, 0x1d, 0x4d, 0x99, 0x3e, 0x51, 0x29, 0x58, 0x55, 0x89, 0xeb, 0x5a,
  2817  	0xfc, 0x0c, 0x0c, 0xbd, 0xbc, 0x6b, 0x5a, 0x3d, 0x1f, 0x3c, 0x3d, 0x1c, 0xaa, 0x3e, 0x74, 0x86,
  2818  	0xb9, 0xa9, 0x65, 0xcc, 0x7d, 0x07, 0xf2, 0x63, 0x6c, 0x2b, 0xc4, 0xf4, 0x9c, 0x53, 0xd6, 0x71,
  2819  	0xe7, 0xe4, 0xdc, 0x18, 0xdb, 0x12, 0x1d, 0xbf, 0x99, 0x8b, 0xcf, 0x3f, 0x52, 0x50, 0x8c, 0x76,
  2820  	0xdd, 0xf4, 0x12, 0xa3, 0xb2, 0x03, 0x2a, 0xc1, 0x4a, 0xd8, 0x07, 0x2f, 0xed, 0xd1, 0x2b, 0x35,
  2821  	0x7a, 0x72, 0x1d, 0x64, 0x79, 0x2f, 0x2c, 0x73, 0x4b, 0xda, 0x35, 0x50, 0x6a, 0x11, 0xde, 0x7b,
  2822  	0xe4, 0x64, 0x7f, 0x84, 0x8e, 0x20, 0xfb, 0xc8, 0x65, 0xbe, 0xb3, 0xcc, 0xf7, 0x87, 0x2f, 0xf7,
  2823  	0x7d, 0xbf, 0xc7, 0x9c, 0xe7, 0xef, 0xf7, 0x94, 0x76, 0x47, 0x6e, 0x55, 0x9b, 0xb2, 0x6f, 0x8e,
  2824  	0xce, 0x43, 0xda, 0xc0, 0xcf, 0x4f, 0xe3, 0x67, 0x1c, 0x13, 0x9d, 0x35, 0xf1, 0xe7, 0x21, 0xfd,
  2825  	0x94, 0xe0, 0xc7, 0xf1, 0x93, 0x85, 0x89, 0x5e, 0x23, 0xf5, 0xaf, 0x43, 0x86, 0xe5, 0x0b, 0x01,
  2826  	0xf8, 0x19, 0x13, 0xde, 0x42, 0x39, 0x48, 0xd7, 0x3a, 0x32, 0xa5, 0xbf, 0x00, 0x45, 0x2e, 0x55,
  2827  	0xba, 0x0d, 0xa9, 0x26, 0x09, 0xc9, 0xf2, 0x2d, 0xc8, 0xf2, 0x24, 0xd0, 0xad, 0x11, 0xa6, 0x41,
  2828  	0x78, 0xcb, 0x1f, 0xfa, 0x3e, 0x12, 0x81, 0xf6, 0xb8, 0x75, 0x28, 0xc9, 0x42, 0x32, 0xfa, 0x79,
  2829  	0x5d, 0x28, 0x46, 0x1b, 0xee, 0x37, 0xc3, 0xa9, 0xbf, 0x24, 0xa0, 0x10, 0x69, 0xa0, 0x69, 0xe7,
  2830  	0x83, 0x0d, 0xc3, 0x7a, 0xaa, 0x60, 0x43, 0xc7, 0xae, 0x4f, 0x0a, 0x60, 0xa2, 0x2a, 0x95, 0x9c,
  2831  	0xf5, 0xa3, 0xbd, 0x91, 0xe0, 0x7f, 0x9f, 0x00, 0x61, 0xb6, 0x77, 0x9d, 0x09, 0x30, 0xf1, 0xbd,
  2832  	0x06, 0xf8, 0xbb, 0x04, 0x94, 0xe2, 0x0d, 0xeb, 0x4c, 0x78, 0x17, 0xbf, 0xd7, 0xf0, 0xfe, 0x99,
  2833  	0x84, 0xd5, 0x58, 0x9b, 0x7a, 0xd6, 0xe8, 0xbe, 0x86, 0x75, 0x5d, 0x23, 0x63, 0xdb, 0xf2, 0x88,
  2834  	0xa9, 0x9e, 0x2a, 0x06, 0x79, 0x42, 0x0c, 0xb1, 0xcc, 0x0a, 0xc5, 0xf5, 0x97, 0x37, 0xc2, 0x95,
  2835  	0xc6, 0xd4, 0xae, 0x49, 0xcd, 0x0e, 0x36, 0x1a, 0x75, 0xa9, 0xd5, 0xed, 0xf4, 0xa5, 0x76, 0xed,
  2836  	0xa1, 0x72, 0xdc, 0xfe, 0x71, 0xbb, 0xf3, 0x65, 0x5b, 0x16, 0xf4, 0x19, 0xd8, 0x6b, 0xdc, 0xea,
  2837  	0x5d, 0x10, 0x66, 0x83, 0x42, 0xe7, 0x60, 0x51, 0x58, 0xc2, 0x5b, 0x68, 0x03, 0xd6, 0xda, 0x1d,
  2838  	0xa5, 0xd7, 0xa8, 0x4b, 0x8a, 0x74, 0xef, 0x9e, 0x54, 0xeb, 0xf7, 0xf8, 0xd3, 0x46, 0x88, 0xee,
  2839  	0xc7, 0x37, 0xf5, 0x6f, 0x53, 0xb0, 0xb1, 0x20, 0x12, 0x54, 0xf5, 0x2f, 0x25, 0xfc, 0x9e, 0xf4,
  2840  	0xc9, 0x59, 0xa2, 0xaf, 0xd0, 0xae, 0xa0, 0x8b, 0x1d, 0xcf, 0xbf, 0xc3, 0x5c, 0x01, 0x9a, 0x25,
  2841  	0xd3, 0xd3, 0x07, 0x3a, 0x71, 0xfc, 0x97, 0x20, 0x7e, 0x53, 0x59, 0x9b, 0xca, 0xf9, 0x63, 0xd0,
  2842  	0xc7, 0x80, 0x6c, 0xcb, 0xd5, 0x3d, 0xfd, 0x09, 0x51, 0x74, 0x33, 0x78, 0x36, 0xa2, 0x37, 0x97,
  2843  	0xb4, 0x2c, 0x04, 0x9a, 0x86, 0xe9, 0x85, 0x68, 0x93, 0x0c, 0xf1, 0x0c, 0x9a, 0x16, 0xf0, 0x94,
  2844  	0x2c, 0x04, 0x9a, 0x10, 0x7d, 0x11, 0x8a, 0x9a, 0x35, 0xa1, 0xed, 0x1c, 0xc7, 0xd1, 0xf3, 0x22,
  2845  	0x21, 0x17, 0xb8, 0x2c, 0x84, 0xf8, 0x8d, 0xfa, 0xf4, 0xbd, 0xaa, 0x28, 0x17, 0xb8, 0x8c, 0x43,
  2846  	0x2e, 0xc3, 0x1a, 0x1e, 0x0e, 0x1d, 0xea, 0x3c, 0x70, 0xc4, 0xaf, 0x1e, 0xa5, 0x50, 0xcc, 0x80,
  2847  	0xdb, 0xf7, 0x21, 0x17, 0xe4, 0x81, 0x1e, 0xc9, 0x34, 0x13, 0x8a, 0xcd, 0xef, 0xd3, 0xc9, 0xdd,
  2848  	0xbc, 0x9c, 0x33, 0x03, 0xe5, 0x45, 0x28, 0xea, 0xae, 0x32, 0x7d, 0x7e, 0x4f, 0xee, 0x24, 0x77,
  2849  	0x73, 0x72, 0x41, 0x77, 0xc3, 0xa7, 0xcb, 0xf2, 0x37, 0x49, 0x28, 0xc5, 0x7f, 0x3e, 0x40, 0x75,
  2850  	0xc8, 0x19, 0x96, 0x8a, 0x19, 0xb5, 0xf8, 0x6f, 0x57, 0xbb, 0xaf, 0xf8, 0xc5, 0xa1, 0xd2, 0xf4,
  2851  	0xf1, 0x72, 0x68, 0xb9, 0xfd, 0xb7, 0x04, 0xe4, 0x02, 0x31, 0xda, 0x82, 0xb4, 0x8d, 0xbd, 0x11,
  2852  	0x73, 0x97, 0x39, 0x4c, 0x0a, 0x09, 0x99, 0x8d, 0xa9, 0xdc, 0xb5, 0xb1, 0xc9, 0x28, 0xe0, 0xcb,
  2853  	0xe9, 0x98, 0x7e, 0x57, 0x83, 0x60, 0x8d, 0xdd, 0x6b, 0xac, 0xf1, 0x98, 0x98, 0x9e, 0x1b, 0x7c,
  2854  	0x57, 0x5f, 0x5e, 0xf3, 0xc5, 0xe8, 0x1a, 0xac, 0x7b, 0x0e, 0xd6, 0x8d, 0x18, 0x36, 0xcd, 0xb0,
  2855  	0x42, 0xa0, 0x08, 0xc1, 0x07, 0x70, 0x3e, 0xf0, 0xab, 0x11, 0x0f, 0xab, 0x23, 0xa2, 0x4d, 0x8d,
  2856  	0xb2, 0xec, 0xfd, 0xe2, 0x9c, 0x0f, 0xa8, 0xfb, 0xfa, 0xc0, 0xb6, 0xfc, 0xf7, 0x04, 0xac, 0x07,
  2857  	0x37, 0x31, 0x2d, 0x4c, 0x56, 0x0b, 0x00, 0x9b, 0xa6, 0xe5, 0x45, 0xd3, 0x35, 0x4f, 0xe5, 0x39,
  2858  	0xbb, 0x4a, 0x35, 0x34, 0x92, 0x23, 0x0e, 0xb6, 0xc7, 0x00, 0x53, 0xcd, 0xd2, 0xb4, 0x5d, 0x80,
  2859  	0x82, 0xff, 0xdb, 0x10, 0xfb, 0x81, 0x91, 0xdf, 0xdd, 0x81, 0x8b, 0xe8, 0x95, 0x0d, 0x6d, 0x42,
  2860  	0xe6, 0x84, 0x0c, 0x75, 0xd3, 0x7f, 0xf1, 0xe5, 0x83, 0xe0, 0x85, 0x25, 0x1d, 0xbe, 0xb0, 0x1c,
  2861  	0xfe, 0x0c, 0x36, 0x54, 0x6b, 0x3c, 0x1b, 0xee, 0xa1, 0x30, 0xf3, 0x7e, 0xe0, 0x7e, 0x91, 0xf8,
  2862  	0x0a, 0xa6, 0x2d, 0xe6, 0xff, 0x12, 0x89, 0x3f, 0x24, 0x53, 0x47, 0xdd, 0xc3, 0x3f, 0x26, 0xb7,
  2863  	0x8f, 0xb8, 0x69, 0x37, 0x58, 0xa9, 0x4c, 0x06, 0x06, 0x51, 0x69, 0xf4, 0xff, 0x0f, 0x00, 0x00,
  2864  	0xff, 0xff, 0x88, 0x17, 0xc1, 0xbe, 0x38, 0x1d, 0x00, 0x00,
  2865  }
  2866  

View as plain text