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