github.com/syumai/protoreflect@v1.7.1-0.20200810020253-2ac7e3b3a321/internal/testprotos/desc_test_complex.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.12.0
     5  // source: desc_test_complex.proto
     6  
     7  package testprotos
     8  
     9  import (
    10  	context "context"
    11  	proto "github.com/golang/protobuf/proto"
    12  	descriptor "github.com/golang/protobuf/protoc-gen-go/descriptor"
    13  	grpc "google.golang.org/grpc"
    14  	codes "google.golang.org/grpc/codes"
    15  	status "google.golang.org/grpc/status"
    16  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    17  	protoiface "google.golang.org/protobuf/runtime/protoiface"
    18  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    19  	reflect "reflect"
    20  	sync "sync"
    21  )
    22  
    23  const (
    24  	// Verify that this generated code is sufficiently up-to-date.
    25  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    26  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    27  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    28  )
    29  
    30  // This is a compile-time assertion that a sufficiently up-to-date version
    31  // of the legacy proto package is being used.
    32  const _ = proto.ProtoPackageIsVersion4
    33  
    34  type EnumWithReservations int32
    35  
    36  const (
    37  	EnumWithReservations_X EnumWithReservations = 2
    38  	EnumWithReservations_Y EnumWithReservations = 3
    39  	EnumWithReservations_Z EnumWithReservations = 4
    40  )
    41  
    42  // Enum value maps for EnumWithReservations.
    43  var (
    44  	EnumWithReservations_name = map[int32]string{
    45  		2: "X",
    46  		3: "Y",
    47  		4: "Z",
    48  	}
    49  	EnumWithReservations_value = map[string]int32{
    50  		"X": 2,
    51  		"Y": 3,
    52  		"Z": 4,
    53  	}
    54  )
    55  
    56  func (x EnumWithReservations) Enum() *EnumWithReservations {
    57  	p := new(EnumWithReservations)
    58  	*p = x
    59  	return p
    60  }
    61  
    62  func (x EnumWithReservations) String() string {
    63  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    64  }
    65  
    66  func (EnumWithReservations) Descriptor() protoreflect.EnumDescriptor {
    67  	return file_desc_test_complex_proto_enumTypes[0].Descriptor()
    68  }
    69  
    70  func (EnumWithReservations) Type() protoreflect.EnumType {
    71  	return &file_desc_test_complex_proto_enumTypes[0]
    72  }
    73  
    74  func (x EnumWithReservations) Number() protoreflect.EnumNumber {
    75  	return protoreflect.EnumNumber(x)
    76  }
    77  
    78  // Deprecated: Do not use.
    79  func (x *EnumWithReservations) UnmarshalJSON(b []byte) error {
    80  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
    81  	if err != nil {
    82  		return err
    83  	}
    84  	*x = EnumWithReservations(num)
    85  	return nil
    86  }
    87  
    88  // Deprecated: Use EnumWithReservations.Descriptor instead.
    89  func (EnumWithReservations) EnumDescriptor() ([]byte, []int) {
    90  	return file_desc_test_complex_proto_rawDescGZIP(), []int{0}
    91  }
    92  
    93  type Test_Nested_XNestedNested_EEE int32
    94  
    95  const (
    96  	Test_Nested_XNestedNested_OK Test_Nested_XNestedNested_EEE = 0
    97  	Test_Nested_XNestedNested_V1 Test_Nested_XNestedNested_EEE = 1
    98  	Test_Nested_XNestedNested_V2 Test_Nested_XNestedNested_EEE = 2
    99  	Test_Nested_XNestedNested_V3 Test_Nested_XNestedNested_EEE = 3
   100  	Test_Nested_XNestedNested_V4 Test_Nested_XNestedNested_EEE = 4
   101  	Test_Nested_XNestedNested_V5 Test_Nested_XNestedNested_EEE = 5
   102  	Test_Nested_XNestedNested_V6 Test_Nested_XNestedNested_EEE = 6
   103  )
   104  
   105  // Enum value maps for Test_Nested_XNestedNested_EEE.
   106  var (
   107  	Test_Nested_XNestedNested_EEE_name = map[int32]string{
   108  		0: "OK",
   109  		1: "V1",
   110  		2: "V2",
   111  		3: "V3",
   112  		4: "V4",
   113  		5: "V5",
   114  		6: "V6",
   115  	}
   116  	Test_Nested_XNestedNested_EEE_value = map[string]int32{
   117  		"OK": 0,
   118  		"V1": 1,
   119  		"V2": 2,
   120  		"V3": 3,
   121  		"V4": 4,
   122  		"V5": 5,
   123  		"V6": 6,
   124  	}
   125  )
   126  
   127  func (x Test_Nested_XNestedNested_EEE) Enum() *Test_Nested_XNestedNested_EEE {
   128  	p := new(Test_Nested_XNestedNested_EEE)
   129  	*p = x
   130  	return p
   131  }
   132  
   133  func (x Test_Nested_XNestedNested_EEE) String() string {
   134  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   135  }
   136  
   137  func (Test_Nested_XNestedNested_EEE) Descriptor() protoreflect.EnumDescriptor {
   138  	return file_desc_test_complex_proto_enumTypes[1].Descriptor()
   139  }
   140  
   141  func (Test_Nested_XNestedNested_EEE) Type() protoreflect.EnumType {
   142  	return &file_desc_test_complex_proto_enumTypes[1]
   143  }
   144  
   145  func (x Test_Nested_XNestedNested_EEE) Number() protoreflect.EnumNumber {
   146  	return protoreflect.EnumNumber(x)
   147  }
   148  
   149  // Deprecated: Do not use.
   150  func (x *Test_Nested_XNestedNested_EEE) UnmarshalJSON(b []byte) error {
   151  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
   152  	if err != nil {
   153  		return err
   154  	}
   155  	*x = Test_Nested_XNestedNested_EEE(num)
   156  	return nil
   157  }
   158  
   159  // Deprecated: Use Test_Nested_XNestedNested_EEE.Descriptor instead.
   160  func (Test_Nested_XNestedNested_EEE) EnumDescriptor() ([]byte, []int) {
   161  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1, 0, 0}
   162  }
   163  
   164  type Validator_Action int32
   165  
   166  const (
   167  	Validator_LOGIN Validator_Action = 0
   168  	Validator_READ  Validator_Action = 1
   169  	Validator_WRITE Validator_Action = 2
   170  )
   171  
   172  // Enum value maps for Validator_Action.
   173  var (
   174  	Validator_Action_name = map[int32]string{
   175  		0: "LOGIN",
   176  		1: "READ",
   177  		2: "WRITE",
   178  	}
   179  	Validator_Action_value = map[string]int32{
   180  		"LOGIN": 0,
   181  		"READ":  1,
   182  		"WRITE": 2,
   183  	}
   184  )
   185  
   186  func (x Validator_Action) Enum() *Validator_Action {
   187  	p := new(Validator_Action)
   188  	*p = x
   189  	return p
   190  }
   191  
   192  func (x Validator_Action) String() string {
   193  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   194  }
   195  
   196  func (Validator_Action) Descriptor() protoreflect.EnumDescriptor {
   197  	return file_desc_test_complex_proto_enumTypes[2].Descriptor()
   198  }
   199  
   200  func (Validator_Action) Type() protoreflect.EnumType {
   201  	return &file_desc_test_complex_proto_enumTypes[2]
   202  }
   203  
   204  func (x Validator_Action) Number() protoreflect.EnumNumber {
   205  	return protoreflect.EnumNumber(x)
   206  }
   207  
   208  // Deprecated: Do not use.
   209  func (x *Validator_Action) UnmarshalJSON(b []byte) error {
   210  	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
   211  	if err != nil {
   212  		return err
   213  	}
   214  	*x = Validator_Action(num)
   215  	return nil
   216  }
   217  
   218  // Deprecated: Use Validator_Action.Descriptor instead.
   219  func (Validator_Action) EnumDescriptor() ([]byte, []int) {
   220  	return file_desc_test_complex_proto_rawDescGZIP(), []int{5, 0}
   221  }
   222  
   223  type Simple struct {
   224  	state         protoimpl.MessageState
   225  	sizeCache     protoimpl.SizeCache
   226  	unknownFields protoimpl.UnknownFields
   227  
   228  	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   229  	Id   *uint64 `protobuf:"varint,2,opt,name=id" json:"id,omitempty"`
   230  }
   231  
   232  func (x *Simple) Reset() {
   233  	*x = Simple{}
   234  	if protoimpl.UnsafeEnabled {
   235  		mi := &file_desc_test_complex_proto_msgTypes[0]
   236  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   237  		ms.StoreMessageInfo(mi)
   238  	}
   239  }
   240  
   241  func (x *Simple) String() string {
   242  	return protoimpl.X.MessageStringOf(x)
   243  }
   244  
   245  func (*Simple) ProtoMessage() {}
   246  
   247  func (x *Simple) ProtoReflect() protoreflect.Message {
   248  	mi := &file_desc_test_complex_proto_msgTypes[0]
   249  	if protoimpl.UnsafeEnabled && x != nil {
   250  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   251  		if ms.LoadMessageInfo() == nil {
   252  			ms.StoreMessageInfo(mi)
   253  		}
   254  		return ms
   255  	}
   256  	return mi.MessageOf(x)
   257  }
   258  
   259  // Deprecated: Use Simple.ProtoReflect.Descriptor instead.
   260  func (*Simple) Descriptor() ([]byte, []int) {
   261  	return file_desc_test_complex_proto_rawDescGZIP(), []int{0}
   262  }
   263  
   264  func (x *Simple) GetName() string {
   265  	if x != nil && x.Name != nil {
   266  		return *x.Name
   267  	}
   268  	return ""
   269  }
   270  
   271  func (x *Simple) GetId() uint64 {
   272  	if x != nil && x.Id != nil {
   273  		return *x.Id
   274  	}
   275  	return 0
   276  }
   277  
   278  type Test struct {
   279  	state           protoimpl.MessageState
   280  	sizeCache       protoimpl.SizeCache
   281  	unknownFields   protoimpl.UnknownFields
   282  	extensionFields protoimpl.ExtensionFields
   283  
   284  	Foo   *string          `protobuf:"bytes,1,opt,name=foo,json=|foo|" json:"foo,omitempty"`
   285  	Array []int32          `protobuf:"varint,2,rep,name=array" json:"array,omitempty"`
   286  	S     *Simple          `protobuf:"bytes,3,opt,name=s" json:"s,omitempty"`
   287  	R     []*Simple        `protobuf:"bytes,4,rep,name=r" json:"r,omitempty"`
   288  	M     map[string]int32 `protobuf:"bytes,5,rep,name=m" json:"m,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
   289  	B     []byte           `protobuf:"bytes,6,opt,name=b,def=\\000\\001\\002\\003\\004\\005\\006\\007fubar!" json:"b,omitempty"`
   290  }
   291  
   292  // Default values for Test fields.
   293  var (
   294  	Default_Test_B = []byte("\x00\x01\x02\x03\x04\x05\x06\afubar!")
   295  )
   296  
   297  func (x *Test) Reset() {
   298  	*x = Test{}
   299  	if protoimpl.UnsafeEnabled {
   300  		mi := &file_desc_test_complex_proto_msgTypes[1]
   301  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   302  		ms.StoreMessageInfo(mi)
   303  	}
   304  }
   305  
   306  func (x *Test) String() string {
   307  	return protoimpl.X.MessageStringOf(x)
   308  }
   309  
   310  func (*Test) ProtoMessage() {}
   311  
   312  func (x *Test) ProtoReflect() protoreflect.Message {
   313  	mi := &file_desc_test_complex_proto_msgTypes[1]
   314  	if protoimpl.UnsafeEnabled && x != nil {
   315  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   316  		if ms.LoadMessageInfo() == nil {
   317  			ms.StoreMessageInfo(mi)
   318  		}
   319  		return ms
   320  	}
   321  	return mi.MessageOf(x)
   322  }
   323  
   324  // Deprecated: Use Test.ProtoReflect.Descriptor instead.
   325  func (*Test) Descriptor() ([]byte, []int) {
   326  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1}
   327  }
   328  
   329  var extRange_Test = []protoiface.ExtensionRangeV1{
   330  	{Start: 100, End: 200},
   331  	{Start: 300, End: 350},
   332  	{Start: 500, End: 550},
   333  }
   334  
   335  // Deprecated: Use Test.ProtoReflect.Descriptor.ExtensionRanges instead.
   336  func (*Test) ExtensionRangeArray() []protoiface.ExtensionRangeV1 {
   337  	return extRange_Test
   338  }
   339  
   340  func (x *Test) GetFoo() string {
   341  	if x != nil && x.Foo != nil {
   342  		return *x.Foo
   343  	}
   344  	return ""
   345  }
   346  
   347  func (x *Test) GetArray() []int32 {
   348  	if x != nil {
   349  		return x.Array
   350  	}
   351  	return nil
   352  }
   353  
   354  func (x *Test) GetS() *Simple {
   355  	if x != nil {
   356  		return x.S
   357  	}
   358  	return nil
   359  }
   360  
   361  func (x *Test) GetR() []*Simple {
   362  	if x != nil {
   363  		return x.R
   364  	}
   365  	return nil
   366  }
   367  
   368  func (x *Test) GetM() map[string]int32 {
   369  	if x != nil {
   370  		return x.M
   371  	}
   372  	return nil
   373  }
   374  
   375  func (x *Test) GetB() []byte {
   376  	if x != nil && x.B != nil {
   377  		return x.B
   378  	}
   379  	return append([]byte(nil), Default_Test_B...)
   380  }
   381  
   382  type MessageWithReservations struct {
   383  	state         protoimpl.MessageState
   384  	sizeCache     protoimpl.SizeCache
   385  	unknownFields protoimpl.UnknownFields
   386  }
   387  
   388  func (x *MessageWithReservations) Reset() {
   389  	*x = MessageWithReservations{}
   390  	if protoimpl.UnsafeEnabled {
   391  		mi := &file_desc_test_complex_proto_msgTypes[2]
   392  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   393  		ms.StoreMessageInfo(mi)
   394  	}
   395  }
   396  
   397  func (x *MessageWithReservations) String() string {
   398  	return protoimpl.X.MessageStringOf(x)
   399  }
   400  
   401  func (*MessageWithReservations) ProtoMessage() {}
   402  
   403  func (x *MessageWithReservations) ProtoReflect() protoreflect.Message {
   404  	mi := &file_desc_test_complex_proto_msgTypes[2]
   405  	if protoimpl.UnsafeEnabled && x != nil {
   406  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   407  		if ms.LoadMessageInfo() == nil {
   408  			ms.StoreMessageInfo(mi)
   409  		}
   410  		return ms
   411  	}
   412  	return mi.MessageOf(x)
   413  }
   414  
   415  // Deprecated: Use MessageWithReservations.ProtoReflect.Descriptor instead.
   416  func (*MessageWithReservations) Descriptor() ([]byte, []int) {
   417  	return file_desc_test_complex_proto_rawDescGZIP(), []int{2}
   418  }
   419  
   420  type MessageWithMap struct {
   421  	state         protoimpl.MessageState
   422  	sizeCache     protoimpl.SizeCache
   423  	unknownFields protoimpl.UnknownFields
   424  
   425  	Vals map[string]*Simple `protobuf:"bytes,1,rep,name=vals" json:"vals,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
   426  }
   427  
   428  func (x *MessageWithMap) Reset() {
   429  	*x = MessageWithMap{}
   430  	if protoimpl.UnsafeEnabled {
   431  		mi := &file_desc_test_complex_proto_msgTypes[3]
   432  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   433  		ms.StoreMessageInfo(mi)
   434  	}
   435  }
   436  
   437  func (x *MessageWithMap) String() string {
   438  	return protoimpl.X.MessageStringOf(x)
   439  }
   440  
   441  func (*MessageWithMap) ProtoMessage() {}
   442  
   443  func (x *MessageWithMap) ProtoReflect() protoreflect.Message {
   444  	mi := &file_desc_test_complex_proto_msgTypes[3]
   445  	if protoimpl.UnsafeEnabled && x != nil {
   446  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   447  		if ms.LoadMessageInfo() == nil {
   448  			ms.StoreMessageInfo(mi)
   449  		}
   450  		return ms
   451  	}
   452  	return mi.MessageOf(x)
   453  }
   454  
   455  // Deprecated: Use MessageWithMap.ProtoReflect.Descriptor instead.
   456  func (*MessageWithMap) Descriptor() ([]byte, []int) {
   457  	return file_desc_test_complex_proto_rawDescGZIP(), []int{3}
   458  }
   459  
   460  func (x *MessageWithMap) GetVals() map[string]*Simple {
   461  	if x != nil {
   462  		return x.Vals
   463  	}
   464  	return nil
   465  }
   466  
   467  type Another struct {
   468  	state         protoimpl.MessageState
   469  	sizeCache     protoimpl.SizeCache
   470  	unknownFields protoimpl.UnknownFields
   471  
   472  	Test *Test                          `protobuf:"bytes,1,opt,name=test" json:"test,omitempty"`
   473  	Fff  *Test_Nested_XNestedNested_EEE `protobuf:"varint,2,opt,name=fff,enum=foo.bar.Test_Nested_XNestedNested_EEE,def=1" json:"fff,omitempty"`
   474  }
   475  
   476  // Default values for Another fields.
   477  const (
   478  	Default_Another_Fff = Test_Nested_XNestedNested_V1
   479  )
   480  
   481  func (x *Another) Reset() {
   482  	*x = Another{}
   483  	if protoimpl.UnsafeEnabled {
   484  		mi := &file_desc_test_complex_proto_msgTypes[4]
   485  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   486  		ms.StoreMessageInfo(mi)
   487  	}
   488  }
   489  
   490  func (x *Another) String() string {
   491  	return protoimpl.X.MessageStringOf(x)
   492  }
   493  
   494  func (*Another) ProtoMessage() {}
   495  
   496  func (x *Another) ProtoReflect() protoreflect.Message {
   497  	mi := &file_desc_test_complex_proto_msgTypes[4]
   498  	if protoimpl.UnsafeEnabled && x != nil {
   499  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   500  		if ms.LoadMessageInfo() == nil {
   501  			ms.StoreMessageInfo(mi)
   502  		}
   503  		return ms
   504  	}
   505  	return mi.MessageOf(x)
   506  }
   507  
   508  // Deprecated: Use Another.ProtoReflect.Descriptor instead.
   509  func (*Another) Descriptor() ([]byte, []int) {
   510  	return file_desc_test_complex_proto_rawDescGZIP(), []int{4}
   511  }
   512  
   513  func (x *Another) GetTest() *Test {
   514  	if x != nil {
   515  		return x.Test
   516  	}
   517  	return nil
   518  }
   519  
   520  func (x *Another) GetFff() Test_Nested_XNestedNested_EEE {
   521  	if x != nil && x.Fff != nil {
   522  		return *x.Fff
   523  	}
   524  	return Default_Another_Fff
   525  }
   526  
   527  type Validator struct {
   528  	state         protoimpl.MessageState
   529  	sizeCache     protoimpl.SizeCache
   530  	unknownFields protoimpl.UnknownFields
   531  
   532  	Authenticated *bool                   `protobuf:"varint,1,opt,name=authenticated" json:"authenticated,omitempty"`
   533  	Permission    []*Validator_Permission `protobuf:"bytes,2,rep,name=permission" json:"permission,omitempty"`
   534  }
   535  
   536  func (x *Validator) Reset() {
   537  	*x = Validator{}
   538  	if protoimpl.UnsafeEnabled {
   539  		mi := &file_desc_test_complex_proto_msgTypes[5]
   540  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   541  		ms.StoreMessageInfo(mi)
   542  	}
   543  }
   544  
   545  func (x *Validator) String() string {
   546  	return protoimpl.X.MessageStringOf(x)
   547  }
   548  
   549  func (*Validator) ProtoMessage() {}
   550  
   551  func (x *Validator) ProtoReflect() protoreflect.Message {
   552  	mi := &file_desc_test_complex_proto_msgTypes[5]
   553  	if protoimpl.UnsafeEnabled && x != nil {
   554  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   555  		if ms.LoadMessageInfo() == nil {
   556  			ms.StoreMessageInfo(mi)
   557  		}
   558  		return ms
   559  	}
   560  	return mi.MessageOf(x)
   561  }
   562  
   563  // Deprecated: Use Validator.ProtoReflect.Descriptor instead.
   564  func (*Validator) Descriptor() ([]byte, []int) {
   565  	return file_desc_test_complex_proto_rawDescGZIP(), []int{5}
   566  }
   567  
   568  func (x *Validator) GetAuthenticated() bool {
   569  	if x != nil && x.Authenticated != nil {
   570  		return *x.Authenticated
   571  	}
   572  	return false
   573  }
   574  
   575  func (x *Validator) GetPermission() []*Validator_Permission {
   576  	if x != nil {
   577  		return x.Permission
   578  	}
   579  	return nil
   580  }
   581  
   582  type Rule struct {
   583  	state         protoimpl.MessageState
   584  	sizeCache     protoimpl.SizeCache
   585  	unknownFields protoimpl.UnknownFields
   586  
   587  	// Types that are assignable to Rule:
   588  	//	*Rule_String_
   589  	//	*Rule_Repeated
   590  	//	*Rule_Int
   591  	//	*Rule_Floatrule
   592  	Rule isRule_Rule `protobuf_oneof:"rule"`
   593  }
   594  
   595  func (x *Rule) Reset() {
   596  	*x = Rule{}
   597  	if protoimpl.UnsafeEnabled {
   598  		mi := &file_desc_test_complex_proto_msgTypes[6]
   599  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   600  		ms.StoreMessageInfo(mi)
   601  	}
   602  }
   603  
   604  func (x *Rule) String() string {
   605  	return protoimpl.X.MessageStringOf(x)
   606  }
   607  
   608  func (*Rule) ProtoMessage() {}
   609  
   610  func (x *Rule) ProtoReflect() protoreflect.Message {
   611  	mi := &file_desc_test_complex_proto_msgTypes[6]
   612  	if protoimpl.UnsafeEnabled && x != nil {
   613  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   614  		if ms.LoadMessageInfo() == nil {
   615  			ms.StoreMessageInfo(mi)
   616  		}
   617  		return ms
   618  	}
   619  	return mi.MessageOf(x)
   620  }
   621  
   622  // Deprecated: Use Rule.ProtoReflect.Descriptor instead.
   623  func (*Rule) Descriptor() ([]byte, []int) {
   624  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6}
   625  }
   626  
   627  func (m *Rule) GetRule() isRule_Rule {
   628  	if m != nil {
   629  		return m.Rule
   630  	}
   631  	return nil
   632  }
   633  
   634  func (x *Rule) GetString_() *Rule_StringRule {
   635  	if x, ok := x.GetRule().(*Rule_String_); ok {
   636  		return x.String_
   637  	}
   638  	return nil
   639  }
   640  
   641  func (x *Rule) GetRepeated() *Rule_RepeatedRule {
   642  	if x, ok := x.GetRule().(*Rule_Repeated); ok {
   643  		return x.Repeated
   644  	}
   645  	return nil
   646  }
   647  
   648  func (x *Rule) GetInt() *Rule_IntRule {
   649  	if x, ok := x.GetRule().(*Rule_Int); ok {
   650  		return x.Int
   651  	}
   652  	return nil
   653  }
   654  
   655  func (x *Rule) GetFloatrule() *Rule_FloatRule {
   656  	if x, ok := x.GetRule().(*Rule_Floatrule); ok {
   657  		return x.Floatrule
   658  	}
   659  	return nil
   660  }
   661  
   662  type isRule_Rule interface {
   663  	isRule_Rule()
   664  }
   665  
   666  type Rule_String_ struct {
   667  	String_ *Rule_StringRule `protobuf:"bytes,1,opt,name=string,oneof"`
   668  }
   669  
   670  type Rule_Repeated struct {
   671  	Repeated *Rule_RepeatedRule `protobuf:"bytes,2,opt,name=repeated,oneof"`
   672  }
   673  
   674  type Rule_Int struct {
   675  	Int *Rule_IntRule `protobuf:"bytes,3,opt,name=int,oneof"`
   676  }
   677  
   678  type Rule_Floatrule struct {
   679  	Floatrule *Rule_FloatRule `protobuf:"group,4,opt,name=FloatRule,json=floatrule,oneof"`
   680  }
   681  
   682  func (*Rule_String_) isRule_Rule() {}
   683  
   684  func (*Rule_Repeated) isRule_Rule() {}
   685  
   686  func (*Rule_Int) isRule_Rule() {}
   687  
   688  func (*Rule_Floatrule) isRule_Rule() {}
   689  
   690  type IsAuthorizedReq struct {
   691  	state         protoimpl.MessageState
   692  	sizeCache     protoimpl.SizeCache
   693  	unknownFields protoimpl.UnknownFields
   694  
   695  	Subjects []string `protobuf:"bytes,1,rep,name=subjects" json:"subjects,omitempty"`
   696  }
   697  
   698  func (x *IsAuthorizedReq) Reset() {
   699  	*x = IsAuthorizedReq{}
   700  	if protoimpl.UnsafeEnabled {
   701  		mi := &file_desc_test_complex_proto_msgTypes[7]
   702  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   703  		ms.StoreMessageInfo(mi)
   704  	}
   705  }
   706  
   707  func (x *IsAuthorizedReq) String() string {
   708  	return protoimpl.X.MessageStringOf(x)
   709  }
   710  
   711  func (*IsAuthorizedReq) ProtoMessage() {}
   712  
   713  func (x *IsAuthorizedReq) ProtoReflect() protoreflect.Message {
   714  	mi := &file_desc_test_complex_proto_msgTypes[7]
   715  	if protoimpl.UnsafeEnabled && x != nil {
   716  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   717  		if ms.LoadMessageInfo() == nil {
   718  			ms.StoreMessageInfo(mi)
   719  		}
   720  		return ms
   721  	}
   722  	return mi.MessageOf(x)
   723  }
   724  
   725  // Deprecated: Use IsAuthorizedReq.ProtoReflect.Descriptor instead.
   726  func (*IsAuthorizedReq) Descriptor() ([]byte, []int) {
   727  	return file_desc_test_complex_proto_rawDescGZIP(), []int{7}
   728  }
   729  
   730  func (x *IsAuthorizedReq) GetSubjects() []string {
   731  	if x != nil {
   732  		return x.Subjects
   733  	}
   734  	return nil
   735  }
   736  
   737  type KeywordCollisions struct {
   738  	state         protoimpl.MessageState
   739  	sizeCache     protoimpl.SizeCache
   740  	unknownFields protoimpl.UnknownFields
   741  
   742  	Syntax     *bool    `protobuf:"varint,1,opt,name=syntax" json:"syntax,omitempty"`
   743  	Import     *bool    `protobuf:"varint,2,opt,name=import" json:"import,omitempty"`
   744  	Public     *bool    `protobuf:"varint,3,opt,name=public" json:"public,omitempty"`
   745  	Weak       *bool    `protobuf:"varint,4,opt,name=weak" json:"weak,omitempty"`
   746  	Package    *bool    `protobuf:"varint,5,opt,name=package" json:"package,omitempty"`
   747  	String_    *string  `protobuf:"bytes,6,opt,name=string" json:"string,omitempty"`
   748  	Bytes      []byte   `protobuf:"bytes,7,opt,name=bytes" json:"bytes,omitempty"`
   749  	Int32      *int32   `protobuf:"varint,8,opt,name=int32" json:"int32,omitempty"`
   750  	Int64      *int64   `protobuf:"varint,9,opt,name=int64" json:"int64,omitempty"`
   751  	Uint32     *uint32  `protobuf:"varint,10,opt,name=uint32" json:"uint32,omitempty"`
   752  	Uint64     *uint64  `protobuf:"varint,11,opt,name=uint64" json:"uint64,omitempty"`
   753  	Sint32     *int32   `protobuf:"zigzag32,12,opt,name=sint32" json:"sint32,omitempty"`
   754  	Sint64     *int64   `protobuf:"zigzag64,13,opt,name=sint64" json:"sint64,omitempty"`
   755  	Fixed32    *uint32  `protobuf:"fixed32,14,opt,name=fixed32" json:"fixed32,omitempty"`
   756  	Fixed64    *uint64  `protobuf:"fixed64,15,opt,name=fixed64" json:"fixed64,omitempty"`
   757  	Sfixed32   *int32   `protobuf:"fixed32,16,opt,name=sfixed32" json:"sfixed32,omitempty"`
   758  	Sfixed64   *int64   `protobuf:"fixed64,17,opt,name=sfixed64" json:"sfixed64,omitempty"`
   759  	Bool       *bool    `protobuf:"varint,18,opt,name=bool" json:"bool,omitempty"`
   760  	Float      *float32 `protobuf:"fixed32,19,opt,name=float" json:"float,omitempty"`
   761  	Double     *float64 `protobuf:"fixed64,20,opt,name=double" json:"double,omitempty"`
   762  	Optional   *bool    `protobuf:"varint,21,opt,name=optional" json:"optional,omitempty"`
   763  	Repeated   *bool    `protobuf:"varint,22,opt,name=repeated" json:"repeated,omitempty"`
   764  	Required   *bool    `protobuf:"varint,23,opt,name=required" json:"required,omitempty"`
   765  	Message    *bool    `protobuf:"varint,24,opt,name=message" json:"message,omitempty"`
   766  	Enum       *bool    `protobuf:"varint,25,opt,name=enum" json:"enum,omitempty"`
   767  	Service    *bool    `protobuf:"varint,26,opt,name=service" json:"service,omitempty"`
   768  	Rpc        *bool    `protobuf:"varint,27,opt,name=rpc" json:"rpc,omitempty"`
   769  	Option     *bool    `protobuf:"varint,28,opt,name=option" json:"option,omitempty"`
   770  	Extend     *bool    `protobuf:"varint,29,opt,name=extend" json:"extend,omitempty"`
   771  	Extensions *bool    `protobuf:"varint,30,opt,name=extensions" json:"extensions,omitempty"`
   772  	Reserved   *bool    `protobuf:"varint,31,opt,name=reserved" json:"reserved,omitempty"`
   773  	To         *bool    `protobuf:"varint,32,opt,name=to" json:"to,omitempty"`
   774  	True       *int32   `protobuf:"varint,33,opt,name=true" json:"true,omitempty"`
   775  	False      *int32   `protobuf:"varint,34,opt,name=false" json:"false,omitempty"`
   776  	Default    *int32   `protobuf:"varint,35,opt,name=default" json:"default,omitempty"`
   777  }
   778  
   779  func (x *KeywordCollisions) Reset() {
   780  	*x = KeywordCollisions{}
   781  	if protoimpl.UnsafeEnabled {
   782  		mi := &file_desc_test_complex_proto_msgTypes[8]
   783  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   784  		ms.StoreMessageInfo(mi)
   785  	}
   786  }
   787  
   788  func (x *KeywordCollisions) String() string {
   789  	return protoimpl.X.MessageStringOf(x)
   790  }
   791  
   792  func (*KeywordCollisions) ProtoMessage() {}
   793  
   794  func (x *KeywordCollisions) ProtoReflect() protoreflect.Message {
   795  	mi := &file_desc_test_complex_proto_msgTypes[8]
   796  	if protoimpl.UnsafeEnabled && x != nil {
   797  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   798  		if ms.LoadMessageInfo() == nil {
   799  			ms.StoreMessageInfo(mi)
   800  		}
   801  		return ms
   802  	}
   803  	return mi.MessageOf(x)
   804  }
   805  
   806  // Deprecated: Use KeywordCollisions.ProtoReflect.Descriptor instead.
   807  func (*KeywordCollisions) Descriptor() ([]byte, []int) {
   808  	return file_desc_test_complex_proto_rawDescGZIP(), []int{8}
   809  }
   810  
   811  func (x *KeywordCollisions) GetSyntax() bool {
   812  	if x != nil && x.Syntax != nil {
   813  		return *x.Syntax
   814  	}
   815  	return false
   816  }
   817  
   818  func (x *KeywordCollisions) GetImport() bool {
   819  	if x != nil && x.Import != nil {
   820  		return *x.Import
   821  	}
   822  	return false
   823  }
   824  
   825  func (x *KeywordCollisions) GetPublic() bool {
   826  	if x != nil && x.Public != nil {
   827  		return *x.Public
   828  	}
   829  	return false
   830  }
   831  
   832  func (x *KeywordCollisions) GetWeak() bool {
   833  	if x != nil && x.Weak != nil {
   834  		return *x.Weak
   835  	}
   836  	return false
   837  }
   838  
   839  func (x *KeywordCollisions) GetPackage() bool {
   840  	if x != nil && x.Package != nil {
   841  		return *x.Package
   842  	}
   843  	return false
   844  }
   845  
   846  func (x *KeywordCollisions) GetString_() string {
   847  	if x != nil && x.String_ != nil {
   848  		return *x.String_
   849  	}
   850  	return ""
   851  }
   852  
   853  func (x *KeywordCollisions) GetBytes() []byte {
   854  	if x != nil {
   855  		return x.Bytes
   856  	}
   857  	return nil
   858  }
   859  
   860  func (x *KeywordCollisions) GetInt32() int32 {
   861  	if x != nil && x.Int32 != nil {
   862  		return *x.Int32
   863  	}
   864  	return 0
   865  }
   866  
   867  func (x *KeywordCollisions) GetInt64() int64 {
   868  	if x != nil && x.Int64 != nil {
   869  		return *x.Int64
   870  	}
   871  	return 0
   872  }
   873  
   874  func (x *KeywordCollisions) GetUint32() uint32 {
   875  	if x != nil && x.Uint32 != nil {
   876  		return *x.Uint32
   877  	}
   878  	return 0
   879  }
   880  
   881  func (x *KeywordCollisions) GetUint64() uint64 {
   882  	if x != nil && x.Uint64 != nil {
   883  		return *x.Uint64
   884  	}
   885  	return 0
   886  }
   887  
   888  func (x *KeywordCollisions) GetSint32() int32 {
   889  	if x != nil && x.Sint32 != nil {
   890  		return *x.Sint32
   891  	}
   892  	return 0
   893  }
   894  
   895  func (x *KeywordCollisions) GetSint64() int64 {
   896  	if x != nil && x.Sint64 != nil {
   897  		return *x.Sint64
   898  	}
   899  	return 0
   900  }
   901  
   902  func (x *KeywordCollisions) GetFixed32() uint32 {
   903  	if x != nil && x.Fixed32 != nil {
   904  		return *x.Fixed32
   905  	}
   906  	return 0
   907  }
   908  
   909  func (x *KeywordCollisions) GetFixed64() uint64 {
   910  	if x != nil && x.Fixed64 != nil {
   911  		return *x.Fixed64
   912  	}
   913  	return 0
   914  }
   915  
   916  func (x *KeywordCollisions) GetSfixed32() int32 {
   917  	if x != nil && x.Sfixed32 != nil {
   918  		return *x.Sfixed32
   919  	}
   920  	return 0
   921  }
   922  
   923  func (x *KeywordCollisions) GetSfixed64() int64 {
   924  	if x != nil && x.Sfixed64 != nil {
   925  		return *x.Sfixed64
   926  	}
   927  	return 0
   928  }
   929  
   930  func (x *KeywordCollisions) GetBool() bool {
   931  	if x != nil && x.Bool != nil {
   932  		return *x.Bool
   933  	}
   934  	return false
   935  }
   936  
   937  func (x *KeywordCollisions) GetFloat() float32 {
   938  	if x != nil && x.Float != nil {
   939  		return *x.Float
   940  	}
   941  	return 0
   942  }
   943  
   944  func (x *KeywordCollisions) GetDouble() float64 {
   945  	if x != nil && x.Double != nil {
   946  		return *x.Double
   947  	}
   948  	return 0
   949  }
   950  
   951  func (x *KeywordCollisions) GetOptional() bool {
   952  	if x != nil && x.Optional != nil {
   953  		return *x.Optional
   954  	}
   955  	return false
   956  }
   957  
   958  func (x *KeywordCollisions) GetRepeated() bool {
   959  	if x != nil && x.Repeated != nil {
   960  		return *x.Repeated
   961  	}
   962  	return false
   963  }
   964  
   965  func (x *KeywordCollisions) GetRequired() bool {
   966  	if x != nil && x.Required != nil {
   967  		return *x.Required
   968  	}
   969  	return false
   970  }
   971  
   972  func (x *KeywordCollisions) GetMessage() bool {
   973  	if x != nil && x.Message != nil {
   974  		return *x.Message
   975  	}
   976  	return false
   977  }
   978  
   979  func (x *KeywordCollisions) GetEnum() bool {
   980  	if x != nil && x.Enum != nil {
   981  		return *x.Enum
   982  	}
   983  	return false
   984  }
   985  
   986  func (x *KeywordCollisions) GetService() bool {
   987  	if x != nil && x.Service != nil {
   988  		return *x.Service
   989  	}
   990  	return false
   991  }
   992  
   993  func (x *KeywordCollisions) GetRpc() bool {
   994  	if x != nil && x.Rpc != nil {
   995  		return *x.Rpc
   996  	}
   997  	return false
   998  }
   999  
  1000  func (x *KeywordCollisions) GetOption() bool {
  1001  	if x != nil && x.Option != nil {
  1002  		return *x.Option
  1003  	}
  1004  	return false
  1005  }
  1006  
  1007  func (x *KeywordCollisions) GetExtend() bool {
  1008  	if x != nil && x.Extend != nil {
  1009  		return *x.Extend
  1010  	}
  1011  	return false
  1012  }
  1013  
  1014  func (x *KeywordCollisions) GetExtensions() bool {
  1015  	if x != nil && x.Extensions != nil {
  1016  		return *x.Extensions
  1017  	}
  1018  	return false
  1019  }
  1020  
  1021  func (x *KeywordCollisions) GetReserved() bool {
  1022  	if x != nil && x.Reserved != nil {
  1023  		return *x.Reserved
  1024  	}
  1025  	return false
  1026  }
  1027  
  1028  func (x *KeywordCollisions) GetTo() bool {
  1029  	if x != nil && x.To != nil {
  1030  		return *x.To
  1031  	}
  1032  	return false
  1033  }
  1034  
  1035  func (x *KeywordCollisions) GetTrue() int32 {
  1036  	if x != nil && x.True != nil {
  1037  		return *x.True
  1038  	}
  1039  	return 0
  1040  }
  1041  
  1042  func (x *KeywordCollisions) GetFalse() int32 {
  1043  	if x != nil && x.False != nil {
  1044  		return *x.False
  1045  	}
  1046  	return 0
  1047  }
  1048  
  1049  func (x *KeywordCollisions) GetDefault() int32 {
  1050  	if x != nil && x.Default != nil {
  1051  		return *x.Default
  1052  	}
  1053  	return 0
  1054  }
  1055  
  1056  type KeywordCollisionOptions struct {
  1057  	state         protoimpl.MessageState
  1058  	sizeCache     protoimpl.SizeCache
  1059  	unknownFields protoimpl.UnknownFields
  1060  
  1061  	Id   *uint64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
  1062  	Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
  1063  }
  1064  
  1065  func (x *KeywordCollisionOptions) Reset() {
  1066  	*x = KeywordCollisionOptions{}
  1067  	if protoimpl.UnsafeEnabled {
  1068  		mi := &file_desc_test_complex_proto_msgTypes[9]
  1069  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1070  		ms.StoreMessageInfo(mi)
  1071  	}
  1072  }
  1073  
  1074  func (x *KeywordCollisionOptions) String() string {
  1075  	return protoimpl.X.MessageStringOf(x)
  1076  }
  1077  
  1078  func (*KeywordCollisionOptions) ProtoMessage() {}
  1079  
  1080  func (x *KeywordCollisionOptions) ProtoReflect() protoreflect.Message {
  1081  	mi := &file_desc_test_complex_proto_msgTypes[9]
  1082  	if protoimpl.UnsafeEnabled && x != nil {
  1083  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1084  		if ms.LoadMessageInfo() == nil {
  1085  			ms.StoreMessageInfo(mi)
  1086  		}
  1087  		return ms
  1088  	}
  1089  	return mi.MessageOf(x)
  1090  }
  1091  
  1092  // Deprecated: Use KeywordCollisionOptions.ProtoReflect.Descriptor instead.
  1093  func (*KeywordCollisionOptions) Descriptor() ([]byte, []int) {
  1094  	return file_desc_test_complex_proto_rawDescGZIP(), []int{9}
  1095  }
  1096  
  1097  func (x *KeywordCollisionOptions) GetId() uint64 {
  1098  	if x != nil && x.Id != nil {
  1099  		return *x.Id
  1100  	}
  1101  	return 0
  1102  }
  1103  
  1104  func (x *KeywordCollisionOptions) GetName() string {
  1105  	if x != nil && x.Name != nil {
  1106  		return *x.Name
  1107  	}
  1108  	return ""
  1109  }
  1110  
  1111  type Test_Nested struct {
  1112  	state         protoimpl.MessageState
  1113  	sizeCache     protoimpl.SizeCache
  1114  	unknownFields protoimpl.UnknownFields
  1115  }
  1116  
  1117  func (x *Test_Nested) Reset() {
  1118  	*x = Test_Nested{}
  1119  	if protoimpl.UnsafeEnabled {
  1120  		mi := &file_desc_test_complex_proto_msgTypes[11]
  1121  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1122  		ms.StoreMessageInfo(mi)
  1123  	}
  1124  }
  1125  
  1126  func (x *Test_Nested) String() string {
  1127  	return protoimpl.X.MessageStringOf(x)
  1128  }
  1129  
  1130  func (*Test_Nested) ProtoMessage() {}
  1131  
  1132  func (x *Test_Nested) ProtoReflect() protoreflect.Message {
  1133  	mi := &file_desc_test_complex_proto_msgTypes[11]
  1134  	if protoimpl.UnsafeEnabled && x != nil {
  1135  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1136  		if ms.LoadMessageInfo() == nil {
  1137  			ms.StoreMessageInfo(mi)
  1138  		}
  1139  		return ms
  1140  	}
  1141  	return mi.MessageOf(x)
  1142  }
  1143  
  1144  // Deprecated: Use Test_Nested.ProtoReflect.Descriptor instead.
  1145  func (*Test_Nested) Descriptor() ([]byte, []int) {
  1146  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1}
  1147  }
  1148  
  1149  type Test_Nested_XNestedNested struct {
  1150  	state         protoimpl.MessageState
  1151  	sizeCache     protoimpl.SizeCache
  1152  	unknownFields protoimpl.UnknownFields
  1153  }
  1154  
  1155  func (x *Test_Nested_XNestedNested) Reset() {
  1156  	*x = Test_Nested_XNestedNested{}
  1157  	if protoimpl.UnsafeEnabled {
  1158  		mi := &file_desc_test_complex_proto_msgTypes[12]
  1159  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1160  		ms.StoreMessageInfo(mi)
  1161  	}
  1162  }
  1163  
  1164  func (x *Test_Nested_XNestedNested) String() string {
  1165  	return protoimpl.X.MessageStringOf(x)
  1166  }
  1167  
  1168  func (*Test_Nested_XNestedNested) ProtoMessage() {}
  1169  
  1170  func (x *Test_Nested_XNestedNested) ProtoReflect() protoreflect.Message {
  1171  	mi := &file_desc_test_complex_proto_msgTypes[12]
  1172  	if protoimpl.UnsafeEnabled && x != nil {
  1173  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1174  		if ms.LoadMessageInfo() == nil {
  1175  			ms.StoreMessageInfo(mi)
  1176  		}
  1177  		return ms
  1178  	}
  1179  	return mi.MessageOf(x)
  1180  }
  1181  
  1182  // Deprecated: Use Test_Nested_XNestedNested.ProtoReflect.Descriptor instead.
  1183  func (*Test_Nested_XNestedNested) Descriptor() ([]byte, []int) {
  1184  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1, 0}
  1185  }
  1186  
  1187  type Test_Nested_XNestedNested_NestedNestedNested struct {
  1188  	state         protoimpl.MessageState
  1189  	sizeCache     protoimpl.SizeCache
  1190  	unknownFields protoimpl.UnknownFields
  1191  
  1192  	Test *Test `protobuf:"bytes,1,opt,name=Test" json:"Test,omitempty"`
  1193  }
  1194  
  1195  func (x *Test_Nested_XNestedNested_NestedNestedNested) Reset() {
  1196  	*x = Test_Nested_XNestedNested_NestedNestedNested{}
  1197  	if protoimpl.UnsafeEnabled {
  1198  		mi := &file_desc_test_complex_proto_msgTypes[13]
  1199  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1200  		ms.StoreMessageInfo(mi)
  1201  	}
  1202  }
  1203  
  1204  func (x *Test_Nested_XNestedNested_NestedNestedNested) String() string {
  1205  	return protoimpl.X.MessageStringOf(x)
  1206  }
  1207  
  1208  func (*Test_Nested_XNestedNested_NestedNestedNested) ProtoMessage() {}
  1209  
  1210  func (x *Test_Nested_XNestedNested_NestedNestedNested) ProtoReflect() protoreflect.Message {
  1211  	mi := &file_desc_test_complex_proto_msgTypes[13]
  1212  	if protoimpl.UnsafeEnabled && x != nil {
  1213  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1214  		if ms.LoadMessageInfo() == nil {
  1215  			ms.StoreMessageInfo(mi)
  1216  		}
  1217  		return ms
  1218  	}
  1219  	return mi.MessageOf(x)
  1220  }
  1221  
  1222  // Deprecated: Use Test_Nested_XNestedNested_NestedNestedNested.ProtoReflect.Descriptor instead.
  1223  func (*Test_Nested_XNestedNested_NestedNestedNested) Descriptor() ([]byte, []int) {
  1224  	return file_desc_test_complex_proto_rawDescGZIP(), []int{1, 1, 0, 0}
  1225  }
  1226  
  1227  func (x *Test_Nested_XNestedNested_NestedNestedNested) GetTest() *Test {
  1228  	if x != nil {
  1229  		return x.Test
  1230  	}
  1231  	return nil
  1232  }
  1233  
  1234  type Validator_Permission struct {
  1235  	state         protoimpl.MessageState
  1236  	sizeCache     protoimpl.SizeCache
  1237  	unknownFields protoimpl.UnknownFields
  1238  
  1239  	Action *Validator_Action `protobuf:"varint,1,opt,name=action,enum=foo.bar.Validator_Action" json:"action,omitempty"`
  1240  	Entity *string           `protobuf:"bytes,2,opt,name=entity" json:"entity,omitempty"`
  1241  }
  1242  
  1243  func (x *Validator_Permission) Reset() {
  1244  	*x = Validator_Permission{}
  1245  	if protoimpl.UnsafeEnabled {
  1246  		mi := &file_desc_test_complex_proto_msgTypes[15]
  1247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1248  		ms.StoreMessageInfo(mi)
  1249  	}
  1250  }
  1251  
  1252  func (x *Validator_Permission) String() string {
  1253  	return protoimpl.X.MessageStringOf(x)
  1254  }
  1255  
  1256  func (*Validator_Permission) ProtoMessage() {}
  1257  
  1258  func (x *Validator_Permission) ProtoReflect() protoreflect.Message {
  1259  	mi := &file_desc_test_complex_proto_msgTypes[15]
  1260  	if protoimpl.UnsafeEnabled && x != nil {
  1261  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1262  		if ms.LoadMessageInfo() == nil {
  1263  			ms.StoreMessageInfo(mi)
  1264  		}
  1265  		return ms
  1266  	}
  1267  	return mi.MessageOf(x)
  1268  }
  1269  
  1270  // Deprecated: Use Validator_Permission.ProtoReflect.Descriptor instead.
  1271  func (*Validator_Permission) Descriptor() ([]byte, []int) {
  1272  	return file_desc_test_complex_proto_rawDescGZIP(), []int{5, 0}
  1273  }
  1274  
  1275  func (x *Validator_Permission) GetAction() Validator_Action {
  1276  	if x != nil && x.Action != nil {
  1277  		return *x.Action
  1278  	}
  1279  	return Validator_LOGIN
  1280  }
  1281  
  1282  func (x *Validator_Permission) GetEntity() string {
  1283  	if x != nil && x.Entity != nil {
  1284  		return *x.Entity
  1285  	}
  1286  	return ""
  1287  }
  1288  
  1289  type Rule_StringRule struct {
  1290  	state         protoimpl.MessageState
  1291  	sizeCache     protoimpl.SizeCache
  1292  	unknownFields protoimpl.UnknownFields
  1293  
  1294  	Pattern    *string `protobuf:"bytes,1,opt,name=pattern" json:"pattern,omitempty"`
  1295  	AllowEmpty *bool   `protobuf:"varint,2,opt,name=allow_empty,json=allowEmpty" json:"allow_empty,omitempty"`
  1296  	MinLen     *int32  `protobuf:"varint,3,opt,name=min_len,json=minLen" json:"min_len,omitempty"`
  1297  	MaxLen     *int32  `protobuf:"varint,4,opt,name=max_len,json=maxLen" json:"max_len,omitempty"`
  1298  }
  1299  
  1300  func (x *Rule_StringRule) Reset() {
  1301  	*x = Rule_StringRule{}
  1302  	if protoimpl.UnsafeEnabled {
  1303  		mi := &file_desc_test_complex_proto_msgTypes[16]
  1304  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1305  		ms.StoreMessageInfo(mi)
  1306  	}
  1307  }
  1308  
  1309  func (x *Rule_StringRule) String() string {
  1310  	return protoimpl.X.MessageStringOf(x)
  1311  }
  1312  
  1313  func (*Rule_StringRule) ProtoMessage() {}
  1314  
  1315  func (x *Rule_StringRule) ProtoReflect() protoreflect.Message {
  1316  	mi := &file_desc_test_complex_proto_msgTypes[16]
  1317  	if protoimpl.UnsafeEnabled && x != nil {
  1318  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1319  		if ms.LoadMessageInfo() == nil {
  1320  			ms.StoreMessageInfo(mi)
  1321  		}
  1322  		return ms
  1323  	}
  1324  	return mi.MessageOf(x)
  1325  }
  1326  
  1327  // Deprecated: Use Rule_StringRule.ProtoReflect.Descriptor instead.
  1328  func (*Rule_StringRule) Descriptor() ([]byte, []int) {
  1329  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 0}
  1330  }
  1331  
  1332  func (x *Rule_StringRule) GetPattern() string {
  1333  	if x != nil && x.Pattern != nil {
  1334  		return *x.Pattern
  1335  	}
  1336  	return ""
  1337  }
  1338  
  1339  func (x *Rule_StringRule) GetAllowEmpty() bool {
  1340  	if x != nil && x.AllowEmpty != nil {
  1341  		return *x.AllowEmpty
  1342  	}
  1343  	return false
  1344  }
  1345  
  1346  func (x *Rule_StringRule) GetMinLen() int32 {
  1347  	if x != nil && x.MinLen != nil {
  1348  		return *x.MinLen
  1349  	}
  1350  	return 0
  1351  }
  1352  
  1353  func (x *Rule_StringRule) GetMaxLen() int32 {
  1354  	if x != nil && x.MaxLen != nil {
  1355  		return *x.MaxLen
  1356  	}
  1357  	return 0
  1358  }
  1359  
  1360  type Rule_IntRule struct {
  1361  	state         protoimpl.MessageState
  1362  	sizeCache     protoimpl.SizeCache
  1363  	unknownFields protoimpl.UnknownFields
  1364  
  1365  	MinVal *int64  `protobuf:"varint,1,opt,name=min_val,json=minVal" json:"min_val,omitempty"`
  1366  	MaxVal *uint64 `protobuf:"varint,2,opt,name=max_val,json=maxVal" json:"max_val,omitempty"`
  1367  }
  1368  
  1369  func (x *Rule_IntRule) Reset() {
  1370  	*x = Rule_IntRule{}
  1371  	if protoimpl.UnsafeEnabled {
  1372  		mi := &file_desc_test_complex_proto_msgTypes[17]
  1373  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1374  		ms.StoreMessageInfo(mi)
  1375  	}
  1376  }
  1377  
  1378  func (x *Rule_IntRule) String() string {
  1379  	return protoimpl.X.MessageStringOf(x)
  1380  }
  1381  
  1382  func (*Rule_IntRule) ProtoMessage() {}
  1383  
  1384  func (x *Rule_IntRule) ProtoReflect() protoreflect.Message {
  1385  	mi := &file_desc_test_complex_proto_msgTypes[17]
  1386  	if protoimpl.UnsafeEnabled && x != nil {
  1387  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1388  		if ms.LoadMessageInfo() == nil {
  1389  			ms.StoreMessageInfo(mi)
  1390  		}
  1391  		return ms
  1392  	}
  1393  	return mi.MessageOf(x)
  1394  }
  1395  
  1396  // Deprecated: Use Rule_IntRule.ProtoReflect.Descriptor instead.
  1397  func (*Rule_IntRule) Descriptor() ([]byte, []int) {
  1398  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 1}
  1399  }
  1400  
  1401  func (x *Rule_IntRule) GetMinVal() int64 {
  1402  	if x != nil && x.MinVal != nil {
  1403  		return *x.MinVal
  1404  	}
  1405  	return 0
  1406  }
  1407  
  1408  func (x *Rule_IntRule) GetMaxVal() uint64 {
  1409  	if x != nil && x.MaxVal != nil {
  1410  		return *x.MaxVal
  1411  	}
  1412  	return 0
  1413  }
  1414  
  1415  type Rule_RepeatedRule struct {
  1416  	state         protoimpl.MessageState
  1417  	sizeCache     protoimpl.SizeCache
  1418  	unknownFields protoimpl.UnknownFields
  1419  
  1420  	AllowEmpty *bool  `protobuf:"varint,1,opt,name=allow_empty,json=allowEmpty" json:"allow_empty,omitempty"`
  1421  	MinItems   *int32 `protobuf:"varint,2,opt,name=min_items,json=minItems" json:"min_items,omitempty"`
  1422  	MaxItems   *int32 `protobuf:"varint,3,opt,name=max_items,json=maxItems" json:"max_items,omitempty"`
  1423  	Items      *Rule  `protobuf:"bytes,4,opt,name=items" json:"items,omitempty"`
  1424  }
  1425  
  1426  func (x *Rule_RepeatedRule) Reset() {
  1427  	*x = Rule_RepeatedRule{}
  1428  	if protoimpl.UnsafeEnabled {
  1429  		mi := &file_desc_test_complex_proto_msgTypes[18]
  1430  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1431  		ms.StoreMessageInfo(mi)
  1432  	}
  1433  }
  1434  
  1435  func (x *Rule_RepeatedRule) String() string {
  1436  	return protoimpl.X.MessageStringOf(x)
  1437  }
  1438  
  1439  func (*Rule_RepeatedRule) ProtoMessage() {}
  1440  
  1441  func (x *Rule_RepeatedRule) ProtoReflect() protoreflect.Message {
  1442  	mi := &file_desc_test_complex_proto_msgTypes[18]
  1443  	if protoimpl.UnsafeEnabled && x != nil {
  1444  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1445  		if ms.LoadMessageInfo() == nil {
  1446  			ms.StoreMessageInfo(mi)
  1447  		}
  1448  		return ms
  1449  	}
  1450  	return mi.MessageOf(x)
  1451  }
  1452  
  1453  // Deprecated: Use Rule_RepeatedRule.ProtoReflect.Descriptor instead.
  1454  func (*Rule_RepeatedRule) Descriptor() ([]byte, []int) {
  1455  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 2}
  1456  }
  1457  
  1458  func (x *Rule_RepeatedRule) GetAllowEmpty() bool {
  1459  	if x != nil && x.AllowEmpty != nil {
  1460  		return *x.AllowEmpty
  1461  	}
  1462  	return false
  1463  }
  1464  
  1465  func (x *Rule_RepeatedRule) GetMinItems() int32 {
  1466  	if x != nil && x.MinItems != nil {
  1467  		return *x.MinItems
  1468  	}
  1469  	return 0
  1470  }
  1471  
  1472  func (x *Rule_RepeatedRule) GetMaxItems() int32 {
  1473  	if x != nil && x.MaxItems != nil {
  1474  		return *x.MaxItems
  1475  	}
  1476  	return 0
  1477  }
  1478  
  1479  func (x *Rule_RepeatedRule) GetItems() *Rule {
  1480  	if x != nil {
  1481  		return x.Items
  1482  	}
  1483  	return nil
  1484  }
  1485  
  1486  type Rule_FloatRule struct {
  1487  	state         protoimpl.MessageState
  1488  	sizeCache     protoimpl.SizeCache
  1489  	unknownFields protoimpl.UnknownFields
  1490  
  1491  	MinVal *float64 `protobuf:"fixed64,1,opt,name=min_val,json=minVal" json:"min_val,omitempty"`
  1492  	MaxVal *float64 `protobuf:"fixed64,2,opt,name=max_val,json=maxVal" json:"max_val,omitempty"`
  1493  }
  1494  
  1495  func (x *Rule_FloatRule) Reset() {
  1496  	*x = Rule_FloatRule{}
  1497  	if protoimpl.UnsafeEnabled {
  1498  		mi := &file_desc_test_complex_proto_msgTypes[19]
  1499  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1500  		ms.StoreMessageInfo(mi)
  1501  	}
  1502  }
  1503  
  1504  func (x *Rule_FloatRule) String() string {
  1505  	return protoimpl.X.MessageStringOf(x)
  1506  }
  1507  
  1508  func (*Rule_FloatRule) ProtoMessage() {}
  1509  
  1510  func (x *Rule_FloatRule) ProtoReflect() protoreflect.Message {
  1511  	mi := &file_desc_test_complex_proto_msgTypes[19]
  1512  	if protoimpl.UnsafeEnabled && x != nil {
  1513  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1514  		if ms.LoadMessageInfo() == nil {
  1515  			ms.StoreMessageInfo(mi)
  1516  		}
  1517  		return ms
  1518  	}
  1519  	return mi.MessageOf(x)
  1520  }
  1521  
  1522  // Deprecated: Use Rule_FloatRule.ProtoReflect.Descriptor instead.
  1523  func (*Rule_FloatRule) Descriptor() ([]byte, []int) {
  1524  	return file_desc_test_complex_proto_rawDescGZIP(), []int{6, 3}
  1525  }
  1526  
  1527  func (x *Rule_FloatRule) GetMinVal() float64 {
  1528  	if x != nil && x.MinVal != nil {
  1529  		return *x.MinVal
  1530  	}
  1531  	return 0
  1532  }
  1533  
  1534  func (x *Rule_FloatRule) GetMaxVal() float64 {
  1535  	if x != nil && x.MaxVal != nil {
  1536  		return *x.MaxVal
  1537  	}
  1538  	return 0
  1539  }
  1540  
  1541  var file_desc_test_complex_proto_extTypes = []protoimpl.ExtensionInfo{
  1542  	{
  1543  		ExtendedType:  (*descriptor.ExtensionRangeOptions)(nil),
  1544  		ExtensionType: (*string)(nil),
  1545  		Field:         20000,
  1546  		Name:          "foo.bar.label",
  1547  		Tag:           "bytes,20000,opt,name=label",
  1548  		Filename:      "desc_test_complex.proto",
  1549  	},
  1550  	{
  1551  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1552  		ExtensionType: ([]*Test)(nil),
  1553  		Field:         20002,
  1554  		Name:          "foo.bar.rept",
  1555  		Tag:           "bytes,20002,rep,name=rept",
  1556  		Filename:      "desc_test_complex.proto",
  1557  	},
  1558  	{
  1559  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1560  		ExtensionType: (*Test_Nested_XNestedNested_EEE)(nil),
  1561  		Field:         20010,
  1562  		Name:          "foo.bar.eee",
  1563  		Tag:           "varint,20010,opt,name=eee,enum=foo.bar.Test_Nested_XNestedNested_EEE",
  1564  		Filename:      "desc_test_complex.proto",
  1565  	},
  1566  	{
  1567  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1568  		ExtensionType: (*Another)(nil),
  1569  		Field:         20020,
  1570  		Name:          "foo.bar.a",
  1571  		Tag:           "bytes,20020,opt,name=a",
  1572  		Filename:      "desc_test_complex.proto",
  1573  	},
  1574  	{
  1575  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1576  		ExtensionType: (*MessageWithMap)(nil),
  1577  		Field:         20030,
  1578  		Name:          "foo.bar.map_vals",
  1579  		Tag:           "bytes,20030,opt,name=map_vals",
  1580  		Filename:      "desc_test_complex.proto",
  1581  	},
  1582  	{
  1583  		ExtendedType:  (*descriptor.MethodOptions)(nil),
  1584  		ExtensionType: (*Validator)(nil),
  1585  		Field:         12345,
  1586  		Name:          "foo.bar.validator",
  1587  		Tag:           "bytes,12345,opt,name=validator",
  1588  		Filename:      "desc_test_complex.proto",
  1589  	},
  1590  	{
  1591  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1592  		ExtensionType: (*Rule)(nil),
  1593  		Field:         1234,
  1594  		Name:          "foo.bar.rules",
  1595  		Tag:           "bytes,1234,opt,name=rules",
  1596  		Filename:      "desc_test_complex.proto",
  1597  	},
  1598  	{
  1599  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1600  		ExtensionType: (*bool)(nil),
  1601  		Field:         20001,
  1602  		Name:          "foo.bar.syntax",
  1603  		Tag:           "varint,20001,opt,name=syntax",
  1604  		Filename:      "desc_test_complex.proto",
  1605  	},
  1606  	{
  1607  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1608  		ExtensionType: (*bool)(nil),
  1609  		Field:         20002,
  1610  		Name:          "foo.bar.import",
  1611  		Tag:           "varint,20002,opt,name=import",
  1612  		Filename:      "desc_test_complex.proto",
  1613  	},
  1614  	{
  1615  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1616  		ExtensionType: (*bool)(nil),
  1617  		Field:         20003,
  1618  		Name:          "foo.bar.public",
  1619  		Tag:           "varint,20003,opt,name=public",
  1620  		Filename:      "desc_test_complex.proto",
  1621  	},
  1622  	{
  1623  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1624  		ExtensionType: (*bool)(nil),
  1625  		Field:         20004,
  1626  		Name:          "foo.bar.weak",
  1627  		Tag:           "varint,20004,opt,name=weak",
  1628  		Filename:      "desc_test_complex.proto",
  1629  	},
  1630  	{
  1631  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1632  		ExtensionType: (*bool)(nil),
  1633  		Field:         20005,
  1634  		Name:          "foo.bar.package",
  1635  		Tag:           "varint,20005,opt,name=package",
  1636  		Filename:      "desc_test_complex.proto",
  1637  	},
  1638  	{
  1639  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1640  		ExtensionType: (*string)(nil),
  1641  		Field:         20006,
  1642  		Name:          "foo.bar.string",
  1643  		Tag:           "bytes,20006,opt,name=string",
  1644  		Filename:      "desc_test_complex.proto",
  1645  	},
  1646  	{
  1647  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1648  		ExtensionType: ([]byte)(nil),
  1649  		Field:         20007,
  1650  		Name:          "foo.bar.bytes",
  1651  		Tag:           "bytes,20007,opt,name=bytes",
  1652  		Filename:      "desc_test_complex.proto",
  1653  	},
  1654  	{
  1655  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1656  		ExtensionType: (*int32)(nil),
  1657  		Field:         20008,
  1658  		Name:          "foo.bar.int32",
  1659  		Tag:           "varint,20008,opt,name=int32",
  1660  		Filename:      "desc_test_complex.proto",
  1661  	},
  1662  	{
  1663  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1664  		ExtensionType: (*int64)(nil),
  1665  		Field:         20009,
  1666  		Name:          "foo.bar.int64",
  1667  		Tag:           "varint,20009,opt,name=int64",
  1668  		Filename:      "desc_test_complex.proto",
  1669  	},
  1670  	{
  1671  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1672  		ExtensionType: (*uint32)(nil),
  1673  		Field:         20010,
  1674  		Name:          "foo.bar.uint32",
  1675  		Tag:           "varint,20010,opt,name=uint32",
  1676  		Filename:      "desc_test_complex.proto",
  1677  	},
  1678  	{
  1679  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1680  		ExtensionType: (*uint64)(nil),
  1681  		Field:         20011,
  1682  		Name:          "foo.bar.uint64",
  1683  		Tag:           "varint,20011,opt,name=uint64",
  1684  		Filename:      "desc_test_complex.proto",
  1685  	},
  1686  	{
  1687  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1688  		ExtensionType: (*int32)(nil),
  1689  		Field:         20012,
  1690  		Name:          "foo.bar.sint32",
  1691  		Tag:           "zigzag32,20012,opt,name=sint32",
  1692  		Filename:      "desc_test_complex.proto",
  1693  	},
  1694  	{
  1695  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1696  		ExtensionType: (*int64)(nil),
  1697  		Field:         20013,
  1698  		Name:          "foo.bar.sint64",
  1699  		Tag:           "zigzag64,20013,opt,name=sint64",
  1700  		Filename:      "desc_test_complex.proto",
  1701  	},
  1702  	{
  1703  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1704  		ExtensionType: (*uint32)(nil),
  1705  		Field:         20014,
  1706  		Name:          "foo.bar.fixed32",
  1707  		Tag:           "fixed32,20014,opt,name=fixed32",
  1708  		Filename:      "desc_test_complex.proto",
  1709  	},
  1710  	{
  1711  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1712  		ExtensionType: (*uint64)(nil),
  1713  		Field:         20015,
  1714  		Name:          "foo.bar.fixed64",
  1715  		Tag:           "fixed64,20015,opt,name=fixed64",
  1716  		Filename:      "desc_test_complex.proto",
  1717  	},
  1718  	{
  1719  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1720  		ExtensionType: (*int32)(nil),
  1721  		Field:         20016,
  1722  		Name:          "foo.bar.sfixed32",
  1723  		Tag:           "fixed32,20016,opt,name=sfixed32",
  1724  		Filename:      "desc_test_complex.proto",
  1725  	},
  1726  	{
  1727  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1728  		ExtensionType: (*int64)(nil),
  1729  		Field:         20017,
  1730  		Name:          "foo.bar.sfixed64",
  1731  		Tag:           "fixed64,20017,opt,name=sfixed64",
  1732  		Filename:      "desc_test_complex.proto",
  1733  	},
  1734  	{
  1735  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1736  		ExtensionType: (*bool)(nil),
  1737  		Field:         20018,
  1738  		Name:          "foo.bar.bool",
  1739  		Tag:           "varint,20018,opt,name=bool",
  1740  		Filename:      "desc_test_complex.proto",
  1741  	},
  1742  	{
  1743  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1744  		ExtensionType: (*float32)(nil),
  1745  		Field:         20019,
  1746  		Name:          "foo.bar.float",
  1747  		Tag:           "fixed32,20019,opt,name=float",
  1748  		Filename:      "desc_test_complex.proto",
  1749  	},
  1750  	{
  1751  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1752  		ExtensionType: (*float64)(nil),
  1753  		Field:         20020,
  1754  		Name:          "foo.bar.double",
  1755  		Tag:           "fixed64,20020,opt,name=double",
  1756  		Filename:      "desc_test_complex.proto",
  1757  	},
  1758  	{
  1759  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1760  		ExtensionType: (*bool)(nil),
  1761  		Field:         20021,
  1762  		Name:          "foo.bar.optional",
  1763  		Tag:           "varint,20021,opt,name=optional",
  1764  		Filename:      "desc_test_complex.proto",
  1765  	},
  1766  	{
  1767  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1768  		ExtensionType: (*bool)(nil),
  1769  		Field:         20022,
  1770  		Name:          "foo.bar.repeated",
  1771  		Tag:           "varint,20022,opt,name=repeated",
  1772  		Filename:      "desc_test_complex.proto",
  1773  	},
  1774  	{
  1775  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1776  		ExtensionType: (*bool)(nil),
  1777  		Field:         20023,
  1778  		Name:          "foo.bar.required",
  1779  		Tag:           "varint,20023,opt,name=required",
  1780  		Filename:      "desc_test_complex.proto",
  1781  	},
  1782  	{
  1783  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1784  		ExtensionType: (*bool)(nil),
  1785  		Field:         20024,
  1786  		Name:          "foo.bar.message",
  1787  		Tag:           "varint,20024,opt,name=message",
  1788  		Filename:      "desc_test_complex.proto",
  1789  	},
  1790  	{
  1791  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1792  		ExtensionType: (*bool)(nil),
  1793  		Field:         20025,
  1794  		Name:          "foo.bar.enum",
  1795  		Tag:           "varint,20025,opt,name=enum",
  1796  		Filename:      "desc_test_complex.proto",
  1797  	},
  1798  	{
  1799  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1800  		ExtensionType: (*bool)(nil),
  1801  		Field:         20026,
  1802  		Name:          "foo.bar.service",
  1803  		Tag:           "varint,20026,opt,name=service",
  1804  		Filename:      "desc_test_complex.proto",
  1805  	},
  1806  	{
  1807  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1808  		ExtensionType: (*bool)(nil),
  1809  		Field:         20027,
  1810  		Name:          "foo.bar.rpc",
  1811  		Tag:           "varint,20027,opt,name=rpc",
  1812  		Filename:      "desc_test_complex.proto",
  1813  	},
  1814  	{
  1815  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1816  		ExtensionType: (*bool)(nil),
  1817  		Field:         20028,
  1818  		Name:          "foo.bar.option",
  1819  		Tag:           "varint,20028,opt,name=option",
  1820  		Filename:      "desc_test_complex.proto",
  1821  	},
  1822  	{
  1823  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1824  		ExtensionType: (*bool)(nil),
  1825  		Field:         20029,
  1826  		Name:          "foo.bar.extend",
  1827  		Tag:           "varint,20029,opt,name=extend",
  1828  		Filename:      "desc_test_complex.proto",
  1829  	},
  1830  	{
  1831  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1832  		ExtensionType: (*bool)(nil),
  1833  		Field:         20030,
  1834  		Name:          "foo.bar.extensions",
  1835  		Tag:           "varint,20030,opt,name=extensions",
  1836  		Filename:      "desc_test_complex.proto",
  1837  	},
  1838  	{
  1839  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1840  		ExtensionType: (*bool)(nil),
  1841  		Field:         20031,
  1842  		Name:          "foo.bar.reserved",
  1843  		Tag:           "varint,20031,opt,name=reserved",
  1844  		Filename:      "desc_test_complex.proto",
  1845  	},
  1846  	{
  1847  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1848  		ExtensionType: (*bool)(nil),
  1849  		Field:         20032,
  1850  		Name:          "foo.bar.to",
  1851  		Tag:           "varint,20032,opt,name=to",
  1852  		Filename:      "desc_test_complex.proto",
  1853  	},
  1854  	{
  1855  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1856  		ExtensionType: (*int32)(nil),
  1857  		Field:         20033,
  1858  		Name:          "foo.bar.true",
  1859  		Tag:           "varint,20033,opt,name=true",
  1860  		Filename:      "desc_test_complex.proto",
  1861  	},
  1862  	{
  1863  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1864  		ExtensionType: (*int32)(nil),
  1865  		Field:         20034,
  1866  		Name:          "foo.bar.false",
  1867  		Tag:           "varint,20034,opt,name=false",
  1868  		Filename:      "desc_test_complex.proto",
  1869  	},
  1870  	{
  1871  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1872  		ExtensionType: (*int32)(nil),
  1873  		Field:         20035,
  1874  		Name:          "foo.bar.default",
  1875  		Tag:           "varint,20035,opt,name=default",
  1876  		Filename:      "desc_test_complex.proto",
  1877  	},
  1878  	{
  1879  		ExtendedType:  (*descriptor.FieldOptions)(nil),
  1880  		ExtensionType: (*KeywordCollisions)(nil),
  1881  		Field:         20036,
  1882  		Name:          "foo.bar.boom",
  1883  		Tag:           "bytes,20036,opt,name=boom",
  1884  		Filename:      "desc_test_complex.proto",
  1885  	},
  1886  	{
  1887  		ExtendedType:  (*descriptor.MessageOptions)(nil),
  1888  		ExtensionType: (*int32)(nil),
  1889  		Field:         20003,
  1890  		Name:          "foo.bar.Test.Nested.fooblez",
  1891  		Tag:           "varint,20003,opt,name=fooblez",
  1892  		Filename:      "desc_test_complex.proto",
  1893  	},
  1894  	{
  1895  		ExtendedType:  (*Test)(nil),
  1896  		ExtensionType: (*string)(nil),
  1897  		Field:         100,
  1898  		Name:          "foo.bar.Test.Nested._NestedNested._garblez",
  1899  		Tag:           "bytes,100,opt,name=_garblez",
  1900  		Filename:      "desc_test_complex.proto",
  1901  	},
  1902  }
  1903  
  1904  // Extension fields to descriptor.ExtensionRangeOptions.
  1905  var (
  1906  	// optional string label = 20000;
  1907  	E_Label = &file_desc_test_complex_proto_extTypes[0]
  1908  )
  1909  
  1910  // Extension fields to descriptor.MessageOptions.
  1911  var (
  1912  	// repeated foo.bar.Test rept = 20002;
  1913  	E_Rept = &file_desc_test_complex_proto_extTypes[1]
  1914  	// optional foo.bar.Test.Nested._NestedNested.EEE eee = 20010;
  1915  	E_Eee = &file_desc_test_complex_proto_extTypes[2]
  1916  	// optional foo.bar.Another a = 20020;
  1917  	E_A = &file_desc_test_complex_proto_extTypes[3]
  1918  	// optional foo.bar.MessageWithMap map_vals = 20030;
  1919  	E_MapVals = &file_desc_test_complex_proto_extTypes[4]
  1920  	// optional int32 fooblez = 20003;
  1921  	E_Test_Nested_Fooblez = &file_desc_test_complex_proto_extTypes[43]
  1922  )
  1923  
  1924  // Extension fields to descriptor.MethodOptions.
  1925  var (
  1926  	// optional foo.bar.Validator validator = 12345;
  1927  	E_Validator = &file_desc_test_complex_proto_extTypes[5]
  1928  )
  1929  
  1930  // Extension fields to descriptor.FieldOptions.
  1931  var (
  1932  	// optional foo.bar.Rule rules = 1234;
  1933  	E_Rules = &file_desc_test_complex_proto_extTypes[6]
  1934  	// optional bool syntax = 20001;
  1935  	E_Syntax = &file_desc_test_complex_proto_extTypes[7]
  1936  	// optional bool import = 20002;
  1937  	E_Import = &file_desc_test_complex_proto_extTypes[8]
  1938  	// optional bool public = 20003;
  1939  	E_Public = &file_desc_test_complex_proto_extTypes[9]
  1940  	// optional bool weak = 20004;
  1941  	E_Weak = &file_desc_test_complex_proto_extTypes[10]
  1942  	// optional bool package = 20005;
  1943  	E_Package = &file_desc_test_complex_proto_extTypes[11]
  1944  	// optional string string = 20006;
  1945  	E_String = &file_desc_test_complex_proto_extTypes[12]
  1946  	// optional bytes bytes = 20007;
  1947  	E_Bytes = &file_desc_test_complex_proto_extTypes[13]
  1948  	// optional int32 int32 = 20008;
  1949  	E_Int32 = &file_desc_test_complex_proto_extTypes[14]
  1950  	// optional int64 int64 = 20009;
  1951  	E_Int64 = &file_desc_test_complex_proto_extTypes[15]
  1952  	// optional uint32 uint32 = 20010;
  1953  	E_Uint32 = &file_desc_test_complex_proto_extTypes[16]
  1954  	// optional uint64 uint64 = 20011;
  1955  	E_Uint64 = &file_desc_test_complex_proto_extTypes[17]
  1956  	// optional sint32 sint32 = 20012;
  1957  	E_Sint32 = &file_desc_test_complex_proto_extTypes[18]
  1958  	// optional sint64 sint64 = 20013;
  1959  	E_Sint64 = &file_desc_test_complex_proto_extTypes[19]
  1960  	// optional fixed32 fixed32 = 20014;
  1961  	E_Fixed32 = &file_desc_test_complex_proto_extTypes[20]
  1962  	// optional fixed64 fixed64 = 20015;
  1963  	E_Fixed64 = &file_desc_test_complex_proto_extTypes[21]
  1964  	// optional sfixed32 sfixed32 = 20016;
  1965  	E_Sfixed32 = &file_desc_test_complex_proto_extTypes[22]
  1966  	// optional sfixed64 sfixed64 = 20017;
  1967  	E_Sfixed64 = &file_desc_test_complex_proto_extTypes[23]
  1968  	// optional bool bool = 20018;
  1969  	E_Bool = &file_desc_test_complex_proto_extTypes[24]
  1970  	// optional float float = 20019;
  1971  	E_Float = &file_desc_test_complex_proto_extTypes[25]
  1972  	// optional double double = 20020;
  1973  	E_Double = &file_desc_test_complex_proto_extTypes[26]
  1974  	// optional bool optional = 20021;
  1975  	E_Optional = &file_desc_test_complex_proto_extTypes[27]
  1976  	// optional bool repeated = 20022;
  1977  	E_Repeated = &file_desc_test_complex_proto_extTypes[28]
  1978  	// optional bool required = 20023;
  1979  	E_Required = &file_desc_test_complex_proto_extTypes[29]
  1980  	// optional bool message = 20024;
  1981  	E_Message = &file_desc_test_complex_proto_extTypes[30]
  1982  	// optional bool enum = 20025;
  1983  	E_Enum = &file_desc_test_complex_proto_extTypes[31]
  1984  	// optional bool service = 20026;
  1985  	E_Service = &file_desc_test_complex_proto_extTypes[32]
  1986  	// optional bool rpc = 20027;
  1987  	E_Rpc = &file_desc_test_complex_proto_extTypes[33]
  1988  	// optional bool option = 20028;
  1989  	E_Option = &file_desc_test_complex_proto_extTypes[34]
  1990  	// optional bool extend = 20029;
  1991  	E_Extend = &file_desc_test_complex_proto_extTypes[35]
  1992  	// optional bool extensions = 20030;
  1993  	E_Extensions = &file_desc_test_complex_proto_extTypes[36]
  1994  	// optional bool reserved = 20031;
  1995  	E_Reserved = &file_desc_test_complex_proto_extTypes[37]
  1996  	// optional bool to = 20032;
  1997  	E_To = &file_desc_test_complex_proto_extTypes[38]
  1998  	// optional int32 true = 20033;
  1999  	E_True = &file_desc_test_complex_proto_extTypes[39]
  2000  	// optional int32 false = 20034;
  2001  	E_False = &file_desc_test_complex_proto_extTypes[40]
  2002  	// optional int32 default = 20035;
  2003  	E_Default = &file_desc_test_complex_proto_extTypes[41]
  2004  	// optional foo.bar.KeywordCollisions boom = 20036;
  2005  	E_Boom = &file_desc_test_complex_proto_extTypes[42]
  2006  )
  2007  
  2008  // Extension fields to Test.
  2009  var (
  2010  	// optional string _garblez = 100;
  2011  	E_Test_Nested_XNestedNested_XGarblez = &file_desc_test_complex_proto_extTypes[44]
  2012  )
  2013  
  2014  var File_desc_test_complex_proto protoreflect.FileDescriptor
  2015  
  2016  var file_desc_test_complex_proto_rawDesc = []byte{
  2017  	0x0a, 0x17, 0x64, 0x65, 0x73, 0x63, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x70,
  2018  	0x6c, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x66, 0x6f, 0x6f, 0x2e, 0x62,
  2019  	0x61, 0x72, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2020  	0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70,
  2021  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2c, 0x0a, 0x06, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x12,
  2022  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
  2023  	0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02,
  2024  	0x69, 0x64, 0x22, 0xcd, 0x04, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x66,
  2025  	0x6f, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7c, 0x66, 0x6f, 0x6f, 0x7c, 0x12,
  2026  	0x14, 0x0a, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
  2027  	0x61, 0x72, 0x72, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x01, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  2028  	0x32, 0x0f, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c,
  2029  	0x65, 0x52, 0x01, 0x73, 0x12, 0x1d, 0x0a, 0x01, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2030  	0x0f, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65,
  2031  	0x52, 0x01, 0x72, 0x12, 0x22, 0x0a, 0x01, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14,
  2032  	0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x45,
  2033  	0x6e, 0x74, 0x72, 0x79, 0x52, 0x01, 0x6d, 0x12, 0x34, 0x0a, 0x01, 0x62, 0x18, 0x06, 0x20, 0x01,
  2034  	0x28, 0x0c, 0x3a, 0x26, 0x5c, 0x30, 0x30, 0x30, 0x5c, 0x30, 0x30, 0x31, 0x5c, 0x30, 0x30, 0x32,
  2035  	0x5c, 0x30, 0x30, 0x33, 0x5c, 0x30, 0x30, 0x34, 0x5c, 0x30, 0x30, 0x35, 0x5c, 0x30, 0x30, 0x36,
  2036  	0x5c, 0x30, 0x30, 0x37, 0x66, 0x75, 0x62, 0x61, 0x72, 0x21, 0x52, 0x01, 0x62, 0x1a, 0x34, 0x0a,
  2037  	0x06, 0x4d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
  2038  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
  2039  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
  2040  	0x02, 0x38, 0x01, 0x1a, 0xa1, 0x02, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0xd9,
  2041  	0x01, 0x0a, 0x0d, 0x5f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
  2042  	0x1a, 0x49, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
  2043  	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x18, 0x01,
  2044  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54,
  2045  	0x65, 0x73, 0x74, 0x52, 0x04, 0x54, 0x65, 0x73, 0x74, 0x3a, 0x10, 0x92, 0xe2, 0x09, 0x0c, 0x0a,
  2046  	0x03, 0x68, 0x6f, 0x6f, 0xa2, 0x06, 0x04, 0x73, 0x70, 0x6f, 0x6f, 0x22, 0x3d, 0x0a, 0x03, 0x45,
  2047  	0x45, 0x45, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x31,
  2048  	0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x33,
  2049  	0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x34, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x35,
  2050  	0x10, 0x05, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x36, 0x10, 0x06, 0x32, 0x28, 0x0a, 0x08, 0x5f, 0x67,
  2051  	0x61, 0x72, 0x62, 0x6c, 0x65, 0x7a, 0x12, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72,
  2052  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x61, 0x72,
  2053  	0x62, 0x6c, 0x65, 0x7a, 0x3a, 0x14, 0x98, 0xe2, 0x09, 0xf5, 0x4e, 0x92, 0xe2, 0x09, 0x0b, 0x0a,
  2054  	0x03, 0x67, 0x6f, 0x6f, 0xa2, 0x06, 0x03, 0x62, 0x6f, 0x6f, 0x32, 0x3b, 0x0a, 0x07, 0x66, 0x6f,
  2055  	0x6f, 0x62, 0x6c, 0x65, 0x7a, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2056  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f,
  2057  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa3, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07,
  2058  	0x66, 0x6f, 0x6f, 0x62, 0x6c, 0x65, 0x7a, 0x2a, 0x05, 0x08, 0x64, 0x10, 0xc9, 0x01, 0x2a, 0x10,
  2059  	0x08, 0xac, 0x02, 0x10, 0xdf, 0x02, 0x1a, 0x08, 0x82, 0xe2, 0x09, 0x04, 0x6a, 0x61, 0x7a, 0x7a,
  2060  	0x2a, 0x10, 0x08, 0xf4, 0x03, 0x10, 0xa7, 0x04, 0x1a, 0x08, 0x82, 0xe2, 0x09, 0x04, 0x6a, 0x61,
  2061  	0x7a, 0x7a, 0x22, 0x3f, 0x0a, 0x17, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74,
  2062  	0x68, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x04, 0x08,
  2063  	0x05, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x10, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a,
  2064  	0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x52, 0x01, 0x41, 0x52, 0x01, 0x42,
  2065  	0x52, 0x01, 0x43, 0x22, 0x91, 0x01, 0x0a, 0x0e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57,
  2066  	0x69, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x18, 0x01,
  2067  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x4d,
  2068  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x61, 0x70, 0x2e, 0x56, 0x61,
  2069  	0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x76, 0x61, 0x6c, 0x73, 0x1a, 0x48, 0x0a,
  2070  	0x09, 0x56, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  2071  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x05,
  2072  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x6f,
  2073  	0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61,
  2074  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd0, 0x02, 0x0a, 0x07, 0x41, 0x6e, 0x6f, 0x74,
  2075  	0x68, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x04, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  2076  	0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74,
  2077  	0x52, 0x04, 0x74, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x03, 0x66, 0x66, 0x66, 0x18, 0x02, 0x20,
  2078  	0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65,
  2079  	0x73, 0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e, 0x5f, 0x4e, 0x65, 0x73, 0x74, 0x65,
  2080  	0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x45, 0x45, 0x3a, 0x02, 0x56, 0x31, 0x52,
  2081  	0x03, 0x66, 0x66, 0x66, 0x3a, 0xe3, 0x01, 0x92, 0xe2, 0x09, 0x23, 0x0a, 0x03, 0x61, 0x62, 0x63,
  2082  	0x10, 0x01, 0x10, 0x02, 0x10, 0x03, 0x1a, 0x07, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x10, 0x7b, 0x22,
  2083  	0x03, 0x0a, 0x01, 0x66, 0x22, 0x03, 0x0a, 0x01, 0x73, 0x22, 0x03, 0x10, 0xc8, 0x03, 0x92, 0xe2,
  2084  	0x09, 0x1f, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x10, 0x03, 0x10, 0x02, 0x10, 0x01, 0x1a, 0x08, 0x0a,
  2085  	0x03, 0x62, 0x61, 0x72, 0x10, 0xc1, 0x02, 0x22, 0x03, 0x0a, 0x01, 0x67, 0x22, 0x03, 0x0a, 0x01,
  2086  	0x73, 0x92, 0xe2, 0x09, 0x05, 0x0a, 0x03, 0x64, 0x65, 0x66, 0xd0, 0xe2, 0x09, 0x01, 0xa2, 0xe3,
  2087  	0x09, 0x02, 0x10, 0x00, 0xa2, 0xe3, 0x09, 0x15, 0x0a, 0x13, 0x2a, 0x07, 0x0a, 0x03, 0x66, 0x6f,
  2088  	0x6f, 0x10, 0x64, 0x2a, 0x08, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x10, 0xc8, 0x01, 0xa2, 0xe3, 0x09,
  2089  	0x07, 0x0a, 0x05, 0x0a, 0x03, 0x6d, 0x26, 0x6d, 0xa2, 0xe3, 0x09, 0x0a, 0x0a, 0x08, 0x1a, 0x06,
  2090  	0x0a, 0x04, 0x79, 0x6f, 0x6c, 0x6f, 0xa2, 0xe3, 0x09, 0x08, 0x0a, 0x06, 0x1a, 0x04, 0x10, 0xcd,
  2091  	0x83, 0x06, 0xa2, 0xe3, 0x09, 0x04, 0x0a, 0x02, 0x10, 0x01, 0xa2, 0xe3, 0x09, 0x04, 0x0a, 0x02,
  2092  	0x10, 0x02, 0xa2, 0xe3, 0x09, 0x0b, 0x0a, 0x09, 0xa2, 0x06, 0x06, 0x77, 0x68, 0x6f, 0x61, 0x68,
  2093  	0x21, 0xf2, 0xe3, 0x09, 0x06, 0x0a, 0x04, 0x0a, 0x00, 0x12, 0x00, 0xf2, 0xe3, 0x09, 0x09, 0x0a,
  2094  	0x07, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x12, 0x00, 0xf2, 0xe3, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x03,
  2095  	0x62, 0x61, 0x72, 0x12, 0x05, 0x0a, 0x03, 0x62, 0x61, 0x7a, 0x22, 0xf3, 0x01, 0x0a, 0x09, 0x56,
  2096  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68,
  2097  	0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
  2098  	0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x3d,
  2099  	0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03,
  2100  	0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x56, 0x61, 0x6c,
  2101  	0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
  2102  	0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x57, 0x0a,
  2103  	0x0a, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x06, 0x61,
  2104  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x66, 0x6f,
  2105  	0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
  2106  	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
  2107  	0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  2108  	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x28, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  2109  	0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x52,
  2110  	0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02,
  2111  	0x22, 0xe8, 0x04, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x72,
  2112  	0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x66, 0x6f, 0x6f, 0x2e,
  2113  	0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52,
  2114  	0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a,
  2115  	0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2116  	0x1a, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x52,
  2117  	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72,
  2118  	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x03, 0x69, 0x6e, 0x74, 0x18, 0x03,
  2119  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52,
  2120  	0x75, 0x6c, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x03, 0x69,
  2121  	0x6e, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x72, 0x75, 0x6c, 0x65, 0x18,
  2122  	0x04, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x17, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e,
  2123  	0x52, 0x75, 0x6c, 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x00,
  2124  	0x52, 0x09, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x79, 0x0a, 0x0a, 0x53,
  2125  	0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74,
  2126  	0x74, 0x65, 0x72, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74,
  2127  	0x65, 0x72, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d, 0x70,
  2128  	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45,
  2129  	0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x18,
  2130  	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a,
  2131  	0x07, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
  2132  	0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x1a, 0x3b, 0x0a, 0x07, 0x49, 0x6e, 0x74, 0x52, 0x75, 0x6c,
  2133  	0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
  2134  	0x28, 0x03, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61,
  2135  	0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78,
  2136  	0x56, 0x61, 0x6c, 0x1a, 0x8e, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
  2137  	0x52, 0x75, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x6d,
  2138  	0x70, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
  2139  	0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65,
  2140  	0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65,
  2141  	0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
  2142  	0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12,
  2143  	0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d,
  2144  	0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x69,
  2145  	0x74, 0x65, 0x6d, 0x73, 0x1a, 0x3d, 0x0a, 0x09, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c,
  2146  	0x65, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01,
  2147  	0x28, 0x01, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61,
  2148  	0x78, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6d, 0x61, 0x78,
  2149  	0x56, 0x61, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0x6d, 0x0a, 0x0f, 0x49,
  2150  	0x73, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x52, 0x65, 0x71, 0x12, 0x5a,
  2151  	0x0a, 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
  2152  	0x42, 0x3e, 0x92, 0x4d, 0x3b, 0x12, 0x39, 0x10, 0x01, 0x22, 0x35, 0x0a, 0x33, 0x0a, 0x31, 0x5e,
  2153  	0x28, 0x3f, 0x3a, 0x28, 0x3f, 0x3a, 0x74, 0x65, 0x61, 0x6d, 0x3a, 0x28, 0x3f, 0x3a, 0x6c, 0x6f,
  2154  	0x63, 0x61, 0x6c, 0x7c, 0x6c, 0x64, 0x61, 0x70, 0x29, 0x29, 0x7c, 0x75, 0x73, 0x65, 0x72, 0x29,
  2155  	0x3a, 0x5b, 0x5b, 0x3a, 0x61, 0x6c, 0x6e, 0x75, 0x6d, 0x3a, 0x5d, 0x5f, 0x2d, 0x5d, 0x2b, 0x24,
  2156  	0x52, 0x08, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xdf, 0x06, 0x0a, 0x11, 0x4b,
  2157  	0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73,
  2158  	0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
  2159  	0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x6f,
  2160  	0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
  2161  	0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
  2162  	0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x65, 0x61, 0x6b,
  2163  	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x65, 0x61, 0x6b, 0x12, 0x18, 0x0a, 0x07,
  2164  	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70,
  2165  	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
  2166  	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14,
  2167  	0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62,
  2168  	0x79, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x08, 0x20,
  2169  	0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e,
  2170  	0x74, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34,
  2171  	0x12, 0x16, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
  2172  	0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74,
  2173  	0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
  2174  	0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x11,
  2175  	0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74,
  2176  	0x36, 0x34, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34,
  2177  	0x12, 0x18, 0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0e, 0x20, 0x01, 0x28,
  2178  	0x07, 0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x69,
  2179  	0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x66, 0x69, 0x78,
  2180  	0x65, 0x64, 0x36, 0x34, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
  2181  	0x18, 0x10, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
  2182  	0x12, 0x1a, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x11, 0x20, 0x01,
  2183  	0x28, 0x10, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04,
  2184  	0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c,
  2185  	0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52,
  2186  	0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65,
  2187  	0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1a,
  2188  	0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08,
  2189  	0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65,
  2190  	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65,
  2191  	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
  2192  	0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
  2193  	0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x18, 0x20,
  2194  	0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04,
  2195  	0x65, 0x6e, 0x75, 0x6d, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d,
  2196  	0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28,
  2197  	0x08, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70,
  2198  	0x63, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x70, 0x63, 0x12, 0x16, 0x0a, 0x06,
  2199  	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70,
  2200  	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x1d,
  2201  	0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
  2202  	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08,
  2203  	0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08,
  2204  	0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
  2205  	0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x20,
  2206  	0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x72, 0x75, 0x65,
  2207  	0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x72, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05,
  2208  	0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x61, 0x6c,
  2209  	0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x23, 0x20,
  2210  	0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x9a, 0x03, 0x0a,
  2211  	0x17, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f,
  2212  	0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x02, 0x69, 0x64, 0x18,
  2213  	0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0xc1, 0x01, 0x88, 0xe2, 0x09, 0x01, 0x90, 0xe2, 0x09, 0x01,
  2214  	0x98, 0xe2, 0x09, 0x01, 0xa0, 0xe2, 0x09, 0x01, 0xa8, 0xe2, 0x09, 0x01, 0xb2, 0xe2, 0x09, 0x06,
  2215  	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0xba, 0xe2, 0x09, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x90,
  2216  	0xe3, 0x09, 0x01, 0x9d, 0xe3, 0x09, 0xc3, 0xf5, 0x48, 0x40, 0xa1, 0xe3, 0x09, 0x6e, 0x86, 0x1b,
  2217  	0xf0, 0xf9, 0x21, 0x09, 0x40, 0xc0, 0xe2, 0x09, 0x20, 0xc8, 0xe2, 0x09, 0x40, 0xd0, 0xe2, 0x09,
  2218  	0x80, 0x19, 0xd8, 0xe2, 0x09, 0x80, 0x32, 0xe0, 0xe2, 0x09, 0x3f, 0xe8, 0xe2, 0x09, 0x7f, 0xf5,
  2219  	0xe2, 0x09, 0xa0, 0x0c, 0x00, 0x00, 0xf9, 0xe2, 0x09, 0x40, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
  2220  	0x00, 0x85, 0xe3, 0x09, 0x60, 0xf3, 0xff, 0xff, 0x89, 0xe3, 0x09, 0xc0, 0xe6, 0xff, 0xff, 0xff,
  2221  	0xff, 0xff, 0xff, 0xa8, 0xe3, 0x09, 0x01, 0xb0, 0xe3, 0x09, 0x01, 0xb8, 0xe3, 0x09, 0x01, 0xc0,
  2222  	0xe3, 0x09, 0x01, 0xc8, 0xe3, 0x09, 0x01, 0xd0, 0xe3, 0x09, 0x01, 0xd8, 0xe3, 0x09, 0x01, 0xe0,
  2223  	0xe3, 0x09, 0x01, 0xe8, 0xe3, 0x09, 0x01, 0xf0, 0xe3, 0x09, 0x01, 0xf8, 0xe3, 0x09, 0x01, 0x80,
  2224  	0xe4, 0x09, 0x01, 0x88, 0xe4, 0x09, 0x6f, 0x90, 0xe4, 0x09, 0x91, 0xff, 0xff, 0xff, 0xff, 0xff,
  2225  	0xff, 0xff, 0xff, 0x01, 0x98, 0xe4, 0x09, 0xde, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0xa9, 0x01,
  2226  	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x94, 0x01, 0xa2,
  2227  	0xe4, 0x09, 0x8f, 0x01, 0x08, 0x01, 0x10, 0x01, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x32, 0x06,
  2228  	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x40, 0x20, 0x48,
  2229  	0x40, 0x50, 0x80, 0x19, 0x58, 0x80, 0x32, 0x60, 0x3f, 0x68, 0x7f, 0x75, 0xa0, 0x0c, 0x00, 0x00,
  2230  	0x79, 0x40, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x01, 0x60, 0xf3, 0xff, 0xff, 0x89,
  2231  	0x01, 0xc0, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x01, 0x01, 0x9d, 0x01, 0xc3, 0xf5,
  2232  	0x48, 0x40, 0xa1, 0x01, 0x6e, 0x86, 0x1b, 0xf0, 0xf9, 0x21, 0x09, 0x40, 0xa8, 0x01, 0x01, 0xb0,
  2233  	0x01, 0x01, 0xb8, 0x01, 0x01, 0xc0, 0x01, 0x01, 0xc8, 0x01, 0x01, 0xd0, 0x01, 0x01, 0xd8, 0x01,
  2234  	0x01, 0xe0, 0x01, 0x01, 0xe8, 0x01, 0x01, 0xf0, 0x01, 0x01, 0xf8, 0x01, 0x01, 0x80, 0x02, 0x01,
  2235  	0x88, 0x02, 0x6f, 0x90, 0x02, 0x91, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x98,
  2236  	0x02, 0xde, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x78, 0x0a, 0x14, 0x45, 0x6e, 0x75,
  2237  	0x6d, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2238  	0x73, 0x12, 0x05, 0x0a, 0x01, 0x58, 0x10, 0x02, 0x12, 0x05, 0x0a, 0x01, 0x59, 0x10, 0x03, 0x12,
  2239  	0x05, 0x0a, 0x01, 0x5a, 0x10, 0x04, 0x22, 0x09, 0x08, 0xe8, 0x07, 0x10, 0xff, 0xff, 0xff, 0xff,
  2240  	0x07, 0x22, 0x0d, 0x08, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x10, 0x01,
  2241  	0x22, 0x04, 0x08, 0x05, 0x10, 0x0a, 0x22, 0x04, 0x08, 0x0c, 0x10, 0x0f, 0x22, 0x04, 0x08, 0x12,
  2242  	0x10, 0x12, 0x22, 0x16, 0x08, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x10,
  2243  	0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x2a, 0x01, 0x43, 0x2a, 0x01, 0x42,
  2244  	0x2a, 0x01, 0x41, 0x32, 0x86, 0x01, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74,
  2245  	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x41,
  2246  	0x75, 0x74, 0x68, 0x12, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65,
  2247  	0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73,
  2248  	0x74, 0x22, 0x12, 0xca, 0x83, 0x06, 0x0e, 0x08, 0x01, 0x12, 0x0a, 0x08, 0x00, 0x12, 0x06, 0x63,
  2249  	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x0d, 0x2e, 0x66,
  2250  	0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x66, 0x6f,
  2251  	0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x22, 0x10, 0xca, 0x83, 0x06, 0x0c,
  2252  	0x08, 0x01, 0x12, 0x08, 0x08, 0x01, 0x12, 0x04, 0x75, 0x73, 0x65, 0x72, 0x3a, 0x3e, 0x0a, 0x05,
  2253  	0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2254  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
  2255  	0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa0, 0x9c,
  2256  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3a, 0x44, 0x0a, 0x04,
  2257  	0x72, 0x65, 0x70, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2258  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70,
  2259  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa2, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e,
  2260  	0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x04, 0x72, 0x65,
  2261  	0x70, 0x74, 0x3a, 0x5b, 0x0a, 0x03, 0x65, 0x65, 0x65, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2262  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73,
  2263  	0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaa, 0x9c, 0x01, 0x20, 0x01,
  2264  	0x28, 0x0e, 0x32, 0x26, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x54, 0x65, 0x73,
  2265  	0x74, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e, 0x5f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
  2266  	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2e, 0x45, 0x45, 0x45, 0x52, 0x03, 0x65, 0x65, 0x65, 0x3a,
  2267  	0x41, 0x0a, 0x01, 0x61, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2268  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70,
  2269  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb4, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
  2270  	0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x41, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x52,
  2271  	0x01, 0x61, 0x3a, 0x55, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x1f,
  2272  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2273  	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2274  	0xbe, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61,
  2275  	0x72, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4d, 0x61, 0x70,
  2276  	0x52, 0x07, 0x6d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x73, 0x3a, 0x51, 0x0a, 0x09, 0x76, 0x61, 0x6c,
  2277  	0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2278  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f,
  2279  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb9, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  2280  	0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f,
  2281  	0x72, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x43, 0x0a, 0x05,
  2282  	0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2283  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2284  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xd2, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6f,
  2285  	0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65,
  2286  	0x73, 0x3a, 0x37, 0x0a, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x12, 0x1d, 0x2e, 0x67, 0x6f,
  2287  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69,
  2288  	0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa1, 0x9c, 0x01, 0x20, 0x01,
  2289  	0x28, 0x08, 0x52, 0x06, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x3a, 0x37, 0x0a, 0x06, 0x69, 0x6d,
  2290  	0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2291  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2292  	0x6f, 0x6e, 0x73, 0x18, 0xa2, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x6d, 0x70,
  2293  	0x6f, 0x72, 0x74, 0x3a, 0x37, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x1d, 0x2e,
  2294  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2295  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa3, 0x9c, 0x01,
  2296  	0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x3a, 0x33, 0x0a, 0x04,
  2297  	0x77, 0x65, 0x61, 0x6b, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2298  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2299  	0x6f, 0x6e, 0x73, 0x18, 0xa4, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x77, 0x65, 0x61,
  2300  	0x6b, 0x3a, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x67,
  2301  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2302  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa5, 0x9c, 0x01, 0x20,
  2303  	0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x3a, 0x37, 0x0a, 0x06,
  2304  	0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2305  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
  2306  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa6, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73,
  2307  	0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x35, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d,
  2308  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2309  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa7, 0x9c,
  2310  	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x35, 0x0a, 0x05,
  2311  	0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2312  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2313  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e,
  2314  	0x74, 0x33, 0x32, 0x3a, 0x35, 0x0a, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67,
  2315  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2316  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa9, 0x9c, 0x01, 0x20,
  2317  	0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x37, 0x0a, 0x06, 0x75, 0x69,
  2318  	0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2319  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2320  	0x6f, 0x6e, 0x73, 0x18, 0xaa, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x69, 0x6e,
  2321  	0x74, 0x33, 0x32, 0x3a, 0x37, 0x0a, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x2e,
  2322  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2323  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xab, 0x9c, 0x01,
  2324  	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x37, 0x0a, 0x06,
  2325  	0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2326  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
  2327  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x06, 0x73,
  2328  	0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x37, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
  2329  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2330  	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xad,
  2331  	0x9c, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x39,
  2332  	0x0a, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2333  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
  2334  	0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xae, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x07,
  2335  	0x52, 0x07, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x39, 0x0a, 0x07, 0x66, 0x69, 0x78,
  2336  	0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2337  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2338  	0x6f, 0x6e, 0x73, 0x18, 0xaf, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x66, 0x69, 0x78,
  2339  	0x65, 0x64, 0x36, 0x34, 0x3a, 0x3b, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
  2340  	0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2341  	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2342  	0xb0, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
  2343  	0x32, 0x3a, 0x3b, 0x0a, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x2e,
  2344  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2345  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1, 0x9c, 0x01,
  2346  	0x20, 0x01, 0x28, 0x10, 0x52, 0x08, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x33,
  2347  	0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2348  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
  2349  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb2, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62,
  2350  	0x6f, 0x6f, 0x6c, 0x3a, 0x35, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x2e, 0x67,
  2351  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2352  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb3, 0x9c, 0x01, 0x20,
  2353  	0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x37, 0x0a, 0x06, 0x64, 0x6f,
  2354  	0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  2355  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
  2356  	0x6f, 0x6e, 0x73, 0x18, 0xb4, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x75,
  2357  	0x62, 0x6c, 0x65, 0x3a, 0x3b, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12,
  2358  	0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2359  	0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb5,
  2360  	0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
  2361  	0x3a, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x67,
  2362  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2363  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb6, 0x9c, 0x01, 0x20,
  2364  	0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x3b, 0x0a,
  2365  	0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  2366  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
  2367  	0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb7, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08,
  2368  	0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3a, 0x39, 0x0a, 0x07, 0x6d, 0x65,
  2369  	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2370  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2371  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6d, 0x65,
  2372  	0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x33, 0x0a, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e,
  2373  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  2374  	0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb9, 0x9c, 0x01,
  2375  	0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x3a, 0x39, 0x0a, 0x07, 0x73, 0x65,
  2376  	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  2377  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74,
  2378  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0xba, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65,
  2379  	0x72, 0x76, 0x69, 0x63, 0x65, 0x3a, 0x31, 0x0a, 0x03, 0x72, 0x70, 0x63, 0x12, 0x1d, 0x2e, 0x67,
  2380  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
  2381  	0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbb, 0x9c, 0x01, 0x20,
  2382  	0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x70, 0x63, 0x3a, 0x37, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69,
  2383  	0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2384  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
  2385  	0x73, 0x18, 0xbc, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f,
  2386  	0x6e, 0x3a, 0x37, 0x0a, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f,
  2387  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69,
  2388  	0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbd, 0x9c, 0x01, 0x20, 0x01,
  2389  	0x28, 0x08, 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x3a, 0x3f, 0x0a, 0x0a, 0x65, 0x78,
  2390  	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2391  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  2392  	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbe, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
  2393  	0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3b, 0x0a, 0x08, 0x72,
  2394  	0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2395  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
  2396  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbf, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
  2397  	0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x3a, 0x2f, 0x0a, 0x02, 0x74, 0x6f, 0x12, 0x1d,
  2398  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2399  	0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc0, 0x9c,
  2400  	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x74, 0x6f, 0x3a, 0x33, 0x0a, 0x04, 0x74, 0x72, 0x75,
  2401  	0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2402  	0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  2403  	0x18, 0xc1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x72, 0x75, 0x65, 0x3a, 0x35,
  2404  	0x0a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  2405  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f,
  2406  	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc2, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
  2407  	0x66, 0x61, 0x6c, 0x73, 0x65, 0x3a, 0x39, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
  2408  	0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  2409  	0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2410  	0xc3, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
  2411  	0x3a, 0x4f, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6d, 0x12, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  2412  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
  2413  	0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xc4, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2414  	0x1a, 0x2e, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72,
  2415  	0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x62, 0x6f, 0x6f,
  2416  	0x6d, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
  2417  	0x6a, 0x68, 0x75, 0x6d, 0x70, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x72, 0x65, 0x66, 0x6c, 0x65,
  2418  	0x63, 0x74, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74,
  2419  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
  2420  }
  2421  
  2422  var (
  2423  	file_desc_test_complex_proto_rawDescOnce sync.Once
  2424  	file_desc_test_complex_proto_rawDescData = file_desc_test_complex_proto_rawDesc
  2425  )
  2426  
  2427  func file_desc_test_complex_proto_rawDescGZIP() []byte {
  2428  	file_desc_test_complex_proto_rawDescOnce.Do(func() {
  2429  		file_desc_test_complex_proto_rawDescData = protoimpl.X.CompressGZIP(file_desc_test_complex_proto_rawDescData)
  2430  	})
  2431  	return file_desc_test_complex_proto_rawDescData
  2432  }
  2433  
  2434  var file_desc_test_complex_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2435  var file_desc_test_complex_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
  2436  var file_desc_test_complex_proto_goTypes = []interface{}{
  2437  	(EnumWithReservations)(0),          // 0: foo.bar.EnumWithReservations
  2438  	(Test_Nested_XNestedNested_EEE)(0), // 1: foo.bar.Test.Nested._NestedNested.EEE
  2439  	(Validator_Action)(0),              // 2: foo.bar.Validator.Action
  2440  	(*Simple)(nil),                     // 3: foo.bar.Simple
  2441  	(*Test)(nil),                       // 4: foo.bar.Test
  2442  	(*MessageWithReservations)(nil),    // 5: foo.bar.MessageWithReservations
  2443  	(*MessageWithMap)(nil),             // 6: foo.bar.MessageWithMap
  2444  	(*Another)(nil),                    // 7: foo.bar.Another
  2445  	(*Validator)(nil),                  // 8: foo.bar.Validator
  2446  	(*Rule)(nil),                       // 9: foo.bar.Rule
  2447  	(*IsAuthorizedReq)(nil),            // 10: foo.bar.IsAuthorizedReq
  2448  	(*KeywordCollisions)(nil),          // 11: foo.bar.KeywordCollisions
  2449  	(*KeywordCollisionOptions)(nil),    // 12: foo.bar.KeywordCollisionOptions
  2450  	nil,                                // 13: foo.bar.Test.MEntry
  2451  	(*Test_Nested)(nil),                // 14: foo.bar.Test.Nested
  2452  	(*Test_Nested_XNestedNested)(nil),  // 15: foo.bar.Test.Nested._NestedNested
  2453  	(*Test_Nested_XNestedNested_NestedNestedNested)(nil), // 16: foo.bar.Test.Nested._NestedNested.NestedNestedNested
  2454  	nil,                                      // 17: foo.bar.MessageWithMap.ValsEntry
  2455  	(*Validator_Permission)(nil),             // 18: foo.bar.Validator.Permission
  2456  	(*Rule_StringRule)(nil),                  // 19: foo.bar.Rule.StringRule
  2457  	(*Rule_IntRule)(nil),                     // 20: foo.bar.Rule.IntRule
  2458  	(*Rule_RepeatedRule)(nil),                // 21: foo.bar.Rule.RepeatedRule
  2459  	(*Rule_FloatRule)(nil),                   // 22: foo.bar.Rule.FloatRule
  2460  	(*descriptor.ExtensionRangeOptions)(nil), // 23: google.protobuf.ExtensionRangeOptions
  2461  	(*descriptor.MessageOptions)(nil),        // 24: google.protobuf.MessageOptions
  2462  	(*descriptor.MethodOptions)(nil),         // 25: google.protobuf.MethodOptions
  2463  	(*descriptor.FieldOptions)(nil),          // 26: google.protobuf.FieldOptions
  2464  }
  2465  var file_desc_test_complex_proto_depIdxs = []int32{
  2466  	3,  // 0: foo.bar.Test.s:type_name -> foo.bar.Simple
  2467  	3,  // 1: foo.bar.Test.r:type_name -> foo.bar.Simple
  2468  	13, // 2: foo.bar.Test.m:type_name -> foo.bar.Test.MEntry
  2469  	17, // 3: foo.bar.MessageWithMap.vals:type_name -> foo.bar.MessageWithMap.ValsEntry
  2470  	4,  // 4: foo.bar.Another.test:type_name -> foo.bar.Test
  2471  	1,  // 5: foo.bar.Another.fff:type_name -> foo.bar.Test.Nested._NestedNested.EEE
  2472  	18, // 6: foo.bar.Validator.permission:type_name -> foo.bar.Validator.Permission
  2473  	19, // 7: foo.bar.Rule.string:type_name -> foo.bar.Rule.StringRule
  2474  	21, // 8: foo.bar.Rule.repeated:type_name -> foo.bar.Rule.RepeatedRule
  2475  	20, // 9: foo.bar.Rule.int:type_name -> foo.bar.Rule.IntRule
  2476  	22, // 10: foo.bar.Rule.floatrule:type_name -> foo.bar.Rule.FloatRule
  2477  	4,  // 11: foo.bar.Test.Nested._NestedNested.NestedNestedNested.Test:type_name -> foo.bar.Test
  2478  	3,  // 12: foo.bar.MessageWithMap.ValsEntry.value:type_name -> foo.bar.Simple
  2479  	2,  // 13: foo.bar.Validator.Permission.action:type_name -> foo.bar.Validator.Action
  2480  	9,  // 14: foo.bar.Rule.RepeatedRule.items:type_name -> foo.bar.Rule
  2481  	23, // 15: foo.bar.label:extendee -> google.protobuf.ExtensionRangeOptions
  2482  	24, // 16: foo.bar.rept:extendee -> google.protobuf.MessageOptions
  2483  	24, // 17: foo.bar.eee:extendee -> google.protobuf.MessageOptions
  2484  	24, // 18: foo.bar.a:extendee -> google.protobuf.MessageOptions
  2485  	24, // 19: foo.bar.map_vals:extendee -> google.protobuf.MessageOptions
  2486  	25, // 20: foo.bar.validator:extendee -> google.protobuf.MethodOptions
  2487  	26, // 21: foo.bar.rules:extendee -> google.protobuf.FieldOptions
  2488  	26, // 22: foo.bar.syntax:extendee -> google.protobuf.FieldOptions
  2489  	26, // 23: foo.bar.import:extendee -> google.protobuf.FieldOptions
  2490  	26, // 24: foo.bar.public:extendee -> google.protobuf.FieldOptions
  2491  	26, // 25: foo.bar.weak:extendee -> google.protobuf.FieldOptions
  2492  	26, // 26: foo.bar.package:extendee -> google.protobuf.FieldOptions
  2493  	26, // 27: foo.bar.string:extendee -> google.protobuf.FieldOptions
  2494  	26, // 28: foo.bar.bytes:extendee -> google.protobuf.FieldOptions
  2495  	26, // 29: foo.bar.int32:extendee -> google.protobuf.FieldOptions
  2496  	26, // 30: foo.bar.int64:extendee -> google.protobuf.FieldOptions
  2497  	26, // 31: foo.bar.uint32:extendee -> google.protobuf.FieldOptions
  2498  	26, // 32: foo.bar.uint64:extendee -> google.protobuf.FieldOptions
  2499  	26, // 33: foo.bar.sint32:extendee -> google.protobuf.FieldOptions
  2500  	26, // 34: foo.bar.sint64:extendee -> google.protobuf.FieldOptions
  2501  	26, // 35: foo.bar.fixed32:extendee -> google.protobuf.FieldOptions
  2502  	26, // 36: foo.bar.fixed64:extendee -> google.protobuf.FieldOptions
  2503  	26, // 37: foo.bar.sfixed32:extendee -> google.protobuf.FieldOptions
  2504  	26, // 38: foo.bar.sfixed64:extendee -> google.protobuf.FieldOptions
  2505  	26, // 39: foo.bar.bool:extendee -> google.protobuf.FieldOptions
  2506  	26, // 40: foo.bar.float:extendee -> google.protobuf.FieldOptions
  2507  	26, // 41: foo.bar.double:extendee -> google.protobuf.FieldOptions
  2508  	26, // 42: foo.bar.optional:extendee -> google.protobuf.FieldOptions
  2509  	26, // 43: foo.bar.repeated:extendee -> google.protobuf.FieldOptions
  2510  	26, // 44: foo.bar.required:extendee -> google.protobuf.FieldOptions
  2511  	26, // 45: foo.bar.message:extendee -> google.protobuf.FieldOptions
  2512  	26, // 46: foo.bar.enum:extendee -> google.protobuf.FieldOptions
  2513  	26, // 47: foo.bar.service:extendee -> google.protobuf.FieldOptions
  2514  	26, // 48: foo.bar.rpc:extendee -> google.protobuf.FieldOptions
  2515  	26, // 49: foo.bar.option:extendee -> google.protobuf.FieldOptions
  2516  	26, // 50: foo.bar.extend:extendee -> google.protobuf.FieldOptions
  2517  	26, // 51: foo.bar.extensions:extendee -> google.protobuf.FieldOptions
  2518  	26, // 52: foo.bar.reserved:extendee -> google.protobuf.FieldOptions
  2519  	26, // 53: foo.bar.to:extendee -> google.protobuf.FieldOptions
  2520  	26, // 54: foo.bar.true:extendee -> google.protobuf.FieldOptions
  2521  	26, // 55: foo.bar.false:extendee -> google.protobuf.FieldOptions
  2522  	26, // 56: foo.bar.default:extendee -> google.protobuf.FieldOptions
  2523  	26, // 57: foo.bar.boom:extendee -> google.protobuf.FieldOptions
  2524  	24, // 58: foo.bar.Test.Nested.fooblez:extendee -> google.protobuf.MessageOptions
  2525  	4,  // 59: foo.bar.Test.Nested._NestedNested._garblez:extendee -> foo.bar.Test
  2526  	4,  // 60: foo.bar.rept:type_name -> foo.bar.Test
  2527  	1,  // 61: foo.bar.eee:type_name -> foo.bar.Test.Nested._NestedNested.EEE
  2528  	7,  // 62: foo.bar.a:type_name -> foo.bar.Another
  2529  	6,  // 63: foo.bar.map_vals:type_name -> foo.bar.MessageWithMap
  2530  	8,  // 64: foo.bar.validator:type_name -> foo.bar.Validator
  2531  	9,  // 65: foo.bar.rules:type_name -> foo.bar.Rule
  2532  	11, // 66: foo.bar.boom:type_name -> foo.bar.KeywordCollisions
  2533  	4,  // 67: foo.bar.TestTestService.UserAuth:input_type -> foo.bar.Test
  2534  	4,  // 68: foo.bar.TestTestService.Get:input_type -> foo.bar.Test
  2535  	4,  // 69: foo.bar.TestTestService.UserAuth:output_type -> foo.bar.Test
  2536  	4,  // 70: foo.bar.TestTestService.Get:output_type -> foo.bar.Test
  2537  	69, // [69:71] is the sub-list for method output_type
  2538  	67, // [67:69] is the sub-list for method input_type
  2539  	60, // [60:67] is the sub-list for extension type_name
  2540  	15, // [15:60] is the sub-list for extension extendee
  2541  	0,  // [0:15] is the sub-list for field type_name
  2542  }
  2543  
  2544  func init() { file_desc_test_complex_proto_init() }
  2545  func file_desc_test_complex_proto_init() {
  2546  	if File_desc_test_complex_proto != nil {
  2547  		return
  2548  	}
  2549  	if !protoimpl.UnsafeEnabled {
  2550  		file_desc_test_complex_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2551  			switch v := v.(*Simple); i {
  2552  			case 0:
  2553  				return &v.state
  2554  			case 1:
  2555  				return &v.sizeCache
  2556  			case 2:
  2557  				return &v.unknownFields
  2558  			default:
  2559  				return nil
  2560  			}
  2561  		}
  2562  		file_desc_test_complex_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2563  			switch v := v.(*Test); i {
  2564  			case 0:
  2565  				return &v.state
  2566  			case 1:
  2567  				return &v.sizeCache
  2568  			case 2:
  2569  				return &v.unknownFields
  2570  			case 3:
  2571  				return &v.extensionFields
  2572  			default:
  2573  				return nil
  2574  			}
  2575  		}
  2576  		file_desc_test_complex_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2577  			switch v := v.(*MessageWithReservations); i {
  2578  			case 0:
  2579  				return &v.state
  2580  			case 1:
  2581  				return &v.sizeCache
  2582  			case 2:
  2583  				return &v.unknownFields
  2584  			default:
  2585  				return nil
  2586  			}
  2587  		}
  2588  		file_desc_test_complex_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2589  			switch v := v.(*MessageWithMap); i {
  2590  			case 0:
  2591  				return &v.state
  2592  			case 1:
  2593  				return &v.sizeCache
  2594  			case 2:
  2595  				return &v.unknownFields
  2596  			default:
  2597  				return nil
  2598  			}
  2599  		}
  2600  		file_desc_test_complex_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2601  			switch v := v.(*Another); i {
  2602  			case 0:
  2603  				return &v.state
  2604  			case 1:
  2605  				return &v.sizeCache
  2606  			case 2:
  2607  				return &v.unknownFields
  2608  			default:
  2609  				return nil
  2610  			}
  2611  		}
  2612  		file_desc_test_complex_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2613  			switch v := v.(*Validator); i {
  2614  			case 0:
  2615  				return &v.state
  2616  			case 1:
  2617  				return &v.sizeCache
  2618  			case 2:
  2619  				return &v.unknownFields
  2620  			default:
  2621  				return nil
  2622  			}
  2623  		}
  2624  		file_desc_test_complex_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2625  			switch v := v.(*Rule); i {
  2626  			case 0:
  2627  				return &v.state
  2628  			case 1:
  2629  				return &v.sizeCache
  2630  			case 2:
  2631  				return &v.unknownFields
  2632  			default:
  2633  				return nil
  2634  			}
  2635  		}
  2636  		file_desc_test_complex_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2637  			switch v := v.(*IsAuthorizedReq); i {
  2638  			case 0:
  2639  				return &v.state
  2640  			case 1:
  2641  				return &v.sizeCache
  2642  			case 2:
  2643  				return &v.unknownFields
  2644  			default:
  2645  				return nil
  2646  			}
  2647  		}
  2648  		file_desc_test_complex_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2649  			switch v := v.(*KeywordCollisions); i {
  2650  			case 0:
  2651  				return &v.state
  2652  			case 1:
  2653  				return &v.sizeCache
  2654  			case 2:
  2655  				return &v.unknownFields
  2656  			default:
  2657  				return nil
  2658  			}
  2659  		}
  2660  		file_desc_test_complex_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2661  			switch v := v.(*KeywordCollisionOptions); i {
  2662  			case 0:
  2663  				return &v.state
  2664  			case 1:
  2665  				return &v.sizeCache
  2666  			case 2:
  2667  				return &v.unknownFields
  2668  			default:
  2669  				return nil
  2670  			}
  2671  		}
  2672  		file_desc_test_complex_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2673  			switch v := v.(*Test_Nested); i {
  2674  			case 0:
  2675  				return &v.state
  2676  			case 1:
  2677  				return &v.sizeCache
  2678  			case 2:
  2679  				return &v.unknownFields
  2680  			default:
  2681  				return nil
  2682  			}
  2683  		}
  2684  		file_desc_test_complex_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2685  			switch v := v.(*Test_Nested_XNestedNested); i {
  2686  			case 0:
  2687  				return &v.state
  2688  			case 1:
  2689  				return &v.sizeCache
  2690  			case 2:
  2691  				return &v.unknownFields
  2692  			default:
  2693  				return nil
  2694  			}
  2695  		}
  2696  		file_desc_test_complex_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2697  			switch v := v.(*Test_Nested_XNestedNested_NestedNestedNested); i {
  2698  			case 0:
  2699  				return &v.state
  2700  			case 1:
  2701  				return &v.sizeCache
  2702  			case 2:
  2703  				return &v.unknownFields
  2704  			default:
  2705  				return nil
  2706  			}
  2707  		}
  2708  		file_desc_test_complex_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2709  			switch v := v.(*Validator_Permission); i {
  2710  			case 0:
  2711  				return &v.state
  2712  			case 1:
  2713  				return &v.sizeCache
  2714  			case 2:
  2715  				return &v.unknownFields
  2716  			default:
  2717  				return nil
  2718  			}
  2719  		}
  2720  		file_desc_test_complex_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  2721  			switch v := v.(*Rule_StringRule); i {
  2722  			case 0:
  2723  				return &v.state
  2724  			case 1:
  2725  				return &v.sizeCache
  2726  			case 2:
  2727  				return &v.unknownFields
  2728  			default:
  2729  				return nil
  2730  			}
  2731  		}
  2732  		file_desc_test_complex_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  2733  			switch v := v.(*Rule_IntRule); i {
  2734  			case 0:
  2735  				return &v.state
  2736  			case 1:
  2737  				return &v.sizeCache
  2738  			case 2:
  2739  				return &v.unknownFields
  2740  			default:
  2741  				return nil
  2742  			}
  2743  		}
  2744  		file_desc_test_complex_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2745  			switch v := v.(*Rule_RepeatedRule); i {
  2746  			case 0:
  2747  				return &v.state
  2748  			case 1:
  2749  				return &v.sizeCache
  2750  			case 2:
  2751  				return &v.unknownFields
  2752  			default:
  2753  				return nil
  2754  			}
  2755  		}
  2756  		file_desc_test_complex_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2757  			switch v := v.(*Rule_FloatRule); i {
  2758  			case 0:
  2759  				return &v.state
  2760  			case 1:
  2761  				return &v.sizeCache
  2762  			case 2:
  2763  				return &v.unknownFields
  2764  			default:
  2765  				return nil
  2766  			}
  2767  		}
  2768  	}
  2769  	file_desc_test_complex_proto_msgTypes[6].OneofWrappers = []interface{}{
  2770  		(*Rule_String_)(nil),
  2771  		(*Rule_Repeated)(nil),
  2772  		(*Rule_Int)(nil),
  2773  		(*Rule_Floatrule)(nil),
  2774  	}
  2775  	type x struct{}
  2776  	out := protoimpl.TypeBuilder{
  2777  		File: protoimpl.DescBuilder{
  2778  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2779  			RawDescriptor: file_desc_test_complex_proto_rawDesc,
  2780  			NumEnums:      3,
  2781  			NumMessages:   20,
  2782  			NumExtensions: 45,
  2783  			NumServices:   1,
  2784  		},
  2785  		GoTypes:           file_desc_test_complex_proto_goTypes,
  2786  		DependencyIndexes: file_desc_test_complex_proto_depIdxs,
  2787  		EnumInfos:         file_desc_test_complex_proto_enumTypes,
  2788  		MessageInfos:      file_desc_test_complex_proto_msgTypes,
  2789  		ExtensionInfos:    file_desc_test_complex_proto_extTypes,
  2790  	}.Build()
  2791  	File_desc_test_complex_proto = out.File
  2792  	file_desc_test_complex_proto_rawDesc = nil
  2793  	file_desc_test_complex_proto_goTypes = nil
  2794  	file_desc_test_complex_proto_depIdxs = nil
  2795  }
  2796  
  2797  // Reference imports to suppress errors if they are not otherwise used.
  2798  var _ context.Context
  2799  var _ grpc.ClientConnInterface
  2800  
  2801  // This is a compile-time assertion to ensure that this generated file
  2802  // is compatible with the grpc package it is being compiled against.
  2803  const _ = grpc.SupportPackageIsVersion6
  2804  
  2805  // TestTestServiceClient is the client API for TestTestService service.
  2806  //
  2807  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2808  type TestTestServiceClient interface {
  2809  	UserAuth(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error)
  2810  	Get(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error)
  2811  }
  2812  
  2813  type testTestServiceClient struct {
  2814  	cc grpc.ClientConnInterface
  2815  }
  2816  
  2817  func NewTestTestServiceClient(cc grpc.ClientConnInterface) TestTestServiceClient {
  2818  	return &testTestServiceClient{cc}
  2819  }
  2820  
  2821  func (c *testTestServiceClient) UserAuth(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error) {
  2822  	out := new(Test)
  2823  	err := c.cc.Invoke(ctx, "/foo.bar.TestTestService/UserAuth", in, out, opts...)
  2824  	if err != nil {
  2825  		return nil, err
  2826  	}
  2827  	return out, nil
  2828  }
  2829  
  2830  func (c *testTestServiceClient) Get(ctx context.Context, in *Test, opts ...grpc.CallOption) (*Test, error) {
  2831  	out := new(Test)
  2832  	err := c.cc.Invoke(ctx, "/foo.bar.TestTestService/Get", in, out, opts...)
  2833  	if err != nil {
  2834  		return nil, err
  2835  	}
  2836  	return out, nil
  2837  }
  2838  
  2839  // TestTestServiceServer is the server API for TestTestService service.
  2840  type TestTestServiceServer interface {
  2841  	UserAuth(context.Context, *Test) (*Test, error)
  2842  	Get(context.Context, *Test) (*Test, error)
  2843  }
  2844  
  2845  // UnimplementedTestTestServiceServer can be embedded to have forward compatible implementations.
  2846  type UnimplementedTestTestServiceServer struct {
  2847  }
  2848  
  2849  func (*UnimplementedTestTestServiceServer) UserAuth(context.Context, *Test) (*Test, error) {
  2850  	return nil, status.Errorf(codes.Unimplemented, "method UserAuth not implemented")
  2851  }
  2852  func (*UnimplementedTestTestServiceServer) Get(context.Context, *Test) (*Test, error) {
  2853  	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
  2854  }
  2855  
  2856  func RegisterTestTestServiceServer(s *grpc.Server, srv TestTestServiceServer) {
  2857  	s.RegisterService(&_TestTestService_serviceDesc, srv)
  2858  }
  2859  
  2860  func _TestTestService_UserAuth_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2861  	in := new(Test)
  2862  	if err := dec(in); err != nil {
  2863  		return nil, err
  2864  	}
  2865  	if interceptor == nil {
  2866  		return srv.(TestTestServiceServer).UserAuth(ctx, in)
  2867  	}
  2868  	info := &grpc.UnaryServerInfo{
  2869  		Server:     srv,
  2870  		FullMethod: "/foo.bar.TestTestService/UserAuth",
  2871  	}
  2872  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2873  		return srv.(TestTestServiceServer).UserAuth(ctx, req.(*Test))
  2874  	}
  2875  	return interceptor(ctx, in, info, handler)
  2876  }
  2877  
  2878  func _TestTestService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2879  	in := new(Test)
  2880  	if err := dec(in); err != nil {
  2881  		return nil, err
  2882  	}
  2883  	if interceptor == nil {
  2884  		return srv.(TestTestServiceServer).Get(ctx, in)
  2885  	}
  2886  	info := &grpc.UnaryServerInfo{
  2887  		Server:     srv,
  2888  		FullMethod: "/foo.bar.TestTestService/Get",
  2889  	}
  2890  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2891  		return srv.(TestTestServiceServer).Get(ctx, req.(*Test))
  2892  	}
  2893  	return interceptor(ctx, in, info, handler)
  2894  }
  2895  
  2896  var _TestTestService_serviceDesc = grpc.ServiceDesc{
  2897  	ServiceName: "foo.bar.TestTestService",
  2898  	HandlerType: (*TestTestServiceServer)(nil),
  2899  	Methods: []grpc.MethodDesc{
  2900  		{
  2901  			MethodName: "UserAuth",
  2902  			Handler:    _TestTestService_UserAuth_Handler,
  2903  		},
  2904  		{
  2905  			MethodName: "Get",
  2906  			Handler:    _TestTestService_Get_Handler,
  2907  		},
  2908  	},
  2909  	Streams:  []grpc.StreamDesc{},
  2910  	Metadata: "desc_test_complex.proto",
  2911  }