github.com/cosmos/cosmos-proto@v1.0.0-beta.3/internal/testprotos/test3/test.pulsar.go (about)

     1  // Code generated by protoc-gen-go-pulsar. DO NOT EDIT.
     2  package test3
     3  
     4  import (
     5  	binary "encoding/binary"
     6  	fmt "fmt"
     7  	runtime "github.com/cosmos/cosmos-proto/runtime"
     8  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
     9  	protoiface "google.golang.org/protobuf/runtime/protoiface"
    10  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    11  	io "io"
    12  	math "math"
    13  	reflect "reflect"
    14  	sort "sort"
    15  	sync "sync"
    16  )
    17  
    18  var _ protoreflect.List = (*_TestAllTypes_31_list)(nil)
    19  
    20  type _TestAllTypes_31_list struct {
    21  	list *[]int32
    22  }
    23  
    24  func (x *_TestAllTypes_31_list) Len() int {
    25  	if x.list == nil {
    26  		return 0
    27  	}
    28  	return len(*x.list)
    29  }
    30  
    31  func (x *_TestAllTypes_31_list) Get(i int) protoreflect.Value {
    32  	return protoreflect.ValueOfInt32((*x.list)[i])
    33  }
    34  
    35  func (x *_TestAllTypes_31_list) Set(i int, value protoreflect.Value) {
    36  	valueUnwrapped := value.Int()
    37  	concreteValue := (int32)(valueUnwrapped)
    38  	(*x.list)[i] = concreteValue
    39  }
    40  
    41  func (x *_TestAllTypes_31_list) Append(value protoreflect.Value) {
    42  	valueUnwrapped := value.Int()
    43  	concreteValue := (int32)(valueUnwrapped)
    44  	*x.list = append(*x.list, concreteValue)
    45  }
    46  
    47  func (x *_TestAllTypes_31_list) AppendMutable() protoreflect.Value {
    48  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedInt32 as it is not of Message kind"))
    49  }
    50  
    51  func (x *_TestAllTypes_31_list) Truncate(n int) {
    52  	*x.list = (*x.list)[:n]
    53  }
    54  
    55  func (x *_TestAllTypes_31_list) NewElement() protoreflect.Value {
    56  	v := int32(0)
    57  	return protoreflect.ValueOfInt32(v)
    58  }
    59  
    60  func (x *_TestAllTypes_31_list) IsValid() bool {
    61  	return x.list != nil
    62  }
    63  
    64  var _ protoreflect.List = (*_TestAllTypes_32_list)(nil)
    65  
    66  type _TestAllTypes_32_list struct {
    67  	list *[]int64
    68  }
    69  
    70  func (x *_TestAllTypes_32_list) Len() int {
    71  	if x.list == nil {
    72  		return 0
    73  	}
    74  	return len(*x.list)
    75  }
    76  
    77  func (x *_TestAllTypes_32_list) Get(i int) protoreflect.Value {
    78  	return protoreflect.ValueOfInt64((*x.list)[i])
    79  }
    80  
    81  func (x *_TestAllTypes_32_list) Set(i int, value protoreflect.Value) {
    82  	valueUnwrapped := value.Int()
    83  	concreteValue := valueUnwrapped
    84  	(*x.list)[i] = concreteValue
    85  }
    86  
    87  func (x *_TestAllTypes_32_list) Append(value protoreflect.Value) {
    88  	valueUnwrapped := value.Int()
    89  	concreteValue := valueUnwrapped
    90  	*x.list = append(*x.list, concreteValue)
    91  }
    92  
    93  func (x *_TestAllTypes_32_list) AppendMutable() protoreflect.Value {
    94  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedInt64 as it is not of Message kind"))
    95  }
    96  
    97  func (x *_TestAllTypes_32_list) Truncate(n int) {
    98  	*x.list = (*x.list)[:n]
    99  }
   100  
   101  func (x *_TestAllTypes_32_list) NewElement() protoreflect.Value {
   102  	v := int64(0)
   103  	return protoreflect.ValueOfInt64(v)
   104  }
   105  
   106  func (x *_TestAllTypes_32_list) IsValid() bool {
   107  	return x.list != nil
   108  }
   109  
   110  var _ protoreflect.List = (*_TestAllTypes_33_list)(nil)
   111  
   112  type _TestAllTypes_33_list struct {
   113  	list *[]uint32
   114  }
   115  
   116  func (x *_TestAllTypes_33_list) Len() int {
   117  	if x.list == nil {
   118  		return 0
   119  	}
   120  	return len(*x.list)
   121  }
   122  
   123  func (x *_TestAllTypes_33_list) Get(i int) protoreflect.Value {
   124  	return protoreflect.ValueOfUint32((*x.list)[i])
   125  }
   126  
   127  func (x *_TestAllTypes_33_list) Set(i int, value protoreflect.Value) {
   128  	valueUnwrapped := value.Uint()
   129  	concreteValue := (uint32)(valueUnwrapped)
   130  	(*x.list)[i] = concreteValue
   131  }
   132  
   133  func (x *_TestAllTypes_33_list) Append(value protoreflect.Value) {
   134  	valueUnwrapped := value.Uint()
   135  	concreteValue := (uint32)(valueUnwrapped)
   136  	*x.list = append(*x.list, concreteValue)
   137  }
   138  
   139  func (x *_TestAllTypes_33_list) AppendMutable() protoreflect.Value {
   140  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedUint32 as it is not of Message kind"))
   141  }
   142  
   143  func (x *_TestAllTypes_33_list) Truncate(n int) {
   144  	*x.list = (*x.list)[:n]
   145  }
   146  
   147  func (x *_TestAllTypes_33_list) NewElement() protoreflect.Value {
   148  	v := uint32(0)
   149  	return protoreflect.ValueOfUint32(v)
   150  }
   151  
   152  func (x *_TestAllTypes_33_list) IsValid() bool {
   153  	return x.list != nil
   154  }
   155  
   156  var _ protoreflect.List = (*_TestAllTypes_34_list)(nil)
   157  
   158  type _TestAllTypes_34_list struct {
   159  	list *[]uint64
   160  }
   161  
   162  func (x *_TestAllTypes_34_list) Len() int {
   163  	if x.list == nil {
   164  		return 0
   165  	}
   166  	return len(*x.list)
   167  }
   168  
   169  func (x *_TestAllTypes_34_list) Get(i int) protoreflect.Value {
   170  	return protoreflect.ValueOfUint64((*x.list)[i])
   171  }
   172  
   173  func (x *_TestAllTypes_34_list) Set(i int, value protoreflect.Value) {
   174  	valueUnwrapped := value.Uint()
   175  	concreteValue := valueUnwrapped
   176  	(*x.list)[i] = concreteValue
   177  }
   178  
   179  func (x *_TestAllTypes_34_list) Append(value protoreflect.Value) {
   180  	valueUnwrapped := value.Uint()
   181  	concreteValue := valueUnwrapped
   182  	*x.list = append(*x.list, concreteValue)
   183  }
   184  
   185  func (x *_TestAllTypes_34_list) AppendMutable() protoreflect.Value {
   186  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedUint64 as it is not of Message kind"))
   187  }
   188  
   189  func (x *_TestAllTypes_34_list) Truncate(n int) {
   190  	*x.list = (*x.list)[:n]
   191  }
   192  
   193  func (x *_TestAllTypes_34_list) NewElement() protoreflect.Value {
   194  	v := uint64(0)
   195  	return protoreflect.ValueOfUint64(v)
   196  }
   197  
   198  func (x *_TestAllTypes_34_list) IsValid() bool {
   199  	return x.list != nil
   200  }
   201  
   202  var _ protoreflect.List = (*_TestAllTypes_35_list)(nil)
   203  
   204  type _TestAllTypes_35_list struct {
   205  	list *[]int32
   206  }
   207  
   208  func (x *_TestAllTypes_35_list) Len() int {
   209  	if x.list == nil {
   210  		return 0
   211  	}
   212  	return len(*x.list)
   213  }
   214  
   215  func (x *_TestAllTypes_35_list) Get(i int) protoreflect.Value {
   216  	return protoreflect.ValueOfInt32((*x.list)[i])
   217  }
   218  
   219  func (x *_TestAllTypes_35_list) Set(i int, value protoreflect.Value) {
   220  	valueUnwrapped := value.Int()
   221  	concreteValue := (int32)(valueUnwrapped)
   222  	(*x.list)[i] = concreteValue
   223  }
   224  
   225  func (x *_TestAllTypes_35_list) Append(value protoreflect.Value) {
   226  	valueUnwrapped := value.Int()
   227  	concreteValue := (int32)(valueUnwrapped)
   228  	*x.list = append(*x.list, concreteValue)
   229  }
   230  
   231  func (x *_TestAllTypes_35_list) AppendMutable() protoreflect.Value {
   232  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedSint32 as it is not of Message kind"))
   233  }
   234  
   235  func (x *_TestAllTypes_35_list) Truncate(n int) {
   236  	*x.list = (*x.list)[:n]
   237  }
   238  
   239  func (x *_TestAllTypes_35_list) NewElement() protoreflect.Value {
   240  	v := int32(0)
   241  	return protoreflect.ValueOfInt32(v)
   242  }
   243  
   244  func (x *_TestAllTypes_35_list) IsValid() bool {
   245  	return x.list != nil
   246  }
   247  
   248  var _ protoreflect.List = (*_TestAllTypes_36_list)(nil)
   249  
   250  type _TestAllTypes_36_list struct {
   251  	list *[]int64
   252  }
   253  
   254  func (x *_TestAllTypes_36_list) Len() int {
   255  	if x.list == nil {
   256  		return 0
   257  	}
   258  	return len(*x.list)
   259  }
   260  
   261  func (x *_TestAllTypes_36_list) Get(i int) protoreflect.Value {
   262  	return protoreflect.ValueOfInt64((*x.list)[i])
   263  }
   264  
   265  func (x *_TestAllTypes_36_list) Set(i int, value protoreflect.Value) {
   266  	valueUnwrapped := value.Int()
   267  	concreteValue := valueUnwrapped
   268  	(*x.list)[i] = concreteValue
   269  }
   270  
   271  func (x *_TestAllTypes_36_list) Append(value protoreflect.Value) {
   272  	valueUnwrapped := value.Int()
   273  	concreteValue := valueUnwrapped
   274  	*x.list = append(*x.list, concreteValue)
   275  }
   276  
   277  func (x *_TestAllTypes_36_list) AppendMutable() protoreflect.Value {
   278  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedSint64 as it is not of Message kind"))
   279  }
   280  
   281  func (x *_TestAllTypes_36_list) Truncate(n int) {
   282  	*x.list = (*x.list)[:n]
   283  }
   284  
   285  func (x *_TestAllTypes_36_list) NewElement() protoreflect.Value {
   286  	v := int64(0)
   287  	return protoreflect.ValueOfInt64(v)
   288  }
   289  
   290  func (x *_TestAllTypes_36_list) IsValid() bool {
   291  	return x.list != nil
   292  }
   293  
   294  var _ protoreflect.List = (*_TestAllTypes_37_list)(nil)
   295  
   296  type _TestAllTypes_37_list struct {
   297  	list *[]uint32
   298  }
   299  
   300  func (x *_TestAllTypes_37_list) Len() int {
   301  	if x.list == nil {
   302  		return 0
   303  	}
   304  	return len(*x.list)
   305  }
   306  
   307  func (x *_TestAllTypes_37_list) Get(i int) protoreflect.Value {
   308  	return protoreflect.ValueOfUint32((*x.list)[i])
   309  }
   310  
   311  func (x *_TestAllTypes_37_list) Set(i int, value protoreflect.Value) {
   312  	valueUnwrapped := value.Uint()
   313  	concreteValue := (uint32)(valueUnwrapped)
   314  	(*x.list)[i] = concreteValue
   315  }
   316  
   317  func (x *_TestAllTypes_37_list) Append(value protoreflect.Value) {
   318  	valueUnwrapped := value.Uint()
   319  	concreteValue := (uint32)(valueUnwrapped)
   320  	*x.list = append(*x.list, concreteValue)
   321  }
   322  
   323  func (x *_TestAllTypes_37_list) AppendMutable() protoreflect.Value {
   324  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedFixed32 as it is not of Message kind"))
   325  }
   326  
   327  func (x *_TestAllTypes_37_list) Truncate(n int) {
   328  	*x.list = (*x.list)[:n]
   329  }
   330  
   331  func (x *_TestAllTypes_37_list) NewElement() protoreflect.Value {
   332  	v := uint32(0)
   333  	return protoreflect.ValueOfUint32(v)
   334  }
   335  
   336  func (x *_TestAllTypes_37_list) IsValid() bool {
   337  	return x.list != nil
   338  }
   339  
   340  var _ protoreflect.List = (*_TestAllTypes_38_list)(nil)
   341  
   342  type _TestAllTypes_38_list struct {
   343  	list *[]uint64
   344  }
   345  
   346  func (x *_TestAllTypes_38_list) Len() int {
   347  	if x.list == nil {
   348  		return 0
   349  	}
   350  	return len(*x.list)
   351  }
   352  
   353  func (x *_TestAllTypes_38_list) Get(i int) protoreflect.Value {
   354  	return protoreflect.ValueOfUint64((*x.list)[i])
   355  }
   356  
   357  func (x *_TestAllTypes_38_list) Set(i int, value protoreflect.Value) {
   358  	valueUnwrapped := value.Uint()
   359  	concreteValue := valueUnwrapped
   360  	(*x.list)[i] = concreteValue
   361  }
   362  
   363  func (x *_TestAllTypes_38_list) Append(value protoreflect.Value) {
   364  	valueUnwrapped := value.Uint()
   365  	concreteValue := valueUnwrapped
   366  	*x.list = append(*x.list, concreteValue)
   367  }
   368  
   369  func (x *_TestAllTypes_38_list) AppendMutable() protoreflect.Value {
   370  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedFixed64 as it is not of Message kind"))
   371  }
   372  
   373  func (x *_TestAllTypes_38_list) Truncate(n int) {
   374  	*x.list = (*x.list)[:n]
   375  }
   376  
   377  func (x *_TestAllTypes_38_list) NewElement() protoreflect.Value {
   378  	v := uint64(0)
   379  	return protoreflect.ValueOfUint64(v)
   380  }
   381  
   382  func (x *_TestAllTypes_38_list) IsValid() bool {
   383  	return x.list != nil
   384  }
   385  
   386  var _ protoreflect.List = (*_TestAllTypes_39_list)(nil)
   387  
   388  type _TestAllTypes_39_list struct {
   389  	list *[]int32
   390  }
   391  
   392  func (x *_TestAllTypes_39_list) Len() int {
   393  	if x.list == nil {
   394  		return 0
   395  	}
   396  	return len(*x.list)
   397  }
   398  
   399  func (x *_TestAllTypes_39_list) Get(i int) protoreflect.Value {
   400  	return protoreflect.ValueOfInt32((*x.list)[i])
   401  }
   402  
   403  func (x *_TestAllTypes_39_list) Set(i int, value protoreflect.Value) {
   404  	valueUnwrapped := value.Int()
   405  	concreteValue := (int32)(valueUnwrapped)
   406  	(*x.list)[i] = concreteValue
   407  }
   408  
   409  func (x *_TestAllTypes_39_list) Append(value protoreflect.Value) {
   410  	valueUnwrapped := value.Int()
   411  	concreteValue := (int32)(valueUnwrapped)
   412  	*x.list = append(*x.list, concreteValue)
   413  }
   414  
   415  func (x *_TestAllTypes_39_list) AppendMutable() protoreflect.Value {
   416  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedSfixed32 as it is not of Message kind"))
   417  }
   418  
   419  func (x *_TestAllTypes_39_list) Truncate(n int) {
   420  	*x.list = (*x.list)[:n]
   421  }
   422  
   423  func (x *_TestAllTypes_39_list) NewElement() protoreflect.Value {
   424  	v := int32(0)
   425  	return protoreflect.ValueOfInt32(v)
   426  }
   427  
   428  func (x *_TestAllTypes_39_list) IsValid() bool {
   429  	return x.list != nil
   430  }
   431  
   432  var _ protoreflect.List = (*_TestAllTypes_40_list)(nil)
   433  
   434  type _TestAllTypes_40_list struct {
   435  	list *[]int64
   436  }
   437  
   438  func (x *_TestAllTypes_40_list) Len() int {
   439  	if x.list == nil {
   440  		return 0
   441  	}
   442  	return len(*x.list)
   443  }
   444  
   445  func (x *_TestAllTypes_40_list) Get(i int) protoreflect.Value {
   446  	return protoreflect.ValueOfInt64((*x.list)[i])
   447  }
   448  
   449  func (x *_TestAllTypes_40_list) Set(i int, value protoreflect.Value) {
   450  	valueUnwrapped := value.Int()
   451  	concreteValue := valueUnwrapped
   452  	(*x.list)[i] = concreteValue
   453  }
   454  
   455  func (x *_TestAllTypes_40_list) Append(value protoreflect.Value) {
   456  	valueUnwrapped := value.Int()
   457  	concreteValue := valueUnwrapped
   458  	*x.list = append(*x.list, concreteValue)
   459  }
   460  
   461  func (x *_TestAllTypes_40_list) AppendMutable() protoreflect.Value {
   462  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedSfixed64 as it is not of Message kind"))
   463  }
   464  
   465  func (x *_TestAllTypes_40_list) Truncate(n int) {
   466  	*x.list = (*x.list)[:n]
   467  }
   468  
   469  func (x *_TestAllTypes_40_list) NewElement() protoreflect.Value {
   470  	v := int64(0)
   471  	return protoreflect.ValueOfInt64(v)
   472  }
   473  
   474  func (x *_TestAllTypes_40_list) IsValid() bool {
   475  	return x.list != nil
   476  }
   477  
   478  var _ protoreflect.List = (*_TestAllTypes_41_list)(nil)
   479  
   480  type _TestAllTypes_41_list struct {
   481  	list *[]float32
   482  }
   483  
   484  func (x *_TestAllTypes_41_list) Len() int {
   485  	if x.list == nil {
   486  		return 0
   487  	}
   488  	return len(*x.list)
   489  }
   490  
   491  func (x *_TestAllTypes_41_list) Get(i int) protoreflect.Value {
   492  	return protoreflect.ValueOfFloat32((*x.list)[i])
   493  }
   494  
   495  func (x *_TestAllTypes_41_list) Set(i int, value protoreflect.Value) {
   496  	valueUnwrapped := value.Float()
   497  	concreteValue := (float32)(valueUnwrapped)
   498  	(*x.list)[i] = concreteValue
   499  }
   500  
   501  func (x *_TestAllTypes_41_list) Append(value protoreflect.Value) {
   502  	valueUnwrapped := value.Float()
   503  	concreteValue := (float32)(valueUnwrapped)
   504  	*x.list = append(*x.list, concreteValue)
   505  }
   506  
   507  func (x *_TestAllTypes_41_list) AppendMutable() protoreflect.Value {
   508  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedFloat as it is not of Message kind"))
   509  }
   510  
   511  func (x *_TestAllTypes_41_list) Truncate(n int) {
   512  	*x.list = (*x.list)[:n]
   513  }
   514  
   515  func (x *_TestAllTypes_41_list) NewElement() protoreflect.Value {
   516  	v := float32(0)
   517  	return protoreflect.ValueOfFloat32(v)
   518  }
   519  
   520  func (x *_TestAllTypes_41_list) IsValid() bool {
   521  	return x.list != nil
   522  }
   523  
   524  var _ protoreflect.List = (*_TestAllTypes_42_list)(nil)
   525  
   526  type _TestAllTypes_42_list struct {
   527  	list *[]float64
   528  }
   529  
   530  func (x *_TestAllTypes_42_list) Len() int {
   531  	if x.list == nil {
   532  		return 0
   533  	}
   534  	return len(*x.list)
   535  }
   536  
   537  func (x *_TestAllTypes_42_list) Get(i int) protoreflect.Value {
   538  	return protoreflect.ValueOfFloat64((*x.list)[i])
   539  }
   540  
   541  func (x *_TestAllTypes_42_list) Set(i int, value protoreflect.Value) {
   542  	valueUnwrapped := value.Float()
   543  	concreteValue := valueUnwrapped
   544  	(*x.list)[i] = concreteValue
   545  }
   546  
   547  func (x *_TestAllTypes_42_list) Append(value protoreflect.Value) {
   548  	valueUnwrapped := value.Float()
   549  	concreteValue := valueUnwrapped
   550  	*x.list = append(*x.list, concreteValue)
   551  }
   552  
   553  func (x *_TestAllTypes_42_list) AppendMutable() protoreflect.Value {
   554  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedDouble as it is not of Message kind"))
   555  }
   556  
   557  func (x *_TestAllTypes_42_list) Truncate(n int) {
   558  	*x.list = (*x.list)[:n]
   559  }
   560  
   561  func (x *_TestAllTypes_42_list) NewElement() protoreflect.Value {
   562  	v := float64(0)
   563  	return protoreflect.ValueOfFloat64(v)
   564  }
   565  
   566  func (x *_TestAllTypes_42_list) IsValid() bool {
   567  	return x.list != nil
   568  }
   569  
   570  var _ protoreflect.List = (*_TestAllTypes_43_list)(nil)
   571  
   572  type _TestAllTypes_43_list struct {
   573  	list *[]bool
   574  }
   575  
   576  func (x *_TestAllTypes_43_list) Len() int {
   577  	if x.list == nil {
   578  		return 0
   579  	}
   580  	return len(*x.list)
   581  }
   582  
   583  func (x *_TestAllTypes_43_list) Get(i int) protoreflect.Value {
   584  	return protoreflect.ValueOfBool((*x.list)[i])
   585  }
   586  
   587  func (x *_TestAllTypes_43_list) Set(i int, value protoreflect.Value) {
   588  	valueUnwrapped := value.Bool()
   589  	concreteValue := valueUnwrapped
   590  	(*x.list)[i] = concreteValue
   591  }
   592  
   593  func (x *_TestAllTypes_43_list) Append(value protoreflect.Value) {
   594  	valueUnwrapped := value.Bool()
   595  	concreteValue := valueUnwrapped
   596  	*x.list = append(*x.list, concreteValue)
   597  }
   598  
   599  func (x *_TestAllTypes_43_list) AppendMutable() protoreflect.Value {
   600  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedBool as it is not of Message kind"))
   601  }
   602  
   603  func (x *_TestAllTypes_43_list) Truncate(n int) {
   604  	*x.list = (*x.list)[:n]
   605  }
   606  
   607  func (x *_TestAllTypes_43_list) NewElement() protoreflect.Value {
   608  	v := false
   609  	return protoreflect.ValueOfBool(v)
   610  }
   611  
   612  func (x *_TestAllTypes_43_list) IsValid() bool {
   613  	return x.list != nil
   614  }
   615  
   616  var _ protoreflect.List = (*_TestAllTypes_44_list)(nil)
   617  
   618  type _TestAllTypes_44_list struct {
   619  	list *[]string
   620  }
   621  
   622  func (x *_TestAllTypes_44_list) Len() int {
   623  	if x.list == nil {
   624  		return 0
   625  	}
   626  	return len(*x.list)
   627  }
   628  
   629  func (x *_TestAllTypes_44_list) Get(i int) protoreflect.Value {
   630  	return protoreflect.ValueOfString((*x.list)[i])
   631  }
   632  
   633  func (x *_TestAllTypes_44_list) Set(i int, value protoreflect.Value) {
   634  	valueUnwrapped := value.String()
   635  	concreteValue := valueUnwrapped
   636  	(*x.list)[i] = concreteValue
   637  }
   638  
   639  func (x *_TestAllTypes_44_list) Append(value protoreflect.Value) {
   640  	valueUnwrapped := value.String()
   641  	concreteValue := valueUnwrapped
   642  	*x.list = append(*x.list, concreteValue)
   643  }
   644  
   645  func (x *_TestAllTypes_44_list) AppendMutable() protoreflect.Value {
   646  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedString as it is not of Message kind"))
   647  }
   648  
   649  func (x *_TestAllTypes_44_list) Truncate(n int) {
   650  	*x.list = (*x.list)[:n]
   651  }
   652  
   653  func (x *_TestAllTypes_44_list) NewElement() protoreflect.Value {
   654  	v := ""
   655  	return protoreflect.ValueOfString(v)
   656  }
   657  
   658  func (x *_TestAllTypes_44_list) IsValid() bool {
   659  	return x.list != nil
   660  }
   661  
   662  var _ protoreflect.List = (*_TestAllTypes_45_list)(nil)
   663  
   664  type _TestAllTypes_45_list struct {
   665  	list *[][]byte
   666  }
   667  
   668  func (x *_TestAllTypes_45_list) Len() int {
   669  	if x.list == nil {
   670  		return 0
   671  	}
   672  	return len(*x.list)
   673  }
   674  
   675  func (x *_TestAllTypes_45_list) Get(i int) protoreflect.Value {
   676  	return protoreflect.ValueOfBytes((*x.list)[i])
   677  }
   678  
   679  func (x *_TestAllTypes_45_list) Set(i int, value protoreflect.Value) {
   680  	valueUnwrapped := value.Bytes()
   681  	concreteValue := valueUnwrapped
   682  	(*x.list)[i] = concreteValue
   683  }
   684  
   685  func (x *_TestAllTypes_45_list) Append(value protoreflect.Value) {
   686  	valueUnwrapped := value.Bytes()
   687  	concreteValue := valueUnwrapped
   688  	*x.list = append(*x.list, concreteValue)
   689  }
   690  
   691  func (x *_TestAllTypes_45_list) AppendMutable() protoreflect.Value {
   692  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedBytes as it is not of Message kind"))
   693  }
   694  
   695  func (x *_TestAllTypes_45_list) Truncate(n int) {
   696  	*x.list = (*x.list)[:n]
   697  }
   698  
   699  func (x *_TestAllTypes_45_list) NewElement() protoreflect.Value {
   700  	var v []byte
   701  	return protoreflect.ValueOfBytes(v)
   702  }
   703  
   704  func (x *_TestAllTypes_45_list) IsValid() bool {
   705  	return x.list != nil
   706  }
   707  
   708  var _ protoreflect.List = (*_TestAllTypes_48_list)(nil)
   709  
   710  type _TestAllTypes_48_list struct {
   711  	list *[]*TestAllTypes_NestedMessage
   712  }
   713  
   714  func (x *_TestAllTypes_48_list) Len() int {
   715  	if x.list == nil {
   716  		return 0
   717  	}
   718  	return len(*x.list)
   719  }
   720  
   721  func (x *_TestAllTypes_48_list) Get(i int) protoreflect.Value {
   722  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
   723  }
   724  
   725  func (x *_TestAllTypes_48_list) Set(i int, value protoreflect.Value) {
   726  	valueUnwrapped := value.Message()
   727  	concreteValue := valueUnwrapped.Interface().(*TestAllTypes_NestedMessage)
   728  	(*x.list)[i] = concreteValue
   729  }
   730  
   731  func (x *_TestAllTypes_48_list) Append(value protoreflect.Value) {
   732  	valueUnwrapped := value.Message()
   733  	concreteValue := valueUnwrapped.Interface().(*TestAllTypes_NestedMessage)
   734  	*x.list = append(*x.list, concreteValue)
   735  }
   736  
   737  func (x *_TestAllTypes_48_list) AppendMutable() protoreflect.Value {
   738  	v := new(TestAllTypes_NestedMessage)
   739  	*x.list = append(*x.list, v)
   740  	return protoreflect.ValueOfMessage(v.ProtoReflect())
   741  }
   742  
   743  func (x *_TestAllTypes_48_list) Truncate(n int) {
   744  	for i := n; i < len(*x.list); i++ {
   745  		(*x.list)[i] = nil
   746  	}
   747  	*x.list = (*x.list)[:n]
   748  }
   749  
   750  func (x *_TestAllTypes_48_list) NewElement() protoreflect.Value {
   751  	v := new(TestAllTypes_NestedMessage)
   752  	return protoreflect.ValueOfMessage(v.ProtoReflect())
   753  }
   754  
   755  func (x *_TestAllTypes_48_list) IsValid() bool {
   756  	return x.list != nil
   757  }
   758  
   759  var _ protoreflect.List = (*_TestAllTypes_49_list)(nil)
   760  
   761  type _TestAllTypes_49_list struct {
   762  	list *[]*ForeignMessage
   763  }
   764  
   765  func (x *_TestAllTypes_49_list) Len() int {
   766  	if x.list == nil {
   767  		return 0
   768  	}
   769  	return len(*x.list)
   770  }
   771  
   772  func (x *_TestAllTypes_49_list) Get(i int) protoreflect.Value {
   773  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
   774  }
   775  
   776  func (x *_TestAllTypes_49_list) Set(i int, value protoreflect.Value) {
   777  	valueUnwrapped := value.Message()
   778  	concreteValue := valueUnwrapped.Interface().(*ForeignMessage)
   779  	(*x.list)[i] = concreteValue
   780  }
   781  
   782  func (x *_TestAllTypes_49_list) Append(value protoreflect.Value) {
   783  	valueUnwrapped := value.Message()
   784  	concreteValue := valueUnwrapped.Interface().(*ForeignMessage)
   785  	*x.list = append(*x.list, concreteValue)
   786  }
   787  
   788  func (x *_TestAllTypes_49_list) AppendMutable() protoreflect.Value {
   789  	v := new(ForeignMessage)
   790  	*x.list = append(*x.list, v)
   791  	return protoreflect.ValueOfMessage(v.ProtoReflect())
   792  }
   793  
   794  func (x *_TestAllTypes_49_list) Truncate(n int) {
   795  	for i := n; i < len(*x.list); i++ {
   796  		(*x.list)[i] = nil
   797  	}
   798  	*x.list = (*x.list)[:n]
   799  }
   800  
   801  func (x *_TestAllTypes_49_list) NewElement() protoreflect.Value {
   802  	v := new(ForeignMessage)
   803  	return protoreflect.ValueOfMessage(v.ProtoReflect())
   804  }
   805  
   806  func (x *_TestAllTypes_49_list) IsValid() bool {
   807  	return x.list != nil
   808  }
   809  
   810  var _ protoreflect.List = (*_TestAllTypes_50_list)(nil)
   811  
   812  type _TestAllTypes_50_list struct {
   813  	list *[]*ImportMessage
   814  }
   815  
   816  func (x *_TestAllTypes_50_list) Len() int {
   817  	if x.list == nil {
   818  		return 0
   819  	}
   820  	return len(*x.list)
   821  }
   822  
   823  func (x *_TestAllTypes_50_list) Get(i int) protoreflect.Value {
   824  	return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect())
   825  }
   826  
   827  func (x *_TestAllTypes_50_list) Set(i int, value protoreflect.Value) {
   828  	valueUnwrapped := value.Message()
   829  	concreteValue := valueUnwrapped.Interface().(*ImportMessage)
   830  	(*x.list)[i] = concreteValue
   831  }
   832  
   833  func (x *_TestAllTypes_50_list) Append(value protoreflect.Value) {
   834  	valueUnwrapped := value.Message()
   835  	concreteValue := valueUnwrapped.Interface().(*ImportMessage)
   836  	*x.list = append(*x.list, concreteValue)
   837  }
   838  
   839  func (x *_TestAllTypes_50_list) AppendMutable() protoreflect.Value {
   840  	v := new(ImportMessage)
   841  	*x.list = append(*x.list, v)
   842  	return protoreflect.ValueOfMessage(v.ProtoReflect())
   843  }
   844  
   845  func (x *_TestAllTypes_50_list) Truncate(n int) {
   846  	for i := n; i < len(*x.list); i++ {
   847  		(*x.list)[i] = nil
   848  	}
   849  	*x.list = (*x.list)[:n]
   850  }
   851  
   852  func (x *_TestAllTypes_50_list) NewElement() protoreflect.Value {
   853  	v := new(ImportMessage)
   854  	return protoreflect.ValueOfMessage(v.ProtoReflect())
   855  }
   856  
   857  func (x *_TestAllTypes_50_list) IsValid() bool {
   858  	return x.list != nil
   859  }
   860  
   861  var _ protoreflect.List = (*_TestAllTypes_51_list)(nil)
   862  
   863  type _TestAllTypes_51_list struct {
   864  	list *[]TestAllTypes_NestedEnum
   865  }
   866  
   867  func (x *_TestAllTypes_51_list) Len() int {
   868  	if x.list == nil {
   869  		return 0
   870  	}
   871  	return len(*x.list)
   872  }
   873  
   874  func (x *_TestAllTypes_51_list) Get(i int) protoreflect.Value {
   875  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i]))
   876  }
   877  
   878  func (x *_TestAllTypes_51_list) Set(i int, value protoreflect.Value) {
   879  	valueUnwrapped := value.Enum()
   880  	concreteValue := (TestAllTypes_NestedEnum)(valueUnwrapped)
   881  	(*x.list)[i] = concreteValue
   882  }
   883  
   884  func (x *_TestAllTypes_51_list) Append(value protoreflect.Value) {
   885  	valueUnwrapped := value.Enum()
   886  	concreteValue := (TestAllTypes_NestedEnum)(valueUnwrapped)
   887  	*x.list = append(*x.list, concreteValue)
   888  }
   889  
   890  func (x *_TestAllTypes_51_list) AppendMutable() protoreflect.Value {
   891  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedNestedEnum as it is not of Message kind"))
   892  }
   893  
   894  func (x *_TestAllTypes_51_list) Truncate(n int) {
   895  	*x.list = (*x.list)[:n]
   896  }
   897  
   898  func (x *_TestAllTypes_51_list) NewElement() protoreflect.Value {
   899  	v := 0
   900  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v))
   901  }
   902  
   903  func (x *_TestAllTypes_51_list) IsValid() bool {
   904  	return x.list != nil
   905  }
   906  
   907  var _ protoreflect.List = (*_TestAllTypes_52_list)(nil)
   908  
   909  type _TestAllTypes_52_list struct {
   910  	list *[]ForeignEnum
   911  }
   912  
   913  func (x *_TestAllTypes_52_list) Len() int {
   914  	if x.list == nil {
   915  		return 0
   916  	}
   917  	return len(*x.list)
   918  }
   919  
   920  func (x *_TestAllTypes_52_list) Get(i int) protoreflect.Value {
   921  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i]))
   922  }
   923  
   924  func (x *_TestAllTypes_52_list) Set(i int, value protoreflect.Value) {
   925  	valueUnwrapped := value.Enum()
   926  	concreteValue := (ForeignEnum)(valueUnwrapped)
   927  	(*x.list)[i] = concreteValue
   928  }
   929  
   930  func (x *_TestAllTypes_52_list) Append(value protoreflect.Value) {
   931  	valueUnwrapped := value.Enum()
   932  	concreteValue := (ForeignEnum)(valueUnwrapped)
   933  	*x.list = append(*x.list, concreteValue)
   934  }
   935  
   936  func (x *_TestAllTypes_52_list) AppendMutable() protoreflect.Value {
   937  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedForeignEnum as it is not of Message kind"))
   938  }
   939  
   940  func (x *_TestAllTypes_52_list) Truncate(n int) {
   941  	*x.list = (*x.list)[:n]
   942  }
   943  
   944  func (x *_TestAllTypes_52_list) NewElement() protoreflect.Value {
   945  	v := 0
   946  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v))
   947  }
   948  
   949  func (x *_TestAllTypes_52_list) IsValid() bool {
   950  	return x.list != nil
   951  }
   952  
   953  var _ protoreflect.List = (*_TestAllTypes_53_list)(nil)
   954  
   955  type _TestAllTypes_53_list struct {
   956  	list *[]ImportEnum
   957  }
   958  
   959  func (x *_TestAllTypes_53_list) Len() int {
   960  	if x.list == nil {
   961  		return 0
   962  	}
   963  	return len(*x.list)
   964  }
   965  
   966  func (x *_TestAllTypes_53_list) Get(i int) protoreflect.Value {
   967  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)((*x.list)[i]))
   968  }
   969  
   970  func (x *_TestAllTypes_53_list) Set(i int, value protoreflect.Value) {
   971  	valueUnwrapped := value.Enum()
   972  	concreteValue := (ImportEnum)(valueUnwrapped)
   973  	(*x.list)[i] = concreteValue
   974  }
   975  
   976  func (x *_TestAllTypes_53_list) Append(value protoreflect.Value) {
   977  	valueUnwrapped := value.Enum()
   978  	concreteValue := (ImportEnum)(valueUnwrapped)
   979  	*x.list = append(*x.list, concreteValue)
   980  }
   981  
   982  func (x *_TestAllTypes_53_list) AppendMutable() protoreflect.Value {
   983  	panic(fmt.Errorf("AppendMutable can not be called on message TestAllTypes at list field RepeatedImportenum as it is not of Message kind"))
   984  }
   985  
   986  func (x *_TestAllTypes_53_list) Truncate(n int) {
   987  	*x.list = (*x.list)[:n]
   988  }
   989  
   990  func (x *_TestAllTypes_53_list) NewElement() protoreflect.Value {
   991  	v := 0
   992  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v))
   993  }
   994  
   995  func (x *_TestAllTypes_53_list) IsValid() bool {
   996  	return x.list != nil
   997  }
   998  
   999  var _ protoreflect.Map = (*_TestAllTypes_56_map)(nil)
  1000  
  1001  type _TestAllTypes_56_map struct {
  1002  	m *map[int32]int32
  1003  }
  1004  
  1005  func (x *_TestAllTypes_56_map) Len() int {
  1006  	if x.m == nil {
  1007  		return 0
  1008  	}
  1009  	return len(*x.m)
  1010  }
  1011  
  1012  func (x *_TestAllTypes_56_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1013  	if x.m == nil {
  1014  		return
  1015  	}
  1016  	for k, v := range *x.m {
  1017  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt32(k))
  1018  		mapValue := protoreflect.ValueOfInt32(v)
  1019  		if !f(mapKey, mapValue) {
  1020  			break
  1021  		}
  1022  	}
  1023  }
  1024  
  1025  func (x *_TestAllTypes_56_map) Has(key protoreflect.MapKey) bool {
  1026  	if x.m == nil {
  1027  		return false
  1028  	}
  1029  	keyUnwrapped := key.Int()
  1030  	concreteValue := (int32)(keyUnwrapped)
  1031  	_, ok := (*x.m)[concreteValue]
  1032  	return ok
  1033  }
  1034  
  1035  func (x *_TestAllTypes_56_map) Clear(key protoreflect.MapKey) {
  1036  	if x.m == nil {
  1037  		return
  1038  	}
  1039  	keyUnwrapped := key.Int()
  1040  	concreteKey := (int32)(keyUnwrapped)
  1041  	delete(*x.m, concreteKey)
  1042  }
  1043  
  1044  func (x *_TestAllTypes_56_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1045  	if x.m == nil {
  1046  		return protoreflect.Value{}
  1047  	}
  1048  	keyUnwrapped := key.Int()
  1049  	concreteKey := (int32)(keyUnwrapped)
  1050  	v, ok := (*x.m)[concreteKey]
  1051  	if !ok {
  1052  		return protoreflect.Value{}
  1053  	}
  1054  	return protoreflect.ValueOfInt32(v)
  1055  }
  1056  
  1057  func (x *_TestAllTypes_56_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1058  	if !key.IsValid() || !value.IsValid() {
  1059  		panic("invalid key or value provided")
  1060  	}
  1061  	keyUnwrapped := key.Int()
  1062  	concreteKey := (int32)(keyUnwrapped)
  1063  	valueUnwrapped := value.Int()
  1064  	concreteValue := (int32)(valueUnwrapped)
  1065  	(*x.m)[concreteKey] = concreteValue
  1066  }
  1067  
  1068  func (x *_TestAllTypes_56_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1069  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1070  }
  1071  
  1072  func (x *_TestAllTypes_56_map) NewValue() protoreflect.Value {
  1073  	v := int32(0)
  1074  	return protoreflect.ValueOfInt32(v)
  1075  }
  1076  
  1077  func (x *_TestAllTypes_56_map) IsValid() bool {
  1078  	return x.m != nil
  1079  }
  1080  
  1081  var _ protoreflect.Map = (*_TestAllTypes_57_map)(nil)
  1082  
  1083  type _TestAllTypes_57_map struct {
  1084  	m *map[int64]int64
  1085  }
  1086  
  1087  func (x *_TestAllTypes_57_map) Len() int {
  1088  	if x.m == nil {
  1089  		return 0
  1090  	}
  1091  	return len(*x.m)
  1092  }
  1093  
  1094  func (x *_TestAllTypes_57_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1095  	if x.m == nil {
  1096  		return
  1097  	}
  1098  	for k, v := range *x.m {
  1099  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt64(k))
  1100  		mapValue := protoreflect.ValueOfInt64(v)
  1101  		if !f(mapKey, mapValue) {
  1102  			break
  1103  		}
  1104  	}
  1105  }
  1106  
  1107  func (x *_TestAllTypes_57_map) Has(key protoreflect.MapKey) bool {
  1108  	if x.m == nil {
  1109  		return false
  1110  	}
  1111  	keyUnwrapped := key.Int()
  1112  	concreteValue := keyUnwrapped
  1113  	_, ok := (*x.m)[concreteValue]
  1114  	return ok
  1115  }
  1116  
  1117  func (x *_TestAllTypes_57_map) Clear(key protoreflect.MapKey) {
  1118  	if x.m == nil {
  1119  		return
  1120  	}
  1121  	keyUnwrapped := key.Int()
  1122  	concreteKey := keyUnwrapped
  1123  	delete(*x.m, concreteKey)
  1124  }
  1125  
  1126  func (x *_TestAllTypes_57_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1127  	if x.m == nil {
  1128  		return protoreflect.Value{}
  1129  	}
  1130  	keyUnwrapped := key.Int()
  1131  	concreteKey := keyUnwrapped
  1132  	v, ok := (*x.m)[concreteKey]
  1133  	if !ok {
  1134  		return protoreflect.Value{}
  1135  	}
  1136  	return protoreflect.ValueOfInt64(v)
  1137  }
  1138  
  1139  func (x *_TestAllTypes_57_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1140  	if !key.IsValid() || !value.IsValid() {
  1141  		panic("invalid key or value provided")
  1142  	}
  1143  	keyUnwrapped := key.Int()
  1144  	concreteKey := keyUnwrapped
  1145  	valueUnwrapped := value.Int()
  1146  	concreteValue := valueUnwrapped
  1147  	(*x.m)[concreteKey] = concreteValue
  1148  }
  1149  
  1150  func (x *_TestAllTypes_57_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1151  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1152  }
  1153  
  1154  func (x *_TestAllTypes_57_map) NewValue() protoreflect.Value {
  1155  	v := int64(0)
  1156  	return protoreflect.ValueOfInt64(v)
  1157  }
  1158  
  1159  func (x *_TestAllTypes_57_map) IsValid() bool {
  1160  	return x.m != nil
  1161  }
  1162  
  1163  var _ protoreflect.Map = (*_TestAllTypes_58_map)(nil)
  1164  
  1165  type _TestAllTypes_58_map struct {
  1166  	m *map[uint32]uint32
  1167  }
  1168  
  1169  func (x *_TestAllTypes_58_map) Len() int {
  1170  	if x.m == nil {
  1171  		return 0
  1172  	}
  1173  	return len(*x.m)
  1174  }
  1175  
  1176  func (x *_TestAllTypes_58_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1177  	if x.m == nil {
  1178  		return
  1179  	}
  1180  	for k, v := range *x.m {
  1181  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfUint32(k))
  1182  		mapValue := protoreflect.ValueOfUint32(v)
  1183  		if !f(mapKey, mapValue) {
  1184  			break
  1185  		}
  1186  	}
  1187  }
  1188  
  1189  func (x *_TestAllTypes_58_map) Has(key protoreflect.MapKey) bool {
  1190  	if x.m == nil {
  1191  		return false
  1192  	}
  1193  	keyUnwrapped := key.Uint()
  1194  	concreteValue := (uint32)(keyUnwrapped)
  1195  	_, ok := (*x.m)[concreteValue]
  1196  	return ok
  1197  }
  1198  
  1199  func (x *_TestAllTypes_58_map) Clear(key protoreflect.MapKey) {
  1200  	if x.m == nil {
  1201  		return
  1202  	}
  1203  	keyUnwrapped := key.Uint()
  1204  	concreteKey := (uint32)(keyUnwrapped)
  1205  	delete(*x.m, concreteKey)
  1206  }
  1207  
  1208  func (x *_TestAllTypes_58_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1209  	if x.m == nil {
  1210  		return protoreflect.Value{}
  1211  	}
  1212  	keyUnwrapped := key.Uint()
  1213  	concreteKey := (uint32)(keyUnwrapped)
  1214  	v, ok := (*x.m)[concreteKey]
  1215  	if !ok {
  1216  		return protoreflect.Value{}
  1217  	}
  1218  	return protoreflect.ValueOfUint32(v)
  1219  }
  1220  
  1221  func (x *_TestAllTypes_58_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1222  	if !key.IsValid() || !value.IsValid() {
  1223  		panic("invalid key or value provided")
  1224  	}
  1225  	keyUnwrapped := key.Uint()
  1226  	concreteKey := (uint32)(keyUnwrapped)
  1227  	valueUnwrapped := value.Uint()
  1228  	concreteValue := (uint32)(valueUnwrapped)
  1229  	(*x.m)[concreteKey] = concreteValue
  1230  }
  1231  
  1232  func (x *_TestAllTypes_58_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1233  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1234  }
  1235  
  1236  func (x *_TestAllTypes_58_map) NewValue() protoreflect.Value {
  1237  	v := uint32(0)
  1238  	return protoreflect.ValueOfUint32(v)
  1239  }
  1240  
  1241  func (x *_TestAllTypes_58_map) IsValid() bool {
  1242  	return x.m != nil
  1243  }
  1244  
  1245  var _ protoreflect.Map = (*_TestAllTypes_59_map)(nil)
  1246  
  1247  type _TestAllTypes_59_map struct {
  1248  	m *map[uint64]uint64
  1249  }
  1250  
  1251  func (x *_TestAllTypes_59_map) Len() int {
  1252  	if x.m == nil {
  1253  		return 0
  1254  	}
  1255  	return len(*x.m)
  1256  }
  1257  
  1258  func (x *_TestAllTypes_59_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1259  	if x.m == nil {
  1260  		return
  1261  	}
  1262  	for k, v := range *x.m {
  1263  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfUint64(k))
  1264  		mapValue := protoreflect.ValueOfUint64(v)
  1265  		if !f(mapKey, mapValue) {
  1266  			break
  1267  		}
  1268  	}
  1269  }
  1270  
  1271  func (x *_TestAllTypes_59_map) Has(key protoreflect.MapKey) bool {
  1272  	if x.m == nil {
  1273  		return false
  1274  	}
  1275  	keyUnwrapped := key.Uint()
  1276  	concreteValue := keyUnwrapped
  1277  	_, ok := (*x.m)[concreteValue]
  1278  	return ok
  1279  }
  1280  
  1281  func (x *_TestAllTypes_59_map) Clear(key protoreflect.MapKey) {
  1282  	if x.m == nil {
  1283  		return
  1284  	}
  1285  	keyUnwrapped := key.Uint()
  1286  	concreteKey := keyUnwrapped
  1287  	delete(*x.m, concreteKey)
  1288  }
  1289  
  1290  func (x *_TestAllTypes_59_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1291  	if x.m == nil {
  1292  		return protoreflect.Value{}
  1293  	}
  1294  	keyUnwrapped := key.Uint()
  1295  	concreteKey := keyUnwrapped
  1296  	v, ok := (*x.m)[concreteKey]
  1297  	if !ok {
  1298  		return protoreflect.Value{}
  1299  	}
  1300  	return protoreflect.ValueOfUint64(v)
  1301  }
  1302  
  1303  func (x *_TestAllTypes_59_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1304  	if !key.IsValid() || !value.IsValid() {
  1305  		panic("invalid key or value provided")
  1306  	}
  1307  	keyUnwrapped := key.Uint()
  1308  	concreteKey := keyUnwrapped
  1309  	valueUnwrapped := value.Uint()
  1310  	concreteValue := valueUnwrapped
  1311  	(*x.m)[concreteKey] = concreteValue
  1312  }
  1313  
  1314  func (x *_TestAllTypes_59_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1315  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1316  }
  1317  
  1318  func (x *_TestAllTypes_59_map) NewValue() protoreflect.Value {
  1319  	v := uint64(0)
  1320  	return protoreflect.ValueOfUint64(v)
  1321  }
  1322  
  1323  func (x *_TestAllTypes_59_map) IsValid() bool {
  1324  	return x.m != nil
  1325  }
  1326  
  1327  var _ protoreflect.Map = (*_TestAllTypes_60_map)(nil)
  1328  
  1329  type _TestAllTypes_60_map struct {
  1330  	m *map[int32]int32
  1331  }
  1332  
  1333  func (x *_TestAllTypes_60_map) Len() int {
  1334  	if x.m == nil {
  1335  		return 0
  1336  	}
  1337  	return len(*x.m)
  1338  }
  1339  
  1340  func (x *_TestAllTypes_60_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1341  	if x.m == nil {
  1342  		return
  1343  	}
  1344  	for k, v := range *x.m {
  1345  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt32(k))
  1346  		mapValue := protoreflect.ValueOfInt32(v)
  1347  		if !f(mapKey, mapValue) {
  1348  			break
  1349  		}
  1350  	}
  1351  }
  1352  
  1353  func (x *_TestAllTypes_60_map) Has(key protoreflect.MapKey) bool {
  1354  	if x.m == nil {
  1355  		return false
  1356  	}
  1357  	keyUnwrapped := key.Int()
  1358  	concreteValue := (int32)(keyUnwrapped)
  1359  	_, ok := (*x.m)[concreteValue]
  1360  	return ok
  1361  }
  1362  
  1363  func (x *_TestAllTypes_60_map) Clear(key protoreflect.MapKey) {
  1364  	if x.m == nil {
  1365  		return
  1366  	}
  1367  	keyUnwrapped := key.Int()
  1368  	concreteKey := (int32)(keyUnwrapped)
  1369  	delete(*x.m, concreteKey)
  1370  }
  1371  
  1372  func (x *_TestAllTypes_60_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1373  	if x.m == nil {
  1374  		return protoreflect.Value{}
  1375  	}
  1376  	keyUnwrapped := key.Int()
  1377  	concreteKey := (int32)(keyUnwrapped)
  1378  	v, ok := (*x.m)[concreteKey]
  1379  	if !ok {
  1380  		return protoreflect.Value{}
  1381  	}
  1382  	return protoreflect.ValueOfInt32(v)
  1383  }
  1384  
  1385  func (x *_TestAllTypes_60_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1386  	if !key.IsValid() || !value.IsValid() {
  1387  		panic("invalid key or value provided")
  1388  	}
  1389  	keyUnwrapped := key.Int()
  1390  	concreteKey := (int32)(keyUnwrapped)
  1391  	valueUnwrapped := value.Int()
  1392  	concreteValue := (int32)(valueUnwrapped)
  1393  	(*x.m)[concreteKey] = concreteValue
  1394  }
  1395  
  1396  func (x *_TestAllTypes_60_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1397  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1398  }
  1399  
  1400  func (x *_TestAllTypes_60_map) NewValue() protoreflect.Value {
  1401  	v := int32(0)
  1402  	return protoreflect.ValueOfInt32(v)
  1403  }
  1404  
  1405  func (x *_TestAllTypes_60_map) IsValid() bool {
  1406  	return x.m != nil
  1407  }
  1408  
  1409  var _ protoreflect.Map = (*_TestAllTypes_61_map)(nil)
  1410  
  1411  type _TestAllTypes_61_map struct {
  1412  	m *map[int64]int64
  1413  }
  1414  
  1415  func (x *_TestAllTypes_61_map) Len() int {
  1416  	if x.m == nil {
  1417  		return 0
  1418  	}
  1419  	return len(*x.m)
  1420  }
  1421  
  1422  func (x *_TestAllTypes_61_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1423  	if x.m == nil {
  1424  		return
  1425  	}
  1426  	for k, v := range *x.m {
  1427  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt64(k))
  1428  		mapValue := protoreflect.ValueOfInt64(v)
  1429  		if !f(mapKey, mapValue) {
  1430  			break
  1431  		}
  1432  	}
  1433  }
  1434  
  1435  func (x *_TestAllTypes_61_map) Has(key protoreflect.MapKey) bool {
  1436  	if x.m == nil {
  1437  		return false
  1438  	}
  1439  	keyUnwrapped := key.Int()
  1440  	concreteValue := keyUnwrapped
  1441  	_, ok := (*x.m)[concreteValue]
  1442  	return ok
  1443  }
  1444  
  1445  func (x *_TestAllTypes_61_map) Clear(key protoreflect.MapKey) {
  1446  	if x.m == nil {
  1447  		return
  1448  	}
  1449  	keyUnwrapped := key.Int()
  1450  	concreteKey := keyUnwrapped
  1451  	delete(*x.m, concreteKey)
  1452  }
  1453  
  1454  func (x *_TestAllTypes_61_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1455  	if x.m == nil {
  1456  		return protoreflect.Value{}
  1457  	}
  1458  	keyUnwrapped := key.Int()
  1459  	concreteKey := keyUnwrapped
  1460  	v, ok := (*x.m)[concreteKey]
  1461  	if !ok {
  1462  		return protoreflect.Value{}
  1463  	}
  1464  	return protoreflect.ValueOfInt64(v)
  1465  }
  1466  
  1467  func (x *_TestAllTypes_61_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1468  	if !key.IsValid() || !value.IsValid() {
  1469  		panic("invalid key or value provided")
  1470  	}
  1471  	keyUnwrapped := key.Int()
  1472  	concreteKey := keyUnwrapped
  1473  	valueUnwrapped := value.Int()
  1474  	concreteValue := valueUnwrapped
  1475  	(*x.m)[concreteKey] = concreteValue
  1476  }
  1477  
  1478  func (x *_TestAllTypes_61_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1479  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1480  }
  1481  
  1482  func (x *_TestAllTypes_61_map) NewValue() protoreflect.Value {
  1483  	v := int64(0)
  1484  	return protoreflect.ValueOfInt64(v)
  1485  }
  1486  
  1487  func (x *_TestAllTypes_61_map) IsValid() bool {
  1488  	return x.m != nil
  1489  }
  1490  
  1491  var _ protoreflect.Map = (*_TestAllTypes_62_map)(nil)
  1492  
  1493  type _TestAllTypes_62_map struct {
  1494  	m *map[uint32]uint32
  1495  }
  1496  
  1497  func (x *_TestAllTypes_62_map) Len() int {
  1498  	if x.m == nil {
  1499  		return 0
  1500  	}
  1501  	return len(*x.m)
  1502  }
  1503  
  1504  func (x *_TestAllTypes_62_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1505  	if x.m == nil {
  1506  		return
  1507  	}
  1508  	for k, v := range *x.m {
  1509  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfUint32(k))
  1510  		mapValue := protoreflect.ValueOfUint32(v)
  1511  		if !f(mapKey, mapValue) {
  1512  			break
  1513  		}
  1514  	}
  1515  }
  1516  
  1517  func (x *_TestAllTypes_62_map) Has(key protoreflect.MapKey) bool {
  1518  	if x.m == nil {
  1519  		return false
  1520  	}
  1521  	keyUnwrapped := key.Uint()
  1522  	concreteValue := (uint32)(keyUnwrapped)
  1523  	_, ok := (*x.m)[concreteValue]
  1524  	return ok
  1525  }
  1526  
  1527  func (x *_TestAllTypes_62_map) Clear(key protoreflect.MapKey) {
  1528  	if x.m == nil {
  1529  		return
  1530  	}
  1531  	keyUnwrapped := key.Uint()
  1532  	concreteKey := (uint32)(keyUnwrapped)
  1533  	delete(*x.m, concreteKey)
  1534  }
  1535  
  1536  func (x *_TestAllTypes_62_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1537  	if x.m == nil {
  1538  		return protoreflect.Value{}
  1539  	}
  1540  	keyUnwrapped := key.Uint()
  1541  	concreteKey := (uint32)(keyUnwrapped)
  1542  	v, ok := (*x.m)[concreteKey]
  1543  	if !ok {
  1544  		return protoreflect.Value{}
  1545  	}
  1546  	return protoreflect.ValueOfUint32(v)
  1547  }
  1548  
  1549  func (x *_TestAllTypes_62_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1550  	if !key.IsValid() || !value.IsValid() {
  1551  		panic("invalid key or value provided")
  1552  	}
  1553  	keyUnwrapped := key.Uint()
  1554  	concreteKey := (uint32)(keyUnwrapped)
  1555  	valueUnwrapped := value.Uint()
  1556  	concreteValue := (uint32)(valueUnwrapped)
  1557  	(*x.m)[concreteKey] = concreteValue
  1558  }
  1559  
  1560  func (x *_TestAllTypes_62_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1561  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1562  }
  1563  
  1564  func (x *_TestAllTypes_62_map) NewValue() protoreflect.Value {
  1565  	v := uint32(0)
  1566  	return protoreflect.ValueOfUint32(v)
  1567  }
  1568  
  1569  func (x *_TestAllTypes_62_map) IsValid() bool {
  1570  	return x.m != nil
  1571  }
  1572  
  1573  var _ protoreflect.Map = (*_TestAllTypes_63_map)(nil)
  1574  
  1575  type _TestAllTypes_63_map struct {
  1576  	m *map[uint64]uint64
  1577  }
  1578  
  1579  func (x *_TestAllTypes_63_map) Len() int {
  1580  	if x.m == nil {
  1581  		return 0
  1582  	}
  1583  	return len(*x.m)
  1584  }
  1585  
  1586  func (x *_TestAllTypes_63_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1587  	if x.m == nil {
  1588  		return
  1589  	}
  1590  	for k, v := range *x.m {
  1591  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfUint64(k))
  1592  		mapValue := protoreflect.ValueOfUint64(v)
  1593  		if !f(mapKey, mapValue) {
  1594  			break
  1595  		}
  1596  	}
  1597  }
  1598  
  1599  func (x *_TestAllTypes_63_map) Has(key protoreflect.MapKey) bool {
  1600  	if x.m == nil {
  1601  		return false
  1602  	}
  1603  	keyUnwrapped := key.Uint()
  1604  	concreteValue := keyUnwrapped
  1605  	_, ok := (*x.m)[concreteValue]
  1606  	return ok
  1607  }
  1608  
  1609  func (x *_TestAllTypes_63_map) Clear(key protoreflect.MapKey) {
  1610  	if x.m == nil {
  1611  		return
  1612  	}
  1613  	keyUnwrapped := key.Uint()
  1614  	concreteKey := keyUnwrapped
  1615  	delete(*x.m, concreteKey)
  1616  }
  1617  
  1618  func (x *_TestAllTypes_63_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1619  	if x.m == nil {
  1620  		return protoreflect.Value{}
  1621  	}
  1622  	keyUnwrapped := key.Uint()
  1623  	concreteKey := keyUnwrapped
  1624  	v, ok := (*x.m)[concreteKey]
  1625  	if !ok {
  1626  		return protoreflect.Value{}
  1627  	}
  1628  	return protoreflect.ValueOfUint64(v)
  1629  }
  1630  
  1631  func (x *_TestAllTypes_63_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1632  	if !key.IsValid() || !value.IsValid() {
  1633  		panic("invalid key or value provided")
  1634  	}
  1635  	keyUnwrapped := key.Uint()
  1636  	concreteKey := keyUnwrapped
  1637  	valueUnwrapped := value.Uint()
  1638  	concreteValue := valueUnwrapped
  1639  	(*x.m)[concreteKey] = concreteValue
  1640  }
  1641  
  1642  func (x *_TestAllTypes_63_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1643  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1644  }
  1645  
  1646  func (x *_TestAllTypes_63_map) NewValue() protoreflect.Value {
  1647  	v := uint64(0)
  1648  	return protoreflect.ValueOfUint64(v)
  1649  }
  1650  
  1651  func (x *_TestAllTypes_63_map) IsValid() bool {
  1652  	return x.m != nil
  1653  }
  1654  
  1655  var _ protoreflect.Map = (*_TestAllTypes_64_map)(nil)
  1656  
  1657  type _TestAllTypes_64_map struct {
  1658  	m *map[int32]int32
  1659  }
  1660  
  1661  func (x *_TestAllTypes_64_map) Len() int {
  1662  	if x.m == nil {
  1663  		return 0
  1664  	}
  1665  	return len(*x.m)
  1666  }
  1667  
  1668  func (x *_TestAllTypes_64_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1669  	if x.m == nil {
  1670  		return
  1671  	}
  1672  	for k, v := range *x.m {
  1673  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt32(k))
  1674  		mapValue := protoreflect.ValueOfInt32(v)
  1675  		if !f(mapKey, mapValue) {
  1676  			break
  1677  		}
  1678  	}
  1679  }
  1680  
  1681  func (x *_TestAllTypes_64_map) Has(key protoreflect.MapKey) bool {
  1682  	if x.m == nil {
  1683  		return false
  1684  	}
  1685  	keyUnwrapped := key.Int()
  1686  	concreteValue := (int32)(keyUnwrapped)
  1687  	_, ok := (*x.m)[concreteValue]
  1688  	return ok
  1689  }
  1690  
  1691  func (x *_TestAllTypes_64_map) Clear(key protoreflect.MapKey) {
  1692  	if x.m == nil {
  1693  		return
  1694  	}
  1695  	keyUnwrapped := key.Int()
  1696  	concreteKey := (int32)(keyUnwrapped)
  1697  	delete(*x.m, concreteKey)
  1698  }
  1699  
  1700  func (x *_TestAllTypes_64_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1701  	if x.m == nil {
  1702  		return protoreflect.Value{}
  1703  	}
  1704  	keyUnwrapped := key.Int()
  1705  	concreteKey := (int32)(keyUnwrapped)
  1706  	v, ok := (*x.m)[concreteKey]
  1707  	if !ok {
  1708  		return protoreflect.Value{}
  1709  	}
  1710  	return protoreflect.ValueOfInt32(v)
  1711  }
  1712  
  1713  func (x *_TestAllTypes_64_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1714  	if !key.IsValid() || !value.IsValid() {
  1715  		panic("invalid key or value provided")
  1716  	}
  1717  	keyUnwrapped := key.Int()
  1718  	concreteKey := (int32)(keyUnwrapped)
  1719  	valueUnwrapped := value.Int()
  1720  	concreteValue := (int32)(valueUnwrapped)
  1721  	(*x.m)[concreteKey] = concreteValue
  1722  }
  1723  
  1724  func (x *_TestAllTypes_64_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1725  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1726  }
  1727  
  1728  func (x *_TestAllTypes_64_map) NewValue() protoreflect.Value {
  1729  	v := int32(0)
  1730  	return protoreflect.ValueOfInt32(v)
  1731  }
  1732  
  1733  func (x *_TestAllTypes_64_map) IsValid() bool {
  1734  	return x.m != nil
  1735  }
  1736  
  1737  var _ protoreflect.Map = (*_TestAllTypes_65_map)(nil)
  1738  
  1739  type _TestAllTypes_65_map struct {
  1740  	m *map[int64]int64
  1741  }
  1742  
  1743  func (x *_TestAllTypes_65_map) Len() int {
  1744  	if x.m == nil {
  1745  		return 0
  1746  	}
  1747  	return len(*x.m)
  1748  }
  1749  
  1750  func (x *_TestAllTypes_65_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1751  	if x.m == nil {
  1752  		return
  1753  	}
  1754  	for k, v := range *x.m {
  1755  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt64(k))
  1756  		mapValue := protoreflect.ValueOfInt64(v)
  1757  		if !f(mapKey, mapValue) {
  1758  			break
  1759  		}
  1760  	}
  1761  }
  1762  
  1763  func (x *_TestAllTypes_65_map) Has(key protoreflect.MapKey) bool {
  1764  	if x.m == nil {
  1765  		return false
  1766  	}
  1767  	keyUnwrapped := key.Int()
  1768  	concreteValue := keyUnwrapped
  1769  	_, ok := (*x.m)[concreteValue]
  1770  	return ok
  1771  }
  1772  
  1773  func (x *_TestAllTypes_65_map) Clear(key protoreflect.MapKey) {
  1774  	if x.m == nil {
  1775  		return
  1776  	}
  1777  	keyUnwrapped := key.Int()
  1778  	concreteKey := keyUnwrapped
  1779  	delete(*x.m, concreteKey)
  1780  }
  1781  
  1782  func (x *_TestAllTypes_65_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1783  	if x.m == nil {
  1784  		return protoreflect.Value{}
  1785  	}
  1786  	keyUnwrapped := key.Int()
  1787  	concreteKey := keyUnwrapped
  1788  	v, ok := (*x.m)[concreteKey]
  1789  	if !ok {
  1790  		return protoreflect.Value{}
  1791  	}
  1792  	return protoreflect.ValueOfInt64(v)
  1793  }
  1794  
  1795  func (x *_TestAllTypes_65_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1796  	if !key.IsValid() || !value.IsValid() {
  1797  		panic("invalid key or value provided")
  1798  	}
  1799  	keyUnwrapped := key.Int()
  1800  	concreteKey := keyUnwrapped
  1801  	valueUnwrapped := value.Int()
  1802  	concreteValue := valueUnwrapped
  1803  	(*x.m)[concreteKey] = concreteValue
  1804  }
  1805  
  1806  func (x *_TestAllTypes_65_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1807  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1808  }
  1809  
  1810  func (x *_TestAllTypes_65_map) NewValue() protoreflect.Value {
  1811  	v := int64(0)
  1812  	return protoreflect.ValueOfInt64(v)
  1813  }
  1814  
  1815  func (x *_TestAllTypes_65_map) IsValid() bool {
  1816  	return x.m != nil
  1817  }
  1818  
  1819  var _ protoreflect.Map = (*_TestAllTypes_66_map)(nil)
  1820  
  1821  type _TestAllTypes_66_map struct {
  1822  	m *map[int32]float32
  1823  }
  1824  
  1825  func (x *_TestAllTypes_66_map) Len() int {
  1826  	if x.m == nil {
  1827  		return 0
  1828  	}
  1829  	return len(*x.m)
  1830  }
  1831  
  1832  func (x *_TestAllTypes_66_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1833  	if x.m == nil {
  1834  		return
  1835  	}
  1836  	for k, v := range *x.m {
  1837  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt32(k))
  1838  		mapValue := protoreflect.ValueOfFloat32(v)
  1839  		if !f(mapKey, mapValue) {
  1840  			break
  1841  		}
  1842  	}
  1843  }
  1844  
  1845  func (x *_TestAllTypes_66_map) Has(key protoreflect.MapKey) bool {
  1846  	if x.m == nil {
  1847  		return false
  1848  	}
  1849  	keyUnwrapped := key.Int()
  1850  	concreteValue := (int32)(keyUnwrapped)
  1851  	_, ok := (*x.m)[concreteValue]
  1852  	return ok
  1853  }
  1854  
  1855  func (x *_TestAllTypes_66_map) Clear(key protoreflect.MapKey) {
  1856  	if x.m == nil {
  1857  		return
  1858  	}
  1859  	keyUnwrapped := key.Int()
  1860  	concreteKey := (int32)(keyUnwrapped)
  1861  	delete(*x.m, concreteKey)
  1862  }
  1863  
  1864  func (x *_TestAllTypes_66_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1865  	if x.m == nil {
  1866  		return protoreflect.Value{}
  1867  	}
  1868  	keyUnwrapped := key.Int()
  1869  	concreteKey := (int32)(keyUnwrapped)
  1870  	v, ok := (*x.m)[concreteKey]
  1871  	if !ok {
  1872  		return protoreflect.Value{}
  1873  	}
  1874  	return protoreflect.ValueOfFloat32(v)
  1875  }
  1876  
  1877  func (x *_TestAllTypes_66_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1878  	if !key.IsValid() || !value.IsValid() {
  1879  		panic("invalid key or value provided")
  1880  	}
  1881  	keyUnwrapped := key.Int()
  1882  	concreteKey := (int32)(keyUnwrapped)
  1883  	valueUnwrapped := value.Float()
  1884  	concreteValue := (float32)(valueUnwrapped)
  1885  	(*x.m)[concreteKey] = concreteValue
  1886  }
  1887  
  1888  func (x *_TestAllTypes_66_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1889  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1890  }
  1891  
  1892  func (x *_TestAllTypes_66_map) NewValue() protoreflect.Value {
  1893  	v := float32(0)
  1894  	return protoreflect.ValueOfFloat32(v)
  1895  }
  1896  
  1897  func (x *_TestAllTypes_66_map) IsValid() bool {
  1898  	return x.m != nil
  1899  }
  1900  
  1901  var _ protoreflect.Map = (*_TestAllTypes_67_map)(nil)
  1902  
  1903  type _TestAllTypes_67_map struct {
  1904  	m *map[int32]float64
  1905  }
  1906  
  1907  func (x *_TestAllTypes_67_map) Len() int {
  1908  	if x.m == nil {
  1909  		return 0
  1910  	}
  1911  	return len(*x.m)
  1912  }
  1913  
  1914  func (x *_TestAllTypes_67_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1915  	if x.m == nil {
  1916  		return
  1917  	}
  1918  	for k, v := range *x.m {
  1919  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfInt32(k))
  1920  		mapValue := protoreflect.ValueOfFloat64(v)
  1921  		if !f(mapKey, mapValue) {
  1922  			break
  1923  		}
  1924  	}
  1925  }
  1926  
  1927  func (x *_TestAllTypes_67_map) Has(key protoreflect.MapKey) bool {
  1928  	if x.m == nil {
  1929  		return false
  1930  	}
  1931  	keyUnwrapped := key.Int()
  1932  	concreteValue := (int32)(keyUnwrapped)
  1933  	_, ok := (*x.m)[concreteValue]
  1934  	return ok
  1935  }
  1936  
  1937  func (x *_TestAllTypes_67_map) Clear(key protoreflect.MapKey) {
  1938  	if x.m == nil {
  1939  		return
  1940  	}
  1941  	keyUnwrapped := key.Int()
  1942  	concreteKey := (int32)(keyUnwrapped)
  1943  	delete(*x.m, concreteKey)
  1944  }
  1945  
  1946  func (x *_TestAllTypes_67_map) Get(key protoreflect.MapKey) protoreflect.Value {
  1947  	if x.m == nil {
  1948  		return protoreflect.Value{}
  1949  	}
  1950  	keyUnwrapped := key.Int()
  1951  	concreteKey := (int32)(keyUnwrapped)
  1952  	v, ok := (*x.m)[concreteKey]
  1953  	if !ok {
  1954  		return protoreflect.Value{}
  1955  	}
  1956  	return protoreflect.ValueOfFloat64(v)
  1957  }
  1958  
  1959  func (x *_TestAllTypes_67_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  1960  	if !key.IsValid() || !value.IsValid() {
  1961  		panic("invalid key or value provided")
  1962  	}
  1963  	keyUnwrapped := key.Int()
  1964  	concreteKey := (int32)(keyUnwrapped)
  1965  	valueUnwrapped := value.Float()
  1966  	concreteValue := valueUnwrapped
  1967  	(*x.m)[concreteKey] = concreteValue
  1968  }
  1969  
  1970  func (x *_TestAllTypes_67_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  1971  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  1972  }
  1973  
  1974  func (x *_TestAllTypes_67_map) NewValue() protoreflect.Value {
  1975  	v := float64(0)
  1976  	return protoreflect.ValueOfFloat64(v)
  1977  }
  1978  
  1979  func (x *_TestAllTypes_67_map) IsValid() bool {
  1980  	return x.m != nil
  1981  }
  1982  
  1983  var _ protoreflect.Map = (*_TestAllTypes_68_map)(nil)
  1984  
  1985  type _TestAllTypes_68_map struct {
  1986  	m *map[bool]bool
  1987  }
  1988  
  1989  func (x *_TestAllTypes_68_map) Len() int {
  1990  	if x.m == nil {
  1991  		return 0
  1992  	}
  1993  	return len(*x.m)
  1994  }
  1995  
  1996  func (x *_TestAllTypes_68_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  1997  	if x.m == nil {
  1998  		return
  1999  	}
  2000  	for k, v := range *x.m {
  2001  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfBool(k))
  2002  		mapValue := protoreflect.ValueOfBool(v)
  2003  		if !f(mapKey, mapValue) {
  2004  			break
  2005  		}
  2006  	}
  2007  }
  2008  
  2009  func (x *_TestAllTypes_68_map) Has(key protoreflect.MapKey) bool {
  2010  	if x.m == nil {
  2011  		return false
  2012  	}
  2013  	keyUnwrapped := key.Bool()
  2014  	concreteValue := keyUnwrapped
  2015  	_, ok := (*x.m)[concreteValue]
  2016  	return ok
  2017  }
  2018  
  2019  func (x *_TestAllTypes_68_map) Clear(key protoreflect.MapKey) {
  2020  	if x.m == nil {
  2021  		return
  2022  	}
  2023  	keyUnwrapped := key.Bool()
  2024  	concreteKey := keyUnwrapped
  2025  	delete(*x.m, concreteKey)
  2026  }
  2027  
  2028  func (x *_TestAllTypes_68_map) Get(key protoreflect.MapKey) protoreflect.Value {
  2029  	if x.m == nil {
  2030  		return protoreflect.Value{}
  2031  	}
  2032  	keyUnwrapped := key.Bool()
  2033  	concreteKey := keyUnwrapped
  2034  	v, ok := (*x.m)[concreteKey]
  2035  	if !ok {
  2036  		return protoreflect.Value{}
  2037  	}
  2038  	return protoreflect.ValueOfBool(v)
  2039  }
  2040  
  2041  func (x *_TestAllTypes_68_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  2042  	if !key.IsValid() || !value.IsValid() {
  2043  		panic("invalid key or value provided")
  2044  	}
  2045  	keyUnwrapped := key.Bool()
  2046  	concreteKey := keyUnwrapped
  2047  	valueUnwrapped := value.Bool()
  2048  	concreteValue := valueUnwrapped
  2049  	(*x.m)[concreteKey] = concreteValue
  2050  }
  2051  
  2052  func (x *_TestAllTypes_68_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  2053  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  2054  }
  2055  
  2056  func (x *_TestAllTypes_68_map) NewValue() protoreflect.Value {
  2057  	v := false
  2058  	return protoreflect.ValueOfBool(v)
  2059  }
  2060  
  2061  func (x *_TestAllTypes_68_map) IsValid() bool {
  2062  	return x.m != nil
  2063  }
  2064  
  2065  var _ protoreflect.Map = (*_TestAllTypes_69_map)(nil)
  2066  
  2067  type _TestAllTypes_69_map struct {
  2068  	m *map[string]string
  2069  }
  2070  
  2071  func (x *_TestAllTypes_69_map) Len() int {
  2072  	if x.m == nil {
  2073  		return 0
  2074  	}
  2075  	return len(*x.m)
  2076  }
  2077  
  2078  func (x *_TestAllTypes_69_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  2079  	if x.m == nil {
  2080  		return
  2081  	}
  2082  	for k, v := range *x.m {
  2083  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k))
  2084  		mapValue := protoreflect.ValueOfString(v)
  2085  		if !f(mapKey, mapValue) {
  2086  			break
  2087  		}
  2088  	}
  2089  }
  2090  
  2091  func (x *_TestAllTypes_69_map) Has(key protoreflect.MapKey) bool {
  2092  	if x.m == nil {
  2093  		return false
  2094  	}
  2095  	keyUnwrapped := key.String()
  2096  	concreteValue := keyUnwrapped
  2097  	_, ok := (*x.m)[concreteValue]
  2098  	return ok
  2099  }
  2100  
  2101  func (x *_TestAllTypes_69_map) Clear(key protoreflect.MapKey) {
  2102  	if x.m == nil {
  2103  		return
  2104  	}
  2105  	keyUnwrapped := key.String()
  2106  	concreteKey := keyUnwrapped
  2107  	delete(*x.m, concreteKey)
  2108  }
  2109  
  2110  func (x *_TestAllTypes_69_map) Get(key protoreflect.MapKey) protoreflect.Value {
  2111  	if x.m == nil {
  2112  		return protoreflect.Value{}
  2113  	}
  2114  	keyUnwrapped := key.String()
  2115  	concreteKey := keyUnwrapped
  2116  	v, ok := (*x.m)[concreteKey]
  2117  	if !ok {
  2118  		return protoreflect.Value{}
  2119  	}
  2120  	return protoreflect.ValueOfString(v)
  2121  }
  2122  
  2123  func (x *_TestAllTypes_69_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  2124  	if !key.IsValid() || !value.IsValid() {
  2125  		panic("invalid key or value provided")
  2126  	}
  2127  	keyUnwrapped := key.String()
  2128  	concreteKey := keyUnwrapped
  2129  	valueUnwrapped := value.String()
  2130  	concreteValue := valueUnwrapped
  2131  	(*x.m)[concreteKey] = concreteValue
  2132  }
  2133  
  2134  func (x *_TestAllTypes_69_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  2135  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  2136  }
  2137  
  2138  func (x *_TestAllTypes_69_map) NewValue() protoreflect.Value {
  2139  	v := ""
  2140  	return protoreflect.ValueOfString(v)
  2141  }
  2142  
  2143  func (x *_TestAllTypes_69_map) IsValid() bool {
  2144  	return x.m != nil
  2145  }
  2146  
  2147  var _ protoreflect.Map = (*_TestAllTypes_70_map)(nil)
  2148  
  2149  type _TestAllTypes_70_map struct {
  2150  	m *map[string][]byte
  2151  }
  2152  
  2153  func (x *_TestAllTypes_70_map) Len() int {
  2154  	if x.m == nil {
  2155  		return 0
  2156  	}
  2157  	return len(*x.m)
  2158  }
  2159  
  2160  func (x *_TestAllTypes_70_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  2161  	if x.m == nil {
  2162  		return
  2163  	}
  2164  	for k, v := range *x.m {
  2165  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k))
  2166  		mapValue := protoreflect.ValueOfBytes(v)
  2167  		if !f(mapKey, mapValue) {
  2168  			break
  2169  		}
  2170  	}
  2171  }
  2172  
  2173  func (x *_TestAllTypes_70_map) Has(key protoreflect.MapKey) bool {
  2174  	if x.m == nil {
  2175  		return false
  2176  	}
  2177  	keyUnwrapped := key.String()
  2178  	concreteValue := keyUnwrapped
  2179  	_, ok := (*x.m)[concreteValue]
  2180  	return ok
  2181  }
  2182  
  2183  func (x *_TestAllTypes_70_map) Clear(key protoreflect.MapKey) {
  2184  	if x.m == nil {
  2185  		return
  2186  	}
  2187  	keyUnwrapped := key.String()
  2188  	concreteKey := keyUnwrapped
  2189  	delete(*x.m, concreteKey)
  2190  }
  2191  
  2192  func (x *_TestAllTypes_70_map) Get(key protoreflect.MapKey) protoreflect.Value {
  2193  	if x.m == nil {
  2194  		return protoreflect.Value{}
  2195  	}
  2196  	keyUnwrapped := key.String()
  2197  	concreteKey := keyUnwrapped
  2198  	v, ok := (*x.m)[concreteKey]
  2199  	if !ok {
  2200  		return protoreflect.Value{}
  2201  	}
  2202  	return protoreflect.ValueOfBytes(v)
  2203  }
  2204  
  2205  func (x *_TestAllTypes_70_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  2206  	if !key.IsValid() || !value.IsValid() {
  2207  		panic("invalid key or value provided")
  2208  	}
  2209  	keyUnwrapped := key.String()
  2210  	concreteKey := keyUnwrapped
  2211  	valueUnwrapped := value.Bytes()
  2212  	concreteValue := valueUnwrapped
  2213  	(*x.m)[concreteKey] = concreteValue
  2214  }
  2215  
  2216  func (x *_TestAllTypes_70_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  2217  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  2218  }
  2219  
  2220  func (x *_TestAllTypes_70_map) NewValue() protoreflect.Value {
  2221  	var v []byte
  2222  	return protoreflect.ValueOfBytes(v)
  2223  }
  2224  
  2225  func (x *_TestAllTypes_70_map) IsValid() bool {
  2226  	return x.m != nil
  2227  }
  2228  
  2229  var _ protoreflect.Map = (*_TestAllTypes_71_map)(nil)
  2230  
  2231  type _TestAllTypes_71_map struct {
  2232  	m *map[string]*TestAllTypes_NestedMessage
  2233  }
  2234  
  2235  func (x *_TestAllTypes_71_map) Len() int {
  2236  	if x.m == nil {
  2237  		return 0
  2238  	}
  2239  	return len(*x.m)
  2240  }
  2241  
  2242  func (x *_TestAllTypes_71_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  2243  	if x.m == nil {
  2244  		return
  2245  	}
  2246  	for k, v := range *x.m {
  2247  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k))
  2248  		mapValue := protoreflect.ValueOfMessage(v.ProtoReflect())
  2249  		if !f(mapKey, mapValue) {
  2250  			break
  2251  		}
  2252  	}
  2253  }
  2254  
  2255  func (x *_TestAllTypes_71_map) Has(key protoreflect.MapKey) bool {
  2256  	if x.m == nil {
  2257  		return false
  2258  	}
  2259  	keyUnwrapped := key.String()
  2260  	concreteValue := keyUnwrapped
  2261  	_, ok := (*x.m)[concreteValue]
  2262  	return ok
  2263  }
  2264  
  2265  func (x *_TestAllTypes_71_map) Clear(key protoreflect.MapKey) {
  2266  	if x.m == nil {
  2267  		return
  2268  	}
  2269  	keyUnwrapped := key.String()
  2270  	concreteKey := keyUnwrapped
  2271  	delete(*x.m, concreteKey)
  2272  }
  2273  
  2274  func (x *_TestAllTypes_71_map) Get(key protoreflect.MapKey) protoreflect.Value {
  2275  	if x.m == nil {
  2276  		return protoreflect.Value{}
  2277  	}
  2278  	keyUnwrapped := key.String()
  2279  	concreteKey := keyUnwrapped
  2280  	v, ok := (*x.m)[concreteKey]
  2281  	if !ok {
  2282  		return protoreflect.Value{}
  2283  	}
  2284  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  2285  }
  2286  
  2287  func (x *_TestAllTypes_71_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  2288  	if !key.IsValid() || !value.IsValid() {
  2289  		panic("invalid key or value provided")
  2290  	}
  2291  	keyUnwrapped := key.String()
  2292  	concreteKey := keyUnwrapped
  2293  	valueUnwrapped := value.Message()
  2294  	concreteValue := valueUnwrapped.Interface().(*TestAllTypes_NestedMessage)
  2295  	(*x.m)[concreteKey] = concreteValue
  2296  }
  2297  
  2298  func (x *_TestAllTypes_71_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  2299  	keyUnwrapped := key.String()
  2300  	concreteKey := keyUnwrapped
  2301  	v, ok := (*x.m)[concreteKey]
  2302  	if ok {
  2303  		return protoreflect.ValueOfMessage(v.ProtoReflect())
  2304  	}
  2305  	newValue := new(TestAllTypes_NestedMessage)
  2306  	(*x.m)[concreteKey] = newValue
  2307  	return protoreflect.ValueOfMessage(newValue.ProtoReflect())
  2308  }
  2309  
  2310  func (x *_TestAllTypes_71_map) NewValue() protoreflect.Value {
  2311  	v := new(TestAllTypes_NestedMessage)
  2312  	return protoreflect.ValueOfMessage(v.ProtoReflect())
  2313  }
  2314  
  2315  func (x *_TestAllTypes_71_map) IsValid() bool {
  2316  	return x.m != nil
  2317  }
  2318  
  2319  var _ protoreflect.Map = (*_TestAllTypes_73_map)(nil)
  2320  
  2321  type _TestAllTypes_73_map struct {
  2322  	m *map[string]TestAllTypes_NestedEnum
  2323  }
  2324  
  2325  func (x *_TestAllTypes_73_map) Len() int {
  2326  	if x.m == nil {
  2327  		return 0
  2328  	}
  2329  	return len(*x.m)
  2330  }
  2331  
  2332  func (x *_TestAllTypes_73_map) Range(f func(protoreflect.MapKey, protoreflect.Value) bool) {
  2333  	if x.m == nil {
  2334  		return
  2335  	}
  2336  	for k, v := range *x.m {
  2337  		mapKey := (protoreflect.MapKey)(protoreflect.ValueOfString(k))
  2338  		mapValue := protoreflect.ValueOfEnum(v.Number())
  2339  		if !f(mapKey, mapValue) {
  2340  			break
  2341  		}
  2342  	}
  2343  }
  2344  
  2345  func (x *_TestAllTypes_73_map) Has(key protoreflect.MapKey) bool {
  2346  	if x.m == nil {
  2347  		return false
  2348  	}
  2349  	keyUnwrapped := key.String()
  2350  	concreteValue := keyUnwrapped
  2351  	_, ok := (*x.m)[concreteValue]
  2352  	return ok
  2353  }
  2354  
  2355  func (x *_TestAllTypes_73_map) Clear(key protoreflect.MapKey) {
  2356  	if x.m == nil {
  2357  		return
  2358  	}
  2359  	keyUnwrapped := key.String()
  2360  	concreteKey := keyUnwrapped
  2361  	delete(*x.m, concreteKey)
  2362  }
  2363  
  2364  func (x *_TestAllTypes_73_map) Get(key protoreflect.MapKey) protoreflect.Value {
  2365  	if x.m == nil {
  2366  		return protoreflect.Value{}
  2367  	}
  2368  	keyUnwrapped := key.String()
  2369  	concreteKey := keyUnwrapped
  2370  	v, ok := (*x.m)[concreteKey]
  2371  	if !ok {
  2372  		return protoreflect.Value{}
  2373  	}
  2374  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v))
  2375  }
  2376  
  2377  func (x *_TestAllTypes_73_map) Set(key protoreflect.MapKey, value protoreflect.Value) {
  2378  	if !key.IsValid() || !value.IsValid() {
  2379  		panic("invalid key or value provided")
  2380  	}
  2381  	keyUnwrapped := key.String()
  2382  	concreteKey := keyUnwrapped
  2383  	valueUnwrapped := value.Enum()
  2384  	concreteValue := (TestAllTypes_NestedEnum)(valueUnwrapped)
  2385  	(*x.m)[concreteKey] = concreteValue
  2386  }
  2387  
  2388  func (x *_TestAllTypes_73_map) Mutable(key protoreflect.MapKey) protoreflect.Value {
  2389  	panic("should not call Mutable on protoreflect.Map whose value is not of type protoreflect.Message")
  2390  }
  2391  
  2392  func (x *_TestAllTypes_73_map) NewValue() protoreflect.Value {
  2393  	v := 0
  2394  	return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v))
  2395  }
  2396  
  2397  func (x *_TestAllTypes_73_map) IsValid() bool {
  2398  	return x.m != nil
  2399  }
  2400  
  2401  var (
  2402  	md_TestAllTypes                           protoreflect.MessageDescriptor
  2403  	fd_TestAllTypes_singular_int32            protoreflect.FieldDescriptor
  2404  	fd_TestAllTypes_singular_int64            protoreflect.FieldDescriptor
  2405  	fd_TestAllTypes_singular_uint32           protoreflect.FieldDescriptor
  2406  	fd_TestAllTypes_singular_uint64           protoreflect.FieldDescriptor
  2407  	fd_TestAllTypes_singular_sint32           protoreflect.FieldDescriptor
  2408  	fd_TestAllTypes_singular_sint64           protoreflect.FieldDescriptor
  2409  	fd_TestAllTypes_singular_fixed32          protoreflect.FieldDescriptor
  2410  	fd_TestAllTypes_singular_fixed64          protoreflect.FieldDescriptor
  2411  	fd_TestAllTypes_singular_sfixed32         protoreflect.FieldDescriptor
  2412  	fd_TestAllTypes_singular_sfixed64         protoreflect.FieldDescriptor
  2413  	fd_TestAllTypes_singular_float            protoreflect.FieldDescriptor
  2414  	fd_TestAllTypes_singular_double           protoreflect.FieldDescriptor
  2415  	fd_TestAllTypes_singular_bool             protoreflect.FieldDescriptor
  2416  	fd_TestAllTypes_singular_string           protoreflect.FieldDescriptor
  2417  	fd_TestAllTypes_singular_bytes            protoreflect.FieldDescriptor
  2418  	fd_TestAllTypes_singular_nested_message   protoreflect.FieldDescriptor
  2419  	fd_TestAllTypes_singular_foreign_message  protoreflect.FieldDescriptor
  2420  	fd_TestAllTypes_singular_import_message   protoreflect.FieldDescriptor
  2421  	fd_TestAllTypes_singular_nested_enum      protoreflect.FieldDescriptor
  2422  	fd_TestAllTypes_singular_foreign_enum     protoreflect.FieldDescriptor
  2423  	fd_TestAllTypes_singular_import_enum      protoreflect.FieldDescriptor
  2424  	fd_TestAllTypes_repeated_int32            protoreflect.FieldDescriptor
  2425  	fd_TestAllTypes_repeated_int64            protoreflect.FieldDescriptor
  2426  	fd_TestAllTypes_repeated_uint32           protoreflect.FieldDescriptor
  2427  	fd_TestAllTypes_repeated_uint64           protoreflect.FieldDescriptor
  2428  	fd_TestAllTypes_repeated_sint32           protoreflect.FieldDescriptor
  2429  	fd_TestAllTypes_repeated_sint64           protoreflect.FieldDescriptor
  2430  	fd_TestAllTypes_repeated_fixed32          protoreflect.FieldDescriptor
  2431  	fd_TestAllTypes_repeated_fixed64          protoreflect.FieldDescriptor
  2432  	fd_TestAllTypes_repeated_sfixed32         protoreflect.FieldDescriptor
  2433  	fd_TestAllTypes_repeated_sfixed64         protoreflect.FieldDescriptor
  2434  	fd_TestAllTypes_repeated_float            protoreflect.FieldDescriptor
  2435  	fd_TestAllTypes_repeated_double           protoreflect.FieldDescriptor
  2436  	fd_TestAllTypes_repeated_bool             protoreflect.FieldDescriptor
  2437  	fd_TestAllTypes_repeated_string           protoreflect.FieldDescriptor
  2438  	fd_TestAllTypes_repeated_bytes            protoreflect.FieldDescriptor
  2439  	fd_TestAllTypes_repeated_nested_message   protoreflect.FieldDescriptor
  2440  	fd_TestAllTypes_repeated_foreign_message  protoreflect.FieldDescriptor
  2441  	fd_TestAllTypes_repeated_importmessage    protoreflect.FieldDescriptor
  2442  	fd_TestAllTypes_repeated_nested_enum      protoreflect.FieldDescriptor
  2443  	fd_TestAllTypes_repeated_foreign_enum     protoreflect.FieldDescriptor
  2444  	fd_TestAllTypes_repeated_importenum       protoreflect.FieldDescriptor
  2445  	fd_TestAllTypes_map_int32_int32           protoreflect.FieldDescriptor
  2446  	fd_TestAllTypes_map_int64_int64           protoreflect.FieldDescriptor
  2447  	fd_TestAllTypes_map_uint32_uint32         protoreflect.FieldDescriptor
  2448  	fd_TestAllTypes_map_uint64_uint64         protoreflect.FieldDescriptor
  2449  	fd_TestAllTypes_map_sint32_sint32         protoreflect.FieldDescriptor
  2450  	fd_TestAllTypes_map_sint64_sint64         protoreflect.FieldDescriptor
  2451  	fd_TestAllTypes_map_fixed32_fixed32       protoreflect.FieldDescriptor
  2452  	fd_TestAllTypes_map_fixed64_fixed64       protoreflect.FieldDescriptor
  2453  	fd_TestAllTypes_map_sfixed32_sfixed32     protoreflect.FieldDescriptor
  2454  	fd_TestAllTypes_map_sfixed64_sfixed64     protoreflect.FieldDescriptor
  2455  	fd_TestAllTypes_map_int32_float           protoreflect.FieldDescriptor
  2456  	fd_TestAllTypes_map_int32_double          protoreflect.FieldDescriptor
  2457  	fd_TestAllTypes_map_bool_bool             protoreflect.FieldDescriptor
  2458  	fd_TestAllTypes_map_string_string         protoreflect.FieldDescriptor
  2459  	fd_TestAllTypes_map_string_bytes          protoreflect.FieldDescriptor
  2460  	fd_TestAllTypes_map_string_nested_message protoreflect.FieldDescriptor
  2461  	fd_TestAllTypes_map_string_nested_enum    protoreflect.FieldDescriptor
  2462  	fd_TestAllTypes_oneof_uint32              protoreflect.FieldDescriptor
  2463  	fd_TestAllTypes_oneof_nested_message      protoreflect.FieldDescriptor
  2464  	fd_TestAllTypes_oneof_string              protoreflect.FieldDescriptor
  2465  	fd_TestAllTypes_oneof_bytes               protoreflect.FieldDescriptor
  2466  	fd_TestAllTypes_oneof_bool                protoreflect.FieldDescriptor
  2467  	fd_TestAllTypes_oneof_uint64              protoreflect.FieldDescriptor
  2468  	fd_TestAllTypes_oneof_float               protoreflect.FieldDescriptor
  2469  	fd_TestAllTypes_oneof_double              protoreflect.FieldDescriptor
  2470  	fd_TestAllTypes_oneof_enum                protoreflect.FieldDescriptor
  2471  )
  2472  
  2473  func init() {
  2474  	file_internal_testprotos_test3_test_proto_init()
  2475  	md_TestAllTypes = File_internal_testprotos_test3_test_proto.Messages().ByName("TestAllTypes")
  2476  	fd_TestAllTypes_singular_int32 = md_TestAllTypes.Fields().ByName("singular_int32")
  2477  	fd_TestAllTypes_singular_int64 = md_TestAllTypes.Fields().ByName("singular_int64")
  2478  	fd_TestAllTypes_singular_uint32 = md_TestAllTypes.Fields().ByName("singular_uint32")
  2479  	fd_TestAllTypes_singular_uint64 = md_TestAllTypes.Fields().ByName("singular_uint64")
  2480  	fd_TestAllTypes_singular_sint32 = md_TestAllTypes.Fields().ByName("singular_sint32")
  2481  	fd_TestAllTypes_singular_sint64 = md_TestAllTypes.Fields().ByName("singular_sint64")
  2482  	fd_TestAllTypes_singular_fixed32 = md_TestAllTypes.Fields().ByName("singular_fixed32")
  2483  	fd_TestAllTypes_singular_fixed64 = md_TestAllTypes.Fields().ByName("singular_fixed64")
  2484  	fd_TestAllTypes_singular_sfixed32 = md_TestAllTypes.Fields().ByName("singular_sfixed32")
  2485  	fd_TestAllTypes_singular_sfixed64 = md_TestAllTypes.Fields().ByName("singular_sfixed64")
  2486  	fd_TestAllTypes_singular_float = md_TestAllTypes.Fields().ByName("singular_float")
  2487  	fd_TestAllTypes_singular_double = md_TestAllTypes.Fields().ByName("singular_double")
  2488  	fd_TestAllTypes_singular_bool = md_TestAllTypes.Fields().ByName("singular_bool")
  2489  	fd_TestAllTypes_singular_string = md_TestAllTypes.Fields().ByName("singular_string")
  2490  	fd_TestAllTypes_singular_bytes = md_TestAllTypes.Fields().ByName("singular_bytes")
  2491  	fd_TestAllTypes_singular_nested_message = md_TestAllTypes.Fields().ByName("singular_nested_message")
  2492  	fd_TestAllTypes_singular_foreign_message = md_TestAllTypes.Fields().ByName("singular_foreign_message")
  2493  	fd_TestAllTypes_singular_import_message = md_TestAllTypes.Fields().ByName("singular_import_message")
  2494  	fd_TestAllTypes_singular_nested_enum = md_TestAllTypes.Fields().ByName("singular_nested_enum")
  2495  	fd_TestAllTypes_singular_foreign_enum = md_TestAllTypes.Fields().ByName("singular_foreign_enum")
  2496  	fd_TestAllTypes_singular_import_enum = md_TestAllTypes.Fields().ByName("singular_import_enum")
  2497  	fd_TestAllTypes_repeated_int32 = md_TestAllTypes.Fields().ByName("repeated_int32")
  2498  	fd_TestAllTypes_repeated_int64 = md_TestAllTypes.Fields().ByName("repeated_int64")
  2499  	fd_TestAllTypes_repeated_uint32 = md_TestAllTypes.Fields().ByName("repeated_uint32")
  2500  	fd_TestAllTypes_repeated_uint64 = md_TestAllTypes.Fields().ByName("repeated_uint64")
  2501  	fd_TestAllTypes_repeated_sint32 = md_TestAllTypes.Fields().ByName("repeated_sint32")
  2502  	fd_TestAllTypes_repeated_sint64 = md_TestAllTypes.Fields().ByName("repeated_sint64")
  2503  	fd_TestAllTypes_repeated_fixed32 = md_TestAllTypes.Fields().ByName("repeated_fixed32")
  2504  	fd_TestAllTypes_repeated_fixed64 = md_TestAllTypes.Fields().ByName("repeated_fixed64")
  2505  	fd_TestAllTypes_repeated_sfixed32 = md_TestAllTypes.Fields().ByName("repeated_sfixed32")
  2506  	fd_TestAllTypes_repeated_sfixed64 = md_TestAllTypes.Fields().ByName("repeated_sfixed64")
  2507  	fd_TestAllTypes_repeated_float = md_TestAllTypes.Fields().ByName("repeated_float")
  2508  	fd_TestAllTypes_repeated_double = md_TestAllTypes.Fields().ByName("repeated_double")
  2509  	fd_TestAllTypes_repeated_bool = md_TestAllTypes.Fields().ByName("repeated_bool")
  2510  	fd_TestAllTypes_repeated_string = md_TestAllTypes.Fields().ByName("repeated_string")
  2511  	fd_TestAllTypes_repeated_bytes = md_TestAllTypes.Fields().ByName("repeated_bytes")
  2512  	fd_TestAllTypes_repeated_nested_message = md_TestAllTypes.Fields().ByName("repeated_nested_message")
  2513  	fd_TestAllTypes_repeated_foreign_message = md_TestAllTypes.Fields().ByName("repeated_foreign_message")
  2514  	fd_TestAllTypes_repeated_importmessage = md_TestAllTypes.Fields().ByName("repeated_importmessage")
  2515  	fd_TestAllTypes_repeated_nested_enum = md_TestAllTypes.Fields().ByName("repeated_nested_enum")
  2516  	fd_TestAllTypes_repeated_foreign_enum = md_TestAllTypes.Fields().ByName("repeated_foreign_enum")
  2517  	fd_TestAllTypes_repeated_importenum = md_TestAllTypes.Fields().ByName("repeated_importenum")
  2518  	fd_TestAllTypes_map_int32_int32 = md_TestAllTypes.Fields().ByName("map_int32_int32")
  2519  	fd_TestAllTypes_map_int64_int64 = md_TestAllTypes.Fields().ByName("map_int64_int64")
  2520  	fd_TestAllTypes_map_uint32_uint32 = md_TestAllTypes.Fields().ByName("map_uint32_uint32")
  2521  	fd_TestAllTypes_map_uint64_uint64 = md_TestAllTypes.Fields().ByName("map_uint64_uint64")
  2522  	fd_TestAllTypes_map_sint32_sint32 = md_TestAllTypes.Fields().ByName("map_sint32_sint32")
  2523  	fd_TestAllTypes_map_sint64_sint64 = md_TestAllTypes.Fields().ByName("map_sint64_sint64")
  2524  	fd_TestAllTypes_map_fixed32_fixed32 = md_TestAllTypes.Fields().ByName("map_fixed32_fixed32")
  2525  	fd_TestAllTypes_map_fixed64_fixed64 = md_TestAllTypes.Fields().ByName("map_fixed64_fixed64")
  2526  	fd_TestAllTypes_map_sfixed32_sfixed32 = md_TestAllTypes.Fields().ByName("map_sfixed32_sfixed32")
  2527  	fd_TestAllTypes_map_sfixed64_sfixed64 = md_TestAllTypes.Fields().ByName("map_sfixed64_sfixed64")
  2528  	fd_TestAllTypes_map_int32_float = md_TestAllTypes.Fields().ByName("map_int32_float")
  2529  	fd_TestAllTypes_map_int32_double = md_TestAllTypes.Fields().ByName("map_int32_double")
  2530  	fd_TestAllTypes_map_bool_bool = md_TestAllTypes.Fields().ByName("map_bool_bool")
  2531  	fd_TestAllTypes_map_string_string = md_TestAllTypes.Fields().ByName("map_string_string")
  2532  	fd_TestAllTypes_map_string_bytes = md_TestAllTypes.Fields().ByName("map_string_bytes")
  2533  	fd_TestAllTypes_map_string_nested_message = md_TestAllTypes.Fields().ByName("map_string_nested_message")
  2534  	fd_TestAllTypes_map_string_nested_enum = md_TestAllTypes.Fields().ByName("map_string_nested_enum")
  2535  	fd_TestAllTypes_oneof_uint32 = md_TestAllTypes.Fields().ByName("oneof_uint32")
  2536  	fd_TestAllTypes_oneof_nested_message = md_TestAllTypes.Fields().ByName("oneof_nested_message")
  2537  	fd_TestAllTypes_oneof_string = md_TestAllTypes.Fields().ByName("oneof_string")
  2538  	fd_TestAllTypes_oneof_bytes = md_TestAllTypes.Fields().ByName("oneof_bytes")
  2539  	fd_TestAllTypes_oneof_bool = md_TestAllTypes.Fields().ByName("oneof_bool")
  2540  	fd_TestAllTypes_oneof_uint64 = md_TestAllTypes.Fields().ByName("oneof_uint64")
  2541  	fd_TestAllTypes_oneof_float = md_TestAllTypes.Fields().ByName("oneof_float")
  2542  	fd_TestAllTypes_oneof_double = md_TestAllTypes.Fields().ByName("oneof_double")
  2543  	fd_TestAllTypes_oneof_enum = md_TestAllTypes.Fields().ByName("oneof_enum")
  2544  }
  2545  
  2546  var _ protoreflect.Message = (*fastReflection_TestAllTypes)(nil)
  2547  
  2548  type fastReflection_TestAllTypes TestAllTypes
  2549  
  2550  func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
  2551  	return (*fastReflection_TestAllTypes)(x)
  2552  }
  2553  
  2554  func (x *TestAllTypes) slowProtoReflect() protoreflect.Message {
  2555  	mi := &file_internal_testprotos_test3_test_proto_msgTypes[0]
  2556  	if protoimpl.UnsafeEnabled && x != nil {
  2557  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2558  		if ms.LoadMessageInfo() == nil {
  2559  			ms.StoreMessageInfo(mi)
  2560  		}
  2561  		return ms
  2562  	}
  2563  	return mi.MessageOf(x)
  2564  }
  2565  
  2566  var _fastReflection_TestAllTypes_messageType fastReflection_TestAllTypes_messageType
  2567  var _ protoreflect.MessageType = fastReflection_TestAllTypes_messageType{}
  2568  
  2569  type fastReflection_TestAllTypes_messageType struct{}
  2570  
  2571  func (x fastReflection_TestAllTypes_messageType) Zero() protoreflect.Message {
  2572  	return (*fastReflection_TestAllTypes)(nil)
  2573  }
  2574  func (x fastReflection_TestAllTypes_messageType) New() protoreflect.Message {
  2575  	return new(fastReflection_TestAllTypes)
  2576  }
  2577  func (x fastReflection_TestAllTypes_messageType) Descriptor() protoreflect.MessageDescriptor {
  2578  	return md_TestAllTypes
  2579  }
  2580  
  2581  // Descriptor returns message descriptor, which contains only the protobuf
  2582  // type information for the message.
  2583  func (x *fastReflection_TestAllTypes) Descriptor() protoreflect.MessageDescriptor {
  2584  	return md_TestAllTypes
  2585  }
  2586  
  2587  // Type returns the message type, which encapsulates both Go and protobuf
  2588  // type information. If the Go type information is not needed,
  2589  // it is recommended that the message descriptor be used instead.
  2590  func (x *fastReflection_TestAllTypes) Type() protoreflect.MessageType {
  2591  	return _fastReflection_TestAllTypes_messageType
  2592  }
  2593  
  2594  // New returns a newly allocated and mutable empty message.
  2595  func (x *fastReflection_TestAllTypes) New() protoreflect.Message {
  2596  	return new(fastReflection_TestAllTypes)
  2597  }
  2598  
  2599  // Interface unwraps the message reflection interface and
  2600  // returns the underlying ProtoMessage interface.
  2601  func (x *fastReflection_TestAllTypes) Interface() protoreflect.ProtoMessage {
  2602  	return (*TestAllTypes)(x)
  2603  }
  2604  
  2605  // Range iterates over every populated field in an undefined order,
  2606  // calling f for each field descriptor and value encountered.
  2607  // Range returns immediately if f returns false.
  2608  // While iterating, mutating operations may only be performed
  2609  // on the current field descriptor.
  2610  func (x *fastReflection_TestAllTypes) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
  2611  	if x.SingularInt32 != int32(0) {
  2612  		value := protoreflect.ValueOfInt32(x.SingularInt32)
  2613  		if !f(fd_TestAllTypes_singular_int32, value) {
  2614  			return
  2615  		}
  2616  	}
  2617  	if x.SingularInt64 != int64(0) {
  2618  		value := protoreflect.ValueOfInt64(x.SingularInt64)
  2619  		if !f(fd_TestAllTypes_singular_int64, value) {
  2620  			return
  2621  		}
  2622  	}
  2623  	if x.SingularUint32 != uint32(0) {
  2624  		value := protoreflect.ValueOfUint32(x.SingularUint32)
  2625  		if !f(fd_TestAllTypes_singular_uint32, value) {
  2626  			return
  2627  		}
  2628  	}
  2629  	if x.SingularUint64 != uint64(0) {
  2630  		value := protoreflect.ValueOfUint64(x.SingularUint64)
  2631  		if !f(fd_TestAllTypes_singular_uint64, value) {
  2632  			return
  2633  		}
  2634  	}
  2635  	if x.SingularSint32 != int32(0) {
  2636  		value := protoreflect.ValueOfInt32(x.SingularSint32)
  2637  		if !f(fd_TestAllTypes_singular_sint32, value) {
  2638  			return
  2639  		}
  2640  	}
  2641  	if x.SingularSint64 != int64(0) {
  2642  		value := protoreflect.ValueOfInt64(x.SingularSint64)
  2643  		if !f(fd_TestAllTypes_singular_sint64, value) {
  2644  			return
  2645  		}
  2646  	}
  2647  	if x.SingularFixed32 != uint32(0) {
  2648  		value := protoreflect.ValueOfUint32(x.SingularFixed32)
  2649  		if !f(fd_TestAllTypes_singular_fixed32, value) {
  2650  			return
  2651  		}
  2652  	}
  2653  	if x.SingularFixed64 != uint64(0) {
  2654  		value := protoreflect.ValueOfUint64(x.SingularFixed64)
  2655  		if !f(fd_TestAllTypes_singular_fixed64, value) {
  2656  			return
  2657  		}
  2658  	}
  2659  	if x.SingularSfixed32 != int32(0) {
  2660  		value := protoreflect.ValueOfInt32(x.SingularSfixed32)
  2661  		if !f(fd_TestAllTypes_singular_sfixed32, value) {
  2662  			return
  2663  		}
  2664  	}
  2665  	if x.SingularSfixed64 != int64(0) {
  2666  		value := protoreflect.ValueOfInt64(x.SingularSfixed64)
  2667  		if !f(fd_TestAllTypes_singular_sfixed64, value) {
  2668  			return
  2669  		}
  2670  	}
  2671  	if x.SingularFloat != float32(0) || math.Signbit(float64(x.SingularFloat)) {
  2672  		value := protoreflect.ValueOfFloat32(x.SingularFloat)
  2673  		if !f(fd_TestAllTypes_singular_float, value) {
  2674  			return
  2675  		}
  2676  	}
  2677  	if x.SingularDouble != float64(0) || math.Signbit(x.SingularDouble) {
  2678  		value := protoreflect.ValueOfFloat64(x.SingularDouble)
  2679  		if !f(fd_TestAllTypes_singular_double, value) {
  2680  			return
  2681  		}
  2682  	}
  2683  	if x.SingularBool != false {
  2684  		value := protoreflect.ValueOfBool(x.SingularBool)
  2685  		if !f(fd_TestAllTypes_singular_bool, value) {
  2686  			return
  2687  		}
  2688  	}
  2689  	if x.SingularString != "" {
  2690  		value := protoreflect.ValueOfString(x.SingularString)
  2691  		if !f(fd_TestAllTypes_singular_string, value) {
  2692  			return
  2693  		}
  2694  	}
  2695  	if len(x.SingularBytes) != 0 {
  2696  		value := protoreflect.ValueOfBytes(x.SingularBytes)
  2697  		if !f(fd_TestAllTypes_singular_bytes, value) {
  2698  			return
  2699  		}
  2700  	}
  2701  	if x.SingularNestedMessage != nil {
  2702  		value := protoreflect.ValueOfMessage(x.SingularNestedMessage.ProtoReflect())
  2703  		if !f(fd_TestAllTypes_singular_nested_message, value) {
  2704  			return
  2705  		}
  2706  	}
  2707  	if x.SingularForeignMessage != nil {
  2708  		value := protoreflect.ValueOfMessage(x.SingularForeignMessage.ProtoReflect())
  2709  		if !f(fd_TestAllTypes_singular_foreign_message, value) {
  2710  			return
  2711  		}
  2712  	}
  2713  	if x.SingularImportMessage != nil {
  2714  		value := protoreflect.ValueOfMessage(x.SingularImportMessage.ProtoReflect())
  2715  		if !f(fd_TestAllTypes_singular_import_message, value) {
  2716  			return
  2717  		}
  2718  	}
  2719  	if x.SingularNestedEnum != 0 {
  2720  		value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.SingularNestedEnum))
  2721  		if !f(fd_TestAllTypes_singular_nested_enum, value) {
  2722  			return
  2723  		}
  2724  	}
  2725  	if x.SingularForeignEnum != 0 {
  2726  		value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.SingularForeignEnum))
  2727  		if !f(fd_TestAllTypes_singular_foreign_enum, value) {
  2728  			return
  2729  		}
  2730  	}
  2731  	if x.SingularImportEnum != 0 {
  2732  		value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.SingularImportEnum))
  2733  		if !f(fd_TestAllTypes_singular_import_enum, value) {
  2734  			return
  2735  		}
  2736  	}
  2737  	if len(x.RepeatedInt32) != 0 {
  2738  		value := protoreflect.ValueOfList(&_TestAllTypes_31_list{list: &x.RepeatedInt32})
  2739  		if !f(fd_TestAllTypes_repeated_int32, value) {
  2740  			return
  2741  		}
  2742  	}
  2743  	if len(x.RepeatedInt64) != 0 {
  2744  		value := protoreflect.ValueOfList(&_TestAllTypes_32_list{list: &x.RepeatedInt64})
  2745  		if !f(fd_TestAllTypes_repeated_int64, value) {
  2746  			return
  2747  		}
  2748  	}
  2749  	if len(x.RepeatedUint32) != 0 {
  2750  		value := protoreflect.ValueOfList(&_TestAllTypes_33_list{list: &x.RepeatedUint32})
  2751  		if !f(fd_TestAllTypes_repeated_uint32, value) {
  2752  			return
  2753  		}
  2754  	}
  2755  	if len(x.RepeatedUint64) != 0 {
  2756  		value := protoreflect.ValueOfList(&_TestAllTypes_34_list{list: &x.RepeatedUint64})
  2757  		if !f(fd_TestAllTypes_repeated_uint64, value) {
  2758  			return
  2759  		}
  2760  	}
  2761  	if len(x.RepeatedSint32) != 0 {
  2762  		value := protoreflect.ValueOfList(&_TestAllTypes_35_list{list: &x.RepeatedSint32})
  2763  		if !f(fd_TestAllTypes_repeated_sint32, value) {
  2764  			return
  2765  		}
  2766  	}
  2767  	if len(x.RepeatedSint64) != 0 {
  2768  		value := protoreflect.ValueOfList(&_TestAllTypes_36_list{list: &x.RepeatedSint64})
  2769  		if !f(fd_TestAllTypes_repeated_sint64, value) {
  2770  			return
  2771  		}
  2772  	}
  2773  	if len(x.RepeatedFixed32) != 0 {
  2774  		value := protoreflect.ValueOfList(&_TestAllTypes_37_list{list: &x.RepeatedFixed32})
  2775  		if !f(fd_TestAllTypes_repeated_fixed32, value) {
  2776  			return
  2777  		}
  2778  	}
  2779  	if len(x.RepeatedFixed64) != 0 {
  2780  		value := protoreflect.ValueOfList(&_TestAllTypes_38_list{list: &x.RepeatedFixed64})
  2781  		if !f(fd_TestAllTypes_repeated_fixed64, value) {
  2782  			return
  2783  		}
  2784  	}
  2785  	if len(x.RepeatedSfixed32) != 0 {
  2786  		value := protoreflect.ValueOfList(&_TestAllTypes_39_list{list: &x.RepeatedSfixed32})
  2787  		if !f(fd_TestAllTypes_repeated_sfixed32, value) {
  2788  			return
  2789  		}
  2790  	}
  2791  	if len(x.RepeatedSfixed64) != 0 {
  2792  		value := protoreflect.ValueOfList(&_TestAllTypes_40_list{list: &x.RepeatedSfixed64})
  2793  		if !f(fd_TestAllTypes_repeated_sfixed64, value) {
  2794  			return
  2795  		}
  2796  	}
  2797  	if len(x.RepeatedFloat) != 0 {
  2798  		value := protoreflect.ValueOfList(&_TestAllTypes_41_list{list: &x.RepeatedFloat})
  2799  		if !f(fd_TestAllTypes_repeated_float, value) {
  2800  			return
  2801  		}
  2802  	}
  2803  	if len(x.RepeatedDouble) != 0 {
  2804  		value := protoreflect.ValueOfList(&_TestAllTypes_42_list{list: &x.RepeatedDouble})
  2805  		if !f(fd_TestAllTypes_repeated_double, value) {
  2806  			return
  2807  		}
  2808  	}
  2809  	if len(x.RepeatedBool) != 0 {
  2810  		value := protoreflect.ValueOfList(&_TestAllTypes_43_list{list: &x.RepeatedBool})
  2811  		if !f(fd_TestAllTypes_repeated_bool, value) {
  2812  			return
  2813  		}
  2814  	}
  2815  	if len(x.RepeatedString) != 0 {
  2816  		value := protoreflect.ValueOfList(&_TestAllTypes_44_list{list: &x.RepeatedString})
  2817  		if !f(fd_TestAllTypes_repeated_string, value) {
  2818  			return
  2819  		}
  2820  	}
  2821  	if len(x.RepeatedBytes) != 0 {
  2822  		value := protoreflect.ValueOfList(&_TestAllTypes_45_list{list: &x.RepeatedBytes})
  2823  		if !f(fd_TestAllTypes_repeated_bytes, value) {
  2824  			return
  2825  		}
  2826  	}
  2827  	if len(x.RepeatedNestedMessage) != 0 {
  2828  		value := protoreflect.ValueOfList(&_TestAllTypes_48_list{list: &x.RepeatedNestedMessage})
  2829  		if !f(fd_TestAllTypes_repeated_nested_message, value) {
  2830  			return
  2831  		}
  2832  	}
  2833  	if len(x.RepeatedForeignMessage) != 0 {
  2834  		value := protoreflect.ValueOfList(&_TestAllTypes_49_list{list: &x.RepeatedForeignMessage})
  2835  		if !f(fd_TestAllTypes_repeated_foreign_message, value) {
  2836  			return
  2837  		}
  2838  	}
  2839  	if len(x.RepeatedImportmessage) != 0 {
  2840  		value := protoreflect.ValueOfList(&_TestAllTypes_50_list{list: &x.RepeatedImportmessage})
  2841  		if !f(fd_TestAllTypes_repeated_importmessage, value) {
  2842  			return
  2843  		}
  2844  	}
  2845  	if len(x.RepeatedNestedEnum) != 0 {
  2846  		value := protoreflect.ValueOfList(&_TestAllTypes_51_list{list: &x.RepeatedNestedEnum})
  2847  		if !f(fd_TestAllTypes_repeated_nested_enum, value) {
  2848  			return
  2849  		}
  2850  	}
  2851  	if len(x.RepeatedForeignEnum) != 0 {
  2852  		value := protoreflect.ValueOfList(&_TestAllTypes_52_list{list: &x.RepeatedForeignEnum})
  2853  		if !f(fd_TestAllTypes_repeated_foreign_enum, value) {
  2854  			return
  2855  		}
  2856  	}
  2857  	if len(x.RepeatedImportenum) != 0 {
  2858  		value := protoreflect.ValueOfList(&_TestAllTypes_53_list{list: &x.RepeatedImportenum})
  2859  		if !f(fd_TestAllTypes_repeated_importenum, value) {
  2860  			return
  2861  		}
  2862  	}
  2863  	if len(x.MapInt32Int32) != 0 {
  2864  		value := protoreflect.ValueOfMap(&_TestAllTypes_56_map{m: &x.MapInt32Int32})
  2865  		if !f(fd_TestAllTypes_map_int32_int32, value) {
  2866  			return
  2867  		}
  2868  	}
  2869  	if len(x.MapInt64Int64) != 0 {
  2870  		value := protoreflect.ValueOfMap(&_TestAllTypes_57_map{m: &x.MapInt64Int64})
  2871  		if !f(fd_TestAllTypes_map_int64_int64, value) {
  2872  			return
  2873  		}
  2874  	}
  2875  	if len(x.MapUint32Uint32) != 0 {
  2876  		value := protoreflect.ValueOfMap(&_TestAllTypes_58_map{m: &x.MapUint32Uint32})
  2877  		if !f(fd_TestAllTypes_map_uint32_uint32, value) {
  2878  			return
  2879  		}
  2880  	}
  2881  	if len(x.MapUint64Uint64) != 0 {
  2882  		value := protoreflect.ValueOfMap(&_TestAllTypes_59_map{m: &x.MapUint64Uint64})
  2883  		if !f(fd_TestAllTypes_map_uint64_uint64, value) {
  2884  			return
  2885  		}
  2886  	}
  2887  	if len(x.MapSint32Sint32) != 0 {
  2888  		value := protoreflect.ValueOfMap(&_TestAllTypes_60_map{m: &x.MapSint32Sint32})
  2889  		if !f(fd_TestAllTypes_map_sint32_sint32, value) {
  2890  			return
  2891  		}
  2892  	}
  2893  	if len(x.MapSint64Sint64) != 0 {
  2894  		value := protoreflect.ValueOfMap(&_TestAllTypes_61_map{m: &x.MapSint64Sint64})
  2895  		if !f(fd_TestAllTypes_map_sint64_sint64, value) {
  2896  			return
  2897  		}
  2898  	}
  2899  	if len(x.MapFixed32Fixed32) != 0 {
  2900  		value := protoreflect.ValueOfMap(&_TestAllTypes_62_map{m: &x.MapFixed32Fixed32})
  2901  		if !f(fd_TestAllTypes_map_fixed32_fixed32, value) {
  2902  			return
  2903  		}
  2904  	}
  2905  	if len(x.MapFixed64Fixed64) != 0 {
  2906  		value := protoreflect.ValueOfMap(&_TestAllTypes_63_map{m: &x.MapFixed64Fixed64})
  2907  		if !f(fd_TestAllTypes_map_fixed64_fixed64, value) {
  2908  			return
  2909  		}
  2910  	}
  2911  	if len(x.MapSfixed32Sfixed32) != 0 {
  2912  		value := protoreflect.ValueOfMap(&_TestAllTypes_64_map{m: &x.MapSfixed32Sfixed32})
  2913  		if !f(fd_TestAllTypes_map_sfixed32_sfixed32, value) {
  2914  			return
  2915  		}
  2916  	}
  2917  	if len(x.MapSfixed64Sfixed64) != 0 {
  2918  		value := protoreflect.ValueOfMap(&_TestAllTypes_65_map{m: &x.MapSfixed64Sfixed64})
  2919  		if !f(fd_TestAllTypes_map_sfixed64_sfixed64, value) {
  2920  			return
  2921  		}
  2922  	}
  2923  	if len(x.MapInt32Float) != 0 {
  2924  		value := protoreflect.ValueOfMap(&_TestAllTypes_66_map{m: &x.MapInt32Float})
  2925  		if !f(fd_TestAllTypes_map_int32_float, value) {
  2926  			return
  2927  		}
  2928  	}
  2929  	if len(x.MapInt32Double) != 0 {
  2930  		value := protoreflect.ValueOfMap(&_TestAllTypes_67_map{m: &x.MapInt32Double})
  2931  		if !f(fd_TestAllTypes_map_int32_double, value) {
  2932  			return
  2933  		}
  2934  	}
  2935  	if len(x.MapBoolBool) != 0 {
  2936  		value := protoreflect.ValueOfMap(&_TestAllTypes_68_map{m: &x.MapBoolBool})
  2937  		if !f(fd_TestAllTypes_map_bool_bool, value) {
  2938  			return
  2939  		}
  2940  	}
  2941  	if len(x.MapStringString) != 0 {
  2942  		value := protoreflect.ValueOfMap(&_TestAllTypes_69_map{m: &x.MapStringString})
  2943  		if !f(fd_TestAllTypes_map_string_string, value) {
  2944  			return
  2945  		}
  2946  	}
  2947  	if len(x.MapStringBytes) != 0 {
  2948  		value := protoreflect.ValueOfMap(&_TestAllTypes_70_map{m: &x.MapStringBytes})
  2949  		if !f(fd_TestAllTypes_map_string_bytes, value) {
  2950  			return
  2951  		}
  2952  	}
  2953  	if len(x.MapStringNestedMessage) != 0 {
  2954  		value := protoreflect.ValueOfMap(&_TestAllTypes_71_map{m: &x.MapStringNestedMessage})
  2955  		if !f(fd_TestAllTypes_map_string_nested_message, value) {
  2956  			return
  2957  		}
  2958  	}
  2959  	if len(x.MapStringNestedEnum) != 0 {
  2960  		value := protoreflect.ValueOfMap(&_TestAllTypes_73_map{m: &x.MapStringNestedEnum})
  2961  		if !f(fd_TestAllTypes_map_string_nested_enum, value) {
  2962  			return
  2963  		}
  2964  	}
  2965  	if x.OneofField != nil {
  2966  		switch o := x.OneofField.(type) {
  2967  		case *TestAllTypes_OneofUint32:
  2968  			v := o.OneofUint32
  2969  			value := protoreflect.ValueOfUint32(v)
  2970  			if !f(fd_TestAllTypes_oneof_uint32, value) {
  2971  				return
  2972  			}
  2973  		case *TestAllTypes_OneofNestedMessage:
  2974  			v := o.OneofNestedMessage
  2975  			value := protoreflect.ValueOfMessage(v.ProtoReflect())
  2976  			if !f(fd_TestAllTypes_oneof_nested_message, value) {
  2977  				return
  2978  			}
  2979  		case *TestAllTypes_OneofString:
  2980  			v := o.OneofString
  2981  			value := protoreflect.ValueOfString(v)
  2982  			if !f(fd_TestAllTypes_oneof_string, value) {
  2983  				return
  2984  			}
  2985  		case *TestAllTypes_OneofBytes:
  2986  			v := o.OneofBytes
  2987  			value := protoreflect.ValueOfBytes(v)
  2988  			if !f(fd_TestAllTypes_oneof_bytes, value) {
  2989  				return
  2990  			}
  2991  		case *TestAllTypes_OneofBool:
  2992  			v := o.OneofBool
  2993  			value := protoreflect.ValueOfBool(v)
  2994  			if !f(fd_TestAllTypes_oneof_bool, value) {
  2995  				return
  2996  			}
  2997  		case *TestAllTypes_OneofUint64:
  2998  			v := o.OneofUint64
  2999  			value := protoreflect.ValueOfUint64(v)
  3000  			if !f(fd_TestAllTypes_oneof_uint64, value) {
  3001  				return
  3002  			}
  3003  		case *TestAllTypes_OneofFloat:
  3004  			v := o.OneofFloat
  3005  			value := protoreflect.ValueOfFloat32(v)
  3006  			if !f(fd_TestAllTypes_oneof_float, value) {
  3007  				return
  3008  			}
  3009  		case *TestAllTypes_OneofDouble:
  3010  			v := o.OneofDouble
  3011  			value := protoreflect.ValueOfFloat64(v)
  3012  			if !f(fd_TestAllTypes_oneof_double, value) {
  3013  				return
  3014  			}
  3015  		case *TestAllTypes_OneofEnum:
  3016  			v := o.OneofEnum
  3017  			value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v))
  3018  			if !f(fd_TestAllTypes_oneof_enum, value) {
  3019  				return
  3020  			}
  3021  		}
  3022  	}
  3023  }
  3024  
  3025  // Has reports whether a field is populated.
  3026  //
  3027  // Some fields have the property of nullability where it is possible to
  3028  // distinguish between the default value of a field and whether the field
  3029  // was explicitly populated with the default value. Singular message fields,
  3030  // member fields of a oneof, and proto2 scalar fields are nullable. Such
  3031  // fields are populated only if explicitly set.
  3032  //
  3033  // In other cases (aside from the nullable cases above),
  3034  // a proto3 scalar field is populated if it contains a non-zero value, and
  3035  // a repeated field is populated if it is non-empty.
  3036  func (x *fastReflection_TestAllTypes) Has(fd protoreflect.FieldDescriptor) bool {
  3037  	switch fd.FullName() {
  3038  	case "goproto.proto.test3.TestAllTypes.singular_int32":
  3039  		return x.SingularInt32 != int32(0)
  3040  	case "goproto.proto.test3.TestAllTypes.singular_int64":
  3041  		return x.SingularInt64 != int64(0)
  3042  	case "goproto.proto.test3.TestAllTypes.singular_uint32":
  3043  		return x.SingularUint32 != uint32(0)
  3044  	case "goproto.proto.test3.TestAllTypes.singular_uint64":
  3045  		return x.SingularUint64 != uint64(0)
  3046  	case "goproto.proto.test3.TestAllTypes.singular_sint32":
  3047  		return x.SingularSint32 != int32(0)
  3048  	case "goproto.proto.test3.TestAllTypes.singular_sint64":
  3049  		return x.SingularSint64 != int64(0)
  3050  	case "goproto.proto.test3.TestAllTypes.singular_fixed32":
  3051  		return x.SingularFixed32 != uint32(0)
  3052  	case "goproto.proto.test3.TestAllTypes.singular_fixed64":
  3053  		return x.SingularFixed64 != uint64(0)
  3054  	case "goproto.proto.test3.TestAllTypes.singular_sfixed32":
  3055  		return x.SingularSfixed32 != int32(0)
  3056  	case "goproto.proto.test3.TestAllTypes.singular_sfixed64":
  3057  		return x.SingularSfixed64 != int64(0)
  3058  	case "goproto.proto.test3.TestAllTypes.singular_float":
  3059  		return x.SingularFloat != float32(0) || math.Signbit(float64(x.SingularFloat))
  3060  	case "goproto.proto.test3.TestAllTypes.singular_double":
  3061  		return x.SingularDouble != float64(0) || math.Signbit(x.SingularDouble)
  3062  	case "goproto.proto.test3.TestAllTypes.singular_bool":
  3063  		return x.SingularBool != false
  3064  	case "goproto.proto.test3.TestAllTypes.singular_string":
  3065  		return x.SingularString != ""
  3066  	case "goproto.proto.test3.TestAllTypes.singular_bytes":
  3067  		return len(x.SingularBytes) != 0
  3068  	case "goproto.proto.test3.TestAllTypes.singular_nested_message":
  3069  		return x.SingularNestedMessage != nil
  3070  	case "goproto.proto.test3.TestAllTypes.singular_foreign_message":
  3071  		return x.SingularForeignMessage != nil
  3072  	case "goproto.proto.test3.TestAllTypes.singular_import_message":
  3073  		return x.SingularImportMessage != nil
  3074  	case "goproto.proto.test3.TestAllTypes.singular_nested_enum":
  3075  		return x.SingularNestedEnum != 0
  3076  	case "goproto.proto.test3.TestAllTypes.singular_foreign_enum":
  3077  		return x.SingularForeignEnum != 0
  3078  	case "goproto.proto.test3.TestAllTypes.singular_import_enum":
  3079  		return x.SingularImportEnum != 0
  3080  	case "goproto.proto.test3.TestAllTypes.repeated_int32":
  3081  		return len(x.RepeatedInt32) != 0
  3082  	case "goproto.proto.test3.TestAllTypes.repeated_int64":
  3083  		return len(x.RepeatedInt64) != 0
  3084  	case "goproto.proto.test3.TestAllTypes.repeated_uint32":
  3085  		return len(x.RepeatedUint32) != 0
  3086  	case "goproto.proto.test3.TestAllTypes.repeated_uint64":
  3087  		return len(x.RepeatedUint64) != 0
  3088  	case "goproto.proto.test3.TestAllTypes.repeated_sint32":
  3089  		return len(x.RepeatedSint32) != 0
  3090  	case "goproto.proto.test3.TestAllTypes.repeated_sint64":
  3091  		return len(x.RepeatedSint64) != 0
  3092  	case "goproto.proto.test3.TestAllTypes.repeated_fixed32":
  3093  		return len(x.RepeatedFixed32) != 0
  3094  	case "goproto.proto.test3.TestAllTypes.repeated_fixed64":
  3095  		return len(x.RepeatedFixed64) != 0
  3096  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed32":
  3097  		return len(x.RepeatedSfixed32) != 0
  3098  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed64":
  3099  		return len(x.RepeatedSfixed64) != 0
  3100  	case "goproto.proto.test3.TestAllTypes.repeated_float":
  3101  		return len(x.RepeatedFloat) != 0
  3102  	case "goproto.proto.test3.TestAllTypes.repeated_double":
  3103  		return len(x.RepeatedDouble) != 0
  3104  	case "goproto.proto.test3.TestAllTypes.repeated_bool":
  3105  		return len(x.RepeatedBool) != 0
  3106  	case "goproto.proto.test3.TestAllTypes.repeated_string":
  3107  		return len(x.RepeatedString) != 0
  3108  	case "goproto.proto.test3.TestAllTypes.repeated_bytes":
  3109  		return len(x.RepeatedBytes) != 0
  3110  	case "goproto.proto.test3.TestAllTypes.repeated_nested_message":
  3111  		return len(x.RepeatedNestedMessage) != 0
  3112  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_message":
  3113  		return len(x.RepeatedForeignMessage) != 0
  3114  	case "goproto.proto.test3.TestAllTypes.repeated_importmessage":
  3115  		return len(x.RepeatedImportmessage) != 0
  3116  	case "goproto.proto.test3.TestAllTypes.repeated_nested_enum":
  3117  		return len(x.RepeatedNestedEnum) != 0
  3118  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_enum":
  3119  		return len(x.RepeatedForeignEnum) != 0
  3120  	case "goproto.proto.test3.TestAllTypes.repeated_importenum":
  3121  		return len(x.RepeatedImportenum) != 0
  3122  	case "goproto.proto.test3.TestAllTypes.map_int32_int32":
  3123  		return len(x.MapInt32Int32) != 0
  3124  	case "goproto.proto.test3.TestAllTypes.map_int64_int64":
  3125  		return len(x.MapInt64Int64) != 0
  3126  	case "goproto.proto.test3.TestAllTypes.map_uint32_uint32":
  3127  		return len(x.MapUint32Uint32) != 0
  3128  	case "goproto.proto.test3.TestAllTypes.map_uint64_uint64":
  3129  		return len(x.MapUint64Uint64) != 0
  3130  	case "goproto.proto.test3.TestAllTypes.map_sint32_sint32":
  3131  		return len(x.MapSint32Sint32) != 0
  3132  	case "goproto.proto.test3.TestAllTypes.map_sint64_sint64":
  3133  		return len(x.MapSint64Sint64) != 0
  3134  	case "goproto.proto.test3.TestAllTypes.map_fixed32_fixed32":
  3135  		return len(x.MapFixed32Fixed32) != 0
  3136  	case "goproto.proto.test3.TestAllTypes.map_fixed64_fixed64":
  3137  		return len(x.MapFixed64Fixed64) != 0
  3138  	case "goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32":
  3139  		return len(x.MapSfixed32Sfixed32) != 0
  3140  	case "goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64":
  3141  		return len(x.MapSfixed64Sfixed64) != 0
  3142  	case "goproto.proto.test3.TestAllTypes.map_int32_float":
  3143  		return len(x.MapInt32Float) != 0
  3144  	case "goproto.proto.test3.TestAllTypes.map_int32_double":
  3145  		return len(x.MapInt32Double) != 0
  3146  	case "goproto.proto.test3.TestAllTypes.map_bool_bool":
  3147  		return len(x.MapBoolBool) != 0
  3148  	case "goproto.proto.test3.TestAllTypes.map_string_string":
  3149  		return len(x.MapStringString) != 0
  3150  	case "goproto.proto.test3.TestAllTypes.map_string_bytes":
  3151  		return len(x.MapStringBytes) != 0
  3152  	case "goproto.proto.test3.TestAllTypes.map_string_nested_message":
  3153  		return len(x.MapStringNestedMessage) != 0
  3154  	case "goproto.proto.test3.TestAllTypes.map_string_nested_enum":
  3155  		return len(x.MapStringNestedEnum) != 0
  3156  	case "goproto.proto.test3.TestAllTypes.oneof_uint32":
  3157  		if x.OneofField == nil {
  3158  			return false
  3159  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok {
  3160  			return true
  3161  		} else {
  3162  			return false
  3163  		}
  3164  	case "goproto.proto.test3.TestAllTypes.oneof_nested_message":
  3165  		if x.OneofField == nil {
  3166  			return false
  3167  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok {
  3168  			return true
  3169  		} else {
  3170  			return false
  3171  		}
  3172  	case "goproto.proto.test3.TestAllTypes.oneof_string":
  3173  		if x.OneofField == nil {
  3174  			return false
  3175  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofString); ok {
  3176  			return true
  3177  		} else {
  3178  			return false
  3179  		}
  3180  	case "goproto.proto.test3.TestAllTypes.oneof_bytes":
  3181  		if x.OneofField == nil {
  3182  			return false
  3183  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok {
  3184  			return true
  3185  		} else {
  3186  			return false
  3187  		}
  3188  	case "goproto.proto.test3.TestAllTypes.oneof_bool":
  3189  		if x.OneofField == nil {
  3190  			return false
  3191  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofBool); ok {
  3192  			return true
  3193  		} else {
  3194  			return false
  3195  		}
  3196  	case "goproto.proto.test3.TestAllTypes.oneof_uint64":
  3197  		if x.OneofField == nil {
  3198  			return false
  3199  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok {
  3200  			return true
  3201  		} else {
  3202  			return false
  3203  		}
  3204  	case "goproto.proto.test3.TestAllTypes.oneof_float":
  3205  		if x.OneofField == nil {
  3206  			return false
  3207  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok {
  3208  			return true
  3209  		} else {
  3210  			return false
  3211  		}
  3212  	case "goproto.proto.test3.TestAllTypes.oneof_double":
  3213  		if x.OneofField == nil {
  3214  			return false
  3215  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok {
  3216  			return true
  3217  		} else {
  3218  			return false
  3219  		}
  3220  	case "goproto.proto.test3.TestAllTypes.oneof_enum":
  3221  		if x.OneofField == nil {
  3222  			return false
  3223  		} else if _, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok {
  3224  			return true
  3225  		} else {
  3226  			return false
  3227  		}
  3228  	default:
  3229  		if fd.IsExtension() {
  3230  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes"))
  3231  		}
  3232  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes does not contain field %s", fd.FullName()))
  3233  	}
  3234  }
  3235  
  3236  // Clear clears the field such that a subsequent Has call reports false.
  3237  //
  3238  // Clearing an extension field clears both the extension type and value
  3239  // associated with the given field number.
  3240  //
  3241  // Clear is a mutating operation and unsafe for concurrent use.
  3242  func (x *fastReflection_TestAllTypes) Clear(fd protoreflect.FieldDescriptor) {
  3243  	switch fd.FullName() {
  3244  	case "goproto.proto.test3.TestAllTypes.singular_int32":
  3245  		x.SingularInt32 = int32(0)
  3246  	case "goproto.proto.test3.TestAllTypes.singular_int64":
  3247  		x.SingularInt64 = int64(0)
  3248  	case "goproto.proto.test3.TestAllTypes.singular_uint32":
  3249  		x.SingularUint32 = uint32(0)
  3250  	case "goproto.proto.test3.TestAllTypes.singular_uint64":
  3251  		x.SingularUint64 = uint64(0)
  3252  	case "goproto.proto.test3.TestAllTypes.singular_sint32":
  3253  		x.SingularSint32 = int32(0)
  3254  	case "goproto.proto.test3.TestAllTypes.singular_sint64":
  3255  		x.SingularSint64 = int64(0)
  3256  	case "goproto.proto.test3.TestAllTypes.singular_fixed32":
  3257  		x.SingularFixed32 = uint32(0)
  3258  	case "goproto.proto.test3.TestAllTypes.singular_fixed64":
  3259  		x.SingularFixed64 = uint64(0)
  3260  	case "goproto.proto.test3.TestAllTypes.singular_sfixed32":
  3261  		x.SingularSfixed32 = int32(0)
  3262  	case "goproto.proto.test3.TestAllTypes.singular_sfixed64":
  3263  		x.SingularSfixed64 = int64(0)
  3264  	case "goproto.proto.test3.TestAllTypes.singular_float":
  3265  		x.SingularFloat = float32(0)
  3266  	case "goproto.proto.test3.TestAllTypes.singular_double":
  3267  		x.SingularDouble = float64(0)
  3268  	case "goproto.proto.test3.TestAllTypes.singular_bool":
  3269  		x.SingularBool = false
  3270  	case "goproto.proto.test3.TestAllTypes.singular_string":
  3271  		x.SingularString = ""
  3272  	case "goproto.proto.test3.TestAllTypes.singular_bytes":
  3273  		x.SingularBytes = nil
  3274  	case "goproto.proto.test3.TestAllTypes.singular_nested_message":
  3275  		x.SingularNestedMessage = nil
  3276  	case "goproto.proto.test3.TestAllTypes.singular_foreign_message":
  3277  		x.SingularForeignMessage = nil
  3278  	case "goproto.proto.test3.TestAllTypes.singular_import_message":
  3279  		x.SingularImportMessage = nil
  3280  	case "goproto.proto.test3.TestAllTypes.singular_nested_enum":
  3281  		x.SingularNestedEnum = 0
  3282  	case "goproto.proto.test3.TestAllTypes.singular_foreign_enum":
  3283  		x.SingularForeignEnum = 0
  3284  	case "goproto.proto.test3.TestAllTypes.singular_import_enum":
  3285  		x.SingularImportEnum = 0
  3286  	case "goproto.proto.test3.TestAllTypes.repeated_int32":
  3287  		x.RepeatedInt32 = nil
  3288  	case "goproto.proto.test3.TestAllTypes.repeated_int64":
  3289  		x.RepeatedInt64 = nil
  3290  	case "goproto.proto.test3.TestAllTypes.repeated_uint32":
  3291  		x.RepeatedUint32 = nil
  3292  	case "goproto.proto.test3.TestAllTypes.repeated_uint64":
  3293  		x.RepeatedUint64 = nil
  3294  	case "goproto.proto.test3.TestAllTypes.repeated_sint32":
  3295  		x.RepeatedSint32 = nil
  3296  	case "goproto.proto.test3.TestAllTypes.repeated_sint64":
  3297  		x.RepeatedSint64 = nil
  3298  	case "goproto.proto.test3.TestAllTypes.repeated_fixed32":
  3299  		x.RepeatedFixed32 = nil
  3300  	case "goproto.proto.test3.TestAllTypes.repeated_fixed64":
  3301  		x.RepeatedFixed64 = nil
  3302  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed32":
  3303  		x.RepeatedSfixed32 = nil
  3304  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed64":
  3305  		x.RepeatedSfixed64 = nil
  3306  	case "goproto.proto.test3.TestAllTypes.repeated_float":
  3307  		x.RepeatedFloat = nil
  3308  	case "goproto.proto.test3.TestAllTypes.repeated_double":
  3309  		x.RepeatedDouble = nil
  3310  	case "goproto.proto.test3.TestAllTypes.repeated_bool":
  3311  		x.RepeatedBool = nil
  3312  	case "goproto.proto.test3.TestAllTypes.repeated_string":
  3313  		x.RepeatedString = nil
  3314  	case "goproto.proto.test3.TestAllTypes.repeated_bytes":
  3315  		x.RepeatedBytes = nil
  3316  	case "goproto.proto.test3.TestAllTypes.repeated_nested_message":
  3317  		x.RepeatedNestedMessage = nil
  3318  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_message":
  3319  		x.RepeatedForeignMessage = nil
  3320  	case "goproto.proto.test3.TestAllTypes.repeated_importmessage":
  3321  		x.RepeatedImportmessage = nil
  3322  	case "goproto.proto.test3.TestAllTypes.repeated_nested_enum":
  3323  		x.RepeatedNestedEnum = nil
  3324  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_enum":
  3325  		x.RepeatedForeignEnum = nil
  3326  	case "goproto.proto.test3.TestAllTypes.repeated_importenum":
  3327  		x.RepeatedImportenum = nil
  3328  	case "goproto.proto.test3.TestAllTypes.map_int32_int32":
  3329  		x.MapInt32Int32 = nil
  3330  	case "goproto.proto.test3.TestAllTypes.map_int64_int64":
  3331  		x.MapInt64Int64 = nil
  3332  	case "goproto.proto.test3.TestAllTypes.map_uint32_uint32":
  3333  		x.MapUint32Uint32 = nil
  3334  	case "goproto.proto.test3.TestAllTypes.map_uint64_uint64":
  3335  		x.MapUint64Uint64 = nil
  3336  	case "goproto.proto.test3.TestAllTypes.map_sint32_sint32":
  3337  		x.MapSint32Sint32 = nil
  3338  	case "goproto.proto.test3.TestAllTypes.map_sint64_sint64":
  3339  		x.MapSint64Sint64 = nil
  3340  	case "goproto.proto.test3.TestAllTypes.map_fixed32_fixed32":
  3341  		x.MapFixed32Fixed32 = nil
  3342  	case "goproto.proto.test3.TestAllTypes.map_fixed64_fixed64":
  3343  		x.MapFixed64Fixed64 = nil
  3344  	case "goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32":
  3345  		x.MapSfixed32Sfixed32 = nil
  3346  	case "goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64":
  3347  		x.MapSfixed64Sfixed64 = nil
  3348  	case "goproto.proto.test3.TestAllTypes.map_int32_float":
  3349  		x.MapInt32Float = nil
  3350  	case "goproto.proto.test3.TestAllTypes.map_int32_double":
  3351  		x.MapInt32Double = nil
  3352  	case "goproto.proto.test3.TestAllTypes.map_bool_bool":
  3353  		x.MapBoolBool = nil
  3354  	case "goproto.proto.test3.TestAllTypes.map_string_string":
  3355  		x.MapStringString = nil
  3356  	case "goproto.proto.test3.TestAllTypes.map_string_bytes":
  3357  		x.MapStringBytes = nil
  3358  	case "goproto.proto.test3.TestAllTypes.map_string_nested_message":
  3359  		x.MapStringNestedMessage = nil
  3360  	case "goproto.proto.test3.TestAllTypes.map_string_nested_enum":
  3361  		x.MapStringNestedEnum = nil
  3362  	case "goproto.proto.test3.TestAllTypes.oneof_uint32":
  3363  		x.OneofField = nil
  3364  	case "goproto.proto.test3.TestAllTypes.oneof_nested_message":
  3365  		x.OneofField = nil
  3366  	case "goproto.proto.test3.TestAllTypes.oneof_string":
  3367  		x.OneofField = nil
  3368  	case "goproto.proto.test3.TestAllTypes.oneof_bytes":
  3369  		x.OneofField = nil
  3370  	case "goproto.proto.test3.TestAllTypes.oneof_bool":
  3371  		x.OneofField = nil
  3372  	case "goproto.proto.test3.TestAllTypes.oneof_uint64":
  3373  		x.OneofField = nil
  3374  	case "goproto.proto.test3.TestAllTypes.oneof_float":
  3375  		x.OneofField = nil
  3376  	case "goproto.proto.test3.TestAllTypes.oneof_double":
  3377  		x.OneofField = nil
  3378  	case "goproto.proto.test3.TestAllTypes.oneof_enum":
  3379  		x.OneofField = nil
  3380  	default:
  3381  		if fd.IsExtension() {
  3382  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes"))
  3383  		}
  3384  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes does not contain field %s", fd.FullName()))
  3385  	}
  3386  }
  3387  
  3388  // Get retrieves the value for a field.
  3389  //
  3390  // For unpopulated scalars, it returns the default value, where
  3391  // the default value of a bytes scalar is guaranteed to be a copy.
  3392  // For unpopulated composite types, it returns an empty, read-only view
  3393  // of the value; to obtain a mutable reference, use Mutable.
  3394  func (x *fastReflection_TestAllTypes) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
  3395  	switch descriptor.FullName() {
  3396  	case "goproto.proto.test3.TestAllTypes.singular_int32":
  3397  		value := x.SingularInt32
  3398  		return protoreflect.ValueOfInt32(value)
  3399  	case "goproto.proto.test3.TestAllTypes.singular_int64":
  3400  		value := x.SingularInt64
  3401  		return protoreflect.ValueOfInt64(value)
  3402  	case "goproto.proto.test3.TestAllTypes.singular_uint32":
  3403  		value := x.SingularUint32
  3404  		return protoreflect.ValueOfUint32(value)
  3405  	case "goproto.proto.test3.TestAllTypes.singular_uint64":
  3406  		value := x.SingularUint64
  3407  		return protoreflect.ValueOfUint64(value)
  3408  	case "goproto.proto.test3.TestAllTypes.singular_sint32":
  3409  		value := x.SingularSint32
  3410  		return protoreflect.ValueOfInt32(value)
  3411  	case "goproto.proto.test3.TestAllTypes.singular_sint64":
  3412  		value := x.SingularSint64
  3413  		return protoreflect.ValueOfInt64(value)
  3414  	case "goproto.proto.test3.TestAllTypes.singular_fixed32":
  3415  		value := x.SingularFixed32
  3416  		return protoreflect.ValueOfUint32(value)
  3417  	case "goproto.proto.test3.TestAllTypes.singular_fixed64":
  3418  		value := x.SingularFixed64
  3419  		return protoreflect.ValueOfUint64(value)
  3420  	case "goproto.proto.test3.TestAllTypes.singular_sfixed32":
  3421  		value := x.SingularSfixed32
  3422  		return protoreflect.ValueOfInt32(value)
  3423  	case "goproto.proto.test3.TestAllTypes.singular_sfixed64":
  3424  		value := x.SingularSfixed64
  3425  		return protoreflect.ValueOfInt64(value)
  3426  	case "goproto.proto.test3.TestAllTypes.singular_float":
  3427  		value := x.SingularFloat
  3428  		return protoreflect.ValueOfFloat32(value)
  3429  	case "goproto.proto.test3.TestAllTypes.singular_double":
  3430  		value := x.SingularDouble
  3431  		return protoreflect.ValueOfFloat64(value)
  3432  	case "goproto.proto.test3.TestAllTypes.singular_bool":
  3433  		value := x.SingularBool
  3434  		return protoreflect.ValueOfBool(value)
  3435  	case "goproto.proto.test3.TestAllTypes.singular_string":
  3436  		value := x.SingularString
  3437  		return protoreflect.ValueOfString(value)
  3438  	case "goproto.proto.test3.TestAllTypes.singular_bytes":
  3439  		value := x.SingularBytes
  3440  		return protoreflect.ValueOfBytes(value)
  3441  	case "goproto.proto.test3.TestAllTypes.singular_nested_message":
  3442  		value := x.SingularNestedMessage
  3443  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  3444  	case "goproto.proto.test3.TestAllTypes.singular_foreign_message":
  3445  		value := x.SingularForeignMessage
  3446  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  3447  	case "goproto.proto.test3.TestAllTypes.singular_import_message":
  3448  		value := x.SingularImportMessage
  3449  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  3450  	case "goproto.proto.test3.TestAllTypes.singular_nested_enum":
  3451  		value := x.SingularNestedEnum
  3452  		return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value))
  3453  	case "goproto.proto.test3.TestAllTypes.singular_foreign_enum":
  3454  		value := x.SingularForeignEnum
  3455  		return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value))
  3456  	case "goproto.proto.test3.TestAllTypes.singular_import_enum":
  3457  		value := x.SingularImportEnum
  3458  		return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value))
  3459  	case "goproto.proto.test3.TestAllTypes.repeated_int32":
  3460  		if len(x.RepeatedInt32) == 0 {
  3461  			return protoreflect.ValueOfList(&_TestAllTypes_31_list{})
  3462  		}
  3463  		listValue := &_TestAllTypes_31_list{list: &x.RepeatedInt32}
  3464  		return protoreflect.ValueOfList(listValue)
  3465  	case "goproto.proto.test3.TestAllTypes.repeated_int64":
  3466  		if len(x.RepeatedInt64) == 0 {
  3467  			return protoreflect.ValueOfList(&_TestAllTypes_32_list{})
  3468  		}
  3469  		listValue := &_TestAllTypes_32_list{list: &x.RepeatedInt64}
  3470  		return protoreflect.ValueOfList(listValue)
  3471  	case "goproto.proto.test3.TestAllTypes.repeated_uint32":
  3472  		if len(x.RepeatedUint32) == 0 {
  3473  			return protoreflect.ValueOfList(&_TestAllTypes_33_list{})
  3474  		}
  3475  		listValue := &_TestAllTypes_33_list{list: &x.RepeatedUint32}
  3476  		return protoreflect.ValueOfList(listValue)
  3477  	case "goproto.proto.test3.TestAllTypes.repeated_uint64":
  3478  		if len(x.RepeatedUint64) == 0 {
  3479  			return protoreflect.ValueOfList(&_TestAllTypes_34_list{})
  3480  		}
  3481  		listValue := &_TestAllTypes_34_list{list: &x.RepeatedUint64}
  3482  		return protoreflect.ValueOfList(listValue)
  3483  	case "goproto.proto.test3.TestAllTypes.repeated_sint32":
  3484  		if len(x.RepeatedSint32) == 0 {
  3485  			return protoreflect.ValueOfList(&_TestAllTypes_35_list{})
  3486  		}
  3487  		listValue := &_TestAllTypes_35_list{list: &x.RepeatedSint32}
  3488  		return protoreflect.ValueOfList(listValue)
  3489  	case "goproto.proto.test3.TestAllTypes.repeated_sint64":
  3490  		if len(x.RepeatedSint64) == 0 {
  3491  			return protoreflect.ValueOfList(&_TestAllTypes_36_list{})
  3492  		}
  3493  		listValue := &_TestAllTypes_36_list{list: &x.RepeatedSint64}
  3494  		return protoreflect.ValueOfList(listValue)
  3495  	case "goproto.proto.test3.TestAllTypes.repeated_fixed32":
  3496  		if len(x.RepeatedFixed32) == 0 {
  3497  			return protoreflect.ValueOfList(&_TestAllTypes_37_list{})
  3498  		}
  3499  		listValue := &_TestAllTypes_37_list{list: &x.RepeatedFixed32}
  3500  		return protoreflect.ValueOfList(listValue)
  3501  	case "goproto.proto.test3.TestAllTypes.repeated_fixed64":
  3502  		if len(x.RepeatedFixed64) == 0 {
  3503  			return protoreflect.ValueOfList(&_TestAllTypes_38_list{})
  3504  		}
  3505  		listValue := &_TestAllTypes_38_list{list: &x.RepeatedFixed64}
  3506  		return protoreflect.ValueOfList(listValue)
  3507  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed32":
  3508  		if len(x.RepeatedSfixed32) == 0 {
  3509  			return protoreflect.ValueOfList(&_TestAllTypes_39_list{})
  3510  		}
  3511  		listValue := &_TestAllTypes_39_list{list: &x.RepeatedSfixed32}
  3512  		return protoreflect.ValueOfList(listValue)
  3513  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed64":
  3514  		if len(x.RepeatedSfixed64) == 0 {
  3515  			return protoreflect.ValueOfList(&_TestAllTypes_40_list{})
  3516  		}
  3517  		listValue := &_TestAllTypes_40_list{list: &x.RepeatedSfixed64}
  3518  		return protoreflect.ValueOfList(listValue)
  3519  	case "goproto.proto.test3.TestAllTypes.repeated_float":
  3520  		if len(x.RepeatedFloat) == 0 {
  3521  			return protoreflect.ValueOfList(&_TestAllTypes_41_list{})
  3522  		}
  3523  		listValue := &_TestAllTypes_41_list{list: &x.RepeatedFloat}
  3524  		return protoreflect.ValueOfList(listValue)
  3525  	case "goproto.proto.test3.TestAllTypes.repeated_double":
  3526  		if len(x.RepeatedDouble) == 0 {
  3527  			return protoreflect.ValueOfList(&_TestAllTypes_42_list{})
  3528  		}
  3529  		listValue := &_TestAllTypes_42_list{list: &x.RepeatedDouble}
  3530  		return protoreflect.ValueOfList(listValue)
  3531  	case "goproto.proto.test3.TestAllTypes.repeated_bool":
  3532  		if len(x.RepeatedBool) == 0 {
  3533  			return protoreflect.ValueOfList(&_TestAllTypes_43_list{})
  3534  		}
  3535  		listValue := &_TestAllTypes_43_list{list: &x.RepeatedBool}
  3536  		return protoreflect.ValueOfList(listValue)
  3537  	case "goproto.proto.test3.TestAllTypes.repeated_string":
  3538  		if len(x.RepeatedString) == 0 {
  3539  			return protoreflect.ValueOfList(&_TestAllTypes_44_list{})
  3540  		}
  3541  		listValue := &_TestAllTypes_44_list{list: &x.RepeatedString}
  3542  		return protoreflect.ValueOfList(listValue)
  3543  	case "goproto.proto.test3.TestAllTypes.repeated_bytes":
  3544  		if len(x.RepeatedBytes) == 0 {
  3545  			return protoreflect.ValueOfList(&_TestAllTypes_45_list{})
  3546  		}
  3547  		listValue := &_TestAllTypes_45_list{list: &x.RepeatedBytes}
  3548  		return protoreflect.ValueOfList(listValue)
  3549  	case "goproto.proto.test3.TestAllTypes.repeated_nested_message":
  3550  		if len(x.RepeatedNestedMessage) == 0 {
  3551  			return protoreflect.ValueOfList(&_TestAllTypes_48_list{})
  3552  		}
  3553  		listValue := &_TestAllTypes_48_list{list: &x.RepeatedNestedMessage}
  3554  		return protoreflect.ValueOfList(listValue)
  3555  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_message":
  3556  		if len(x.RepeatedForeignMessage) == 0 {
  3557  			return protoreflect.ValueOfList(&_TestAllTypes_49_list{})
  3558  		}
  3559  		listValue := &_TestAllTypes_49_list{list: &x.RepeatedForeignMessage}
  3560  		return protoreflect.ValueOfList(listValue)
  3561  	case "goproto.proto.test3.TestAllTypes.repeated_importmessage":
  3562  		if len(x.RepeatedImportmessage) == 0 {
  3563  			return protoreflect.ValueOfList(&_TestAllTypes_50_list{})
  3564  		}
  3565  		listValue := &_TestAllTypes_50_list{list: &x.RepeatedImportmessage}
  3566  		return protoreflect.ValueOfList(listValue)
  3567  	case "goproto.proto.test3.TestAllTypes.repeated_nested_enum":
  3568  		if len(x.RepeatedNestedEnum) == 0 {
  3569  			return protoreflect.ValueOfList(&_TestAllTypes_51_list{})
  3570  		}
  3571  		listValue := &_TestAllTypes_51_list{list: &x.RepeatedNestedEnum}
  3572  		return protoreflect.ValueOfList(listValue)
  3573  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_enum":
  3574  		if len(x.RepeatedForeignEnum) == 0 {
  3575  			return protoreflect.ValueOfList(&_TestAllTypes_52_list{})
  3576  		}
  3577  		listValue := &_TestAllTypes_52_list{list: &x.RepeatedForeignEnum}
  3578  		return protoreflect.ValueOfList(listValue)
  3579  	case "goproto.proto.test3.TestAllTypes.repeated_importenum":
  3580  		if len(x.RepeatedImportenum) == 0 {
  3581  			return protoreflect.ValueOfList(&_TestAllTypes_53_list{})
  3582  		}
  3583  		listValue := &_TestAllTypes_53_list{list: &x.RepeatedImportenum}
  3584  		return protoreflect.ValueOfList(listValue)
  3585  	case "goproto.proto.test3.TestAllTypes.map_int32_int32":
  3586  		if len(x.MapInt32Int32) == 0 {
  3587  			return protoreflect.ValueOfMap(&_TestAllTypes_56_map{})
  3588  		}
  3589  		mapValue := &_TestAllTypes_56_map{m: &x.MapInt32Int32}
  3590  		return protoreflect.ValueOfMap(mapValue)
  3591  	case "goproto.proto.test3.TestAllTypes.map_int64_int64":
  3592  		if len(x.MapInt64Int64) == 0 {
  3593  			return protoreflect.ValueOfMap(&_TestAllTypes_57_map{})
  3594  		}
  3595  		mapValue := &_TestAllTypes_57_map{m: &x.MapInt64Int64}
  3596  		return protoreflect.ValueOfMap(mapValue)
  3597  	case "goproto.proto.test3.TestAllTypes.map_uint32_uint32":
  3598  		if len(x.MapUint32Uint32) == 0 {
  3599  			return protoreflect.ValueOfMap(&_TestAllTypes_58_map{})
  3600  		}
  3601  		mapValue := &_TestAllTypes_58_map{m: &x.MapUint32Uint32}
  3602  		return protoreflect.ValueOfMap(mapValue)
  3603  	case "goproto.proto.test3.TestAllTypes.map_uint64_uint64":
  3604  		if len(x.MapUint64Uint64) == 0 {
  3605  			return protoreflect.ValueOfMap(&_TestAllTypes_59_map{})
  3606  		}
  3607  		mapValue := &_TestAllTypes_59_map{m: &x.MapUint64Uint64}
  3608  		return protoreflect.ValueOfMap(mapValue)
  3609  	case "goproto.proto.test3.TestAllTypes.map_sint32_sint32":
  3610  		if len(x.MapSint32Sint32) == 0 {
  3611  			return protoreflect.ValueOfMap(&_TestAllTypes_60_map{})
  3612  		}
  3613  		mapValue := &_TestAllTypes_60_map{m: &x.MapSint32Sint32}
  3614  		return protoreflect.ValueOfMap(mapValue)
  3615  	case "goproto.proto.test3.TestAllTypes.map_sint64_sint64":
  3616  		if len(x.MapSint64Sint64) == 0 {
  3617  			return protoreflect.ValueOfMap(&_TestAllTypes_61_map{})
  3618  		}
  3619  		mapValue := &_TestAllTypes_61_map{m: &x.MapSint64Sint64}
  3620  		return protoreflect.ValueOfMap(mapValue)
  3621  	case "goproto.proto.test3.TestAllTypes.map_fixed32_fixed32":
  3622  		if len(x.MapFixed32Fixed32) == 0 {
  3623  			return protoreflect.ValueOfMap(&_TestAllTypes_62_map{})
  3624  		}
  3625  		mapValue := &_TestAllTypes_62_map{m: &x.MapFixed32Fixed32}
  3626  		return protoreflect.ValueOfMap(mapValue)
  3627  	case "goproto.proto.test3.TestAllTypes.map_fixed64_fixed64":
  3628  		if len(x.MapFixed64Fixed64) == 0 {
  3629  			return protoreflect.ValueOfMap(&_TestAllTypes_63_map{})
  3630  		}
  3631  		mapValue := &_TestAllTypes_63_map{m: &x.MapFixed64Fixed64}
  3632  		return protoreflect.ValueOfMap(mapValue)
  3633  	case "goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32":
  3634  		if len(x.MapSfixed32Sfixed32) == 0 {
  3635  			return protoreflect.ValueOfMap(&_TestAllTypes_64_map{})
  3636  		}
  3637  		mapValue := &_TestAllTypes_64_map{m: &x.MapSfixed32Sfixed32}
  3638  		return protoreflect.ValueOfMap(mapValue)
  3639  	case "goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64":
  3640  		if len(x.MapSfixed64Sfixed64) == 0 {
  3641  			return protoreflect.ValueOfMap(&_TestAllTypes_65_map{})
  3642  		}
  3643  		mapValue := &_TestAllTypes_65_map{m: &x.MapSfixed64Sfixed64}
  3644  		return protoreflect.ValueOfMap(mapValue)
  3645  	case "goproto.proto.test3.TestAllTypes.map_int32_float":
  3646  		if len(x.MapInt32Float) == 0 {
  3647  			return protoreflect.ValueOfMap(&_TestAllTypes_66_map{})
  3648  		}
  3649  		mapValue := &_TestAllTypes_66_map{m: &x.MapInt32Float}
  3650  		return protoreflect.ValueOfMap(mapValue)
  3651  	case "goproto.proto.test3.TestAllTypes.map_int32_double":
  3652  		if len(x.MapInt32Double) == 0 {
  3653  			return protoreflect.ValueOfMap(&_TestAllTypes_67_map{})
  3654  		}
  3655  		mapValue := &_TestAllTypes_67_map{m: &x.MapInt32Double}
  3656  		return protoreflect.ValueOfMap(mapValue)
  3657  	case "goproto.proto.test3.TestAllTypes.map_bool_bool":
  3658  		if len(x.MapBoolBool) == 0 {
  3659  			return protoreflect.ValueOfMap(&_TestAllTypes_68_map{})
  3660  		}
  3661  		mapValue := &_TestAllTypes_68_map{m: &x.MapBoolBool}
  3662  		return protoreflect.ValueOfMap(mapValue)
  3663  	case "goproto.proto.test3.TestAllTypes.map_string_string":
  3664  		if len(x.MapStringString) == 0 {
  3665  			return protoreflect.ValueOfMap(&_TestAllTypes_69_map{})
  3666  		}
  3667  		mapValue := &_TestAllTypes_69_map{m: &x.MapStringString}
  3668  		return protoreflect.ValueOfMap(mapValue)
  3669  	case "goproto.proto.test3.TestAllTypes.map_string_bytes":
  3670  		if len(x.MapStringBytes) == 0 {
  3671  			return protoreflect.ValueOfMap(&_TestAllTypes_70_map{})
  3672  		}
  3673  		mapValue := &_TestAllTypes_70_map{m: &x.MapStringBytes}
  3674  		return protoreflect.ValueOfMap(mapValue)
  3675  	case "goproto.proto.test3.TestAllTypes.map_string_nested_message":
  3676  		if len(x.MapStringNestedMessage) == 0 {
  3677  			return protoreflect.ValueOfMap(&_TestAllTypes_71_map{})
  3678  		}
  3679  		mapValue := &_TestAllTypes_71_map{m: &x.MapStringNestedMessage}
  3680  		return protoreflect.ValueOfMap(mapValue)
  3681  	case "goproto.proto.test3.TestAllTypes.map_string_nested_enum":
  3682  		if len(x.MapStringNestedEnum) == 0 {
  3683  			return protoreflect.ValueOfMap(&_TestAllTypes_73_map{})
  3684  		}
  3685  		mapValue := &_TestAllTypes_73_map{m: &x.MapStringNestedEnum}
  3686  		return protoreflect.ValueOfMap(mapValue)
  3687  	case "goproto.proto.test3.TestAllTypes.oneof_uint32":
  3688  		if x.OneofField == nil {
  3689  			return protoreflect.ValueOfUint32(uint32(0))
  3690  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok {
  3691  			return protoreflect.ValueOfUint32(v.OneofUint32)
  3692  		} else {
  3693  			return protoreflect.ValueOfUint32(uint32(0))
  3694  		}
  3695  	case "goproto.proto.test3.TestAllTypes.oneof_nested_message":
  3696  		if x.OneofField == nil {
  3697  			return protoreflect.ValueOfMessage((*TestAllTypes_NestedMessage)(nil).ProtoReflect())
  3698  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok {
  3699  			return protoreflect.ValueOfMessage(v.OneofNestedMessage.ProtoReflect())
  3700  		} else {
  3701  			return protoreflect.ValueOfMessage((*TestAllTypes_NestedMessage)(nil).ProtoReflect())
  3702  		}
  3703  	case "goproto.proto.test3.TestAllTypes.oneof_string":
  3704  		if x.OneofField == nil {
  3705  			return protoreflect.ValueOfString("")
  3706  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofString); ok {
  3707  			return protoreflect.ValueOfString(v.OneofString)
  3708  		} else {
  3709  			return protoreflect.ValueOfString("")
  3710  		}
  3711  	case "goproto.proto.test3.TestAllTypes.oneof_bytes":
  3712  		if x.OneofField == nil {
  3713  			return protoreflect.ValueOfBytes(nil)
  3714  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok {
  3715  			return protoreflect.ValueOfBytes(v.OneofBytes)
  3716  		} else {
  3717  			return protoreflect.ValueOfBytes(nil)
  3718  		}
  3719  	case "goproto.proto.test3.TestAllTypes.oneof_bool":
  3720  		if x.OneofField == nil {
  3721  			return protoreflect.ValueOfBool(false)
  3722  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofBool); ok {
  3723  			return protoreflect.ValueOfBool(v.OneofBool)
  3724  		} else {
  3725  			return protoreflect.ValueOfBool(false)
  3726  		}
  3727  	case "goproto.proto.test3.TestAllTypes.oneof_uint64":
  3728  		if x.OneofField == nil {
  3729  			return protoreflect.ValueOfUint64(uint64(0))
  3730  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok {
  3731  			return protoreflect.ValueOfUint64(v.OneofUint64)
  3732  		} else {
  3733  			return protoreflect.ValueOfUint64(uint64(0))
  3734  		}
  3735  	case "goproto.proto.test3.TestAllTypes.oneof_float":
  3736  		if x.OneofField == nil {
  3737  			return protoreflect.ValueOfFloat32(float32(0))
  3738  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok {
  3739  			return protoreflect.ValueOfFloat32(v.OneofFloat)
  3740  		} else {
  3741  			return protoreflect.ValueOfFloat32(float32(0))
  3742  		}
  3743  	case "goproto.proto.test3.TestAllTypes.oneof_double":
  3744  		if x.OneofField == nil {
  3745  			return protoreflect.ValueOfFloat64(float64(0))
  3746  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok {
  3747  			return protoreflect.ValueOfFloat64(v.OneofDouble)
  3748  		} else {
  3749  			return protoreflect.ValueOfFloat64(float64(0))
  3750  		}
  3751  	case "goproto.proto.test3.TestAllTypes.oneof_enum":
  3752  		if x.OneofField == nil {
  3753  			return protoreflect.ValueOfEnum(0)
  3754  		} else if v, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok {
  3755  			return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(v.OneofEnum))
  3756  		} else {
  3757  			return protoreflect.ValueOfEnum(0)
  3758  		}
  3759  	default:
  3760  		if descriptor.IsExtension() {
  3761  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes"))
  3762  		}
  3763  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes does not contain field %s", descriptor.FullName()))
  3764  	}
  3765  }
  3766  
  3767  // Set stores the value for a field.
  3768  //
  3769  // For a field belonging to a oneof, it implicitly clears any other field
  3770  // that may be currently set within the same oneof.
  3771  // For extension fields, it implicitly stores the provided ExtensionType.
  3772  // When setting a composite type, it is unspecified whether the stored value
  3773  // aliases the source's memory in any way. If the composite value is an
  3774  // empty, read-only value, then it panics.
  3775  //
  3776  // Set is a mutating operation and unsafe for concurrent use.
  3777  func (x *fastReflection_TestAllTypes) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
  3778  	switch fd.FullName() {
  3779  	case "goproto.proto.test3.TestAllTypes.singular_int32":
  3780  		x.SingularInt32 = int32(value.Int())
  3781  	case "goproto.proto.test3.TestAllTypes.singular_int64":
  3782  		x.SingularInt64 = value.Int()
  3783  	case "goproto.proto.test3.TestAllTypes.singular_uint32":
  3784  		x.SingularUint32 = uint32(value.Uint())
  3785  	case "goproto.proto.test3.TestAllTypes.singular_uint64":
  3786  		x.SingularUint64 = value.Uint()
  3787  	case "goproto.proto.test3.TestAllTypes.singular_sint32":
  3788  		x.SingularSint32 = int32(value.Int())
  3789  	case "goproto.proto.test3.TestAllTypes.singular_sint64":
  3790  		x.SingularSint64 = value.Int()
  3791  	case "goproto.proto.test3.TestAllTypes.singular_fixed32":
  3792  		x.SingularFixed32 = uint32(value.Uint())
  3793  	case "goproto.proto.test3.TestAllTypes.singular_fixed64":
  3794  		x.SingularFixed64 = value.Uint()
  3795  	case "goproto.proto.test3.TestAllTypes.singular_sfixed32":
  3796  		x.SingularSfixed32 = int32(value.Int())
  3797  	case "goproto.proto.test3.TestAllTypes.singular_sfixed64":
  3798  		x.SingularSfixed64 = value.Int()
  3799  	case "goproto.proto.test3.TestAllTypes.singular_float":
  3800  		x.SingularFloat = float32(value.Float())
  3801  	case "goproto.proto.test3.TestAllTypes.singular_double":
  3802  		x.SingularDouble = value.Float()
  3803  	case "goproto.proto.test3.TestAllTypes.singular_bool":
  3804  		x.SingularBool = value.Bool()
  3805  	case "goproto.proto.test3.TestAllTypes.singular_string":
  3806  		x.SingularString = value.Interface().(string)
  3807  	case "goproto.proto.test3.TestAllTypes.singular_bytes":
  3808  		x.SingularBytes = value.Bytes()
  3809  	case "goproto.proto.test3.TestAllTypes.singular_nested_message":
  3810  		x.SingularNestedMessage = value.Message().Interface().(*TestAllTypes_NestedMessage)
  3811  	case "goproto.proto.test3.TestAllTypes.singular_foreign_message":
  3812  		x.SingularForeignMessage = value.Message().Interface().(*ForeignMessage)
  3813  	case "goproto.proto.test3.TestAllTypes.singular_import_message":
  3814  		x.SingularImportMessage = value.Message().Interface().(*ImportMessage)
  3815  	case "goproto.proto.test3.TestAllTypes.singular_nested_enum":
  3816  		x.SingularNestedEnum = (TestAllTypes_NestedEnum)(value.Enum())
  3817  	case "goproto.proto.test3.TestAllTypes.singular_foreign_enum":
  3818  		x.SingularForeignEnum = (ForeignEnum)(value.Enum())
  3819  	case "goproto.proto.test3.TestAllTypes.singular_import_enum":
  3820  		x.SingularImportEnum = (ImportEnum)(value.Enum())
  3821  	case "goproto.proto.test3.TestAllTypes.repeated_int32":
  3822  		lv := value.List()
  3823  		clv := lv.(*_TestAllTypes_31_list)
  3824  		x.RepeatedInt32 = *clv.list
  3825  	case "goproto.proto.test3.TestAllTypes.repeated_int64":
  3826  		lv := value.List()
  3827  		clv := lv.(*_TestAllTypes_32_list)
  3828  		x.RepeatedInt64 = *clv.list
  3829  	case "goproto.proto.test3.TestAllTypes.repeated_uint32":
  3830  		lv := value.List()
  3831  		clv := lv.(*_TestAllTypes_33_list)
  3832  		x.RepeatedUint32 = *clv.list
  3833  	case "goproto.proto.test3.TestAllTypes.repeated_uint64":
  3834  		lv := value.List()
  3835  		clv := lv.(*_TestAllTypes_34_list)
  3836  		x.RepeatedUint64 = *clv.list
  3837  	case "goproto.proto.test3.TestAllTypes.repeated_sint32":
  3838  		lv := value.List()
  3839  		clv := lv.(*_TestAllTypes_35_list)
  3840  		x.RepeatedSint32 = *clv.list
  3841  	case "goproto.proto.test3.TestAllTypes.repeated_sint64":
  3842  		lv := value.List()
  3843  		clv := lv.(*_TestAllTypes_36_list)
  3844  		x.RepeatedSint64 = *clv.list
  3845  	case "goproto.proto.test3.TestAllTypes.repeated_fixed32":
  3846  		lv := value.List()
  3847  		clv := lv.(*_TestAllTypes_37_list)
  3848  		x.RepeatedFixed32 = *clv.list
  3849  	case "goproto.proto.test3.TestAllTypes.repeated_fixed64":
  3850  		lv := value.List()
  3851  		clv := lv.(*_TestAllTypes_38_list)
  3852  		x.RepeatedFixed64 = *clv.list
  3853  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed32":
  3854  		lv := value.List()
  3855  		clv := lv.(*_TestAllTypes_39_list)
  3856  		x.RepeatedSfixed32 = *clv.list
  3857  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed64":
  3858  		lv := value.List()
  3859  		clv := lv.(*_TestAllTypes_40_list)
  3860  		x.RepeatedSfixed64 = *clv.list
  3861  	case "goproto.proto.test3.TestAllTypes.repeated_float":
  3862  		lv := value.List()
  3863  		clv := lv.(*_TestAllTypes_41_list)
  3864  		x.RepeatedFloat = *clv.list
  3865  	case "goproto.proto.test3.TestAllTypes.repeated_double":
  3866  		lv := value.List()
  3867  		clv := lv.(*_TestAllTypes_42_list)
  3868  		x.RepeatedDouble = *clv.list
  3869  	case "goproto.proto.test3.TestAllTypes.repeated_bool":
  3870  		lv := value.List()
  3871  		clv := lv.(*_TestAllTypes_43_list)
  3872  		x.RepeatedBool = *clv.list
  3873  	case "goproto.proto.test3.TestAllTypes.repeated_string":
  3874  		lv := value.List()
  3875  		clv := lv.(*_TestAllTypes_44_list)
  3876  		x.RepeatedString = *clv.list
  3877  	case "goproto.proto.test3.TestAllTypes.repeated_bytes":
  3878  		lv := value.List()
  3879  		clv := lv.(*_TestAllTypes_45_list)
  3880  		x.RepeatedBytes = *clv.list
  3881  	case "goproto.proto.test3.TestAllTypes.repeated_nested_message":
  3882  		lv := value.List()
  3883  		clv := lv.(*_TestAllTypes_48_list)
  3884  		x.RepeatedNestedMessage = *clv.list
  3885  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_message":
  3886  		lv := value.List()
  3887  		clv := lv.(*_TestAllTypes_49_list)
  3888  		x.RepeatedForeignMessage = *clv.list
  3889  	case "goproto.proto.test3.TestAllTypes.repeated_importmessage":
  3890  		lv := value.List()
  3891  		clv := lv.(*_TestAllTypes_50_list)
  3892  		x.RepeatedImportmessage = *clv.list
  3893  	case "goproto.proto.test3.TestAllTypes.repeated_nested_enum":
  3894  		lv := value.List()
  3895  		clv := lv.(*_TestAllTypes_51_list)
  3896  		x.RepeatedNestedEnum = *clv.list
  3897  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_enum":
  3898  		lv := value.List()
  3899  		clv := lv.(*_TestAllTypes_52_list)
  3900  		x.RepeatedForeignEnum = *clv.list
  3901  	case "goproto.proto.test3.TestAllTypes.repeated_importenum":
  3902  		lv := value.List()
  3903  		clv := lv.(*_TestAllTypes_53_list)
  3904  		x.RepeatedImportenum = *clv.list
  3905  	case "goproto.proto.test3.TestAllTypes.map_int32_int32":
  3906  		mv := value.Map()
  3907  		cmv := mv.(*_TestAllTypes_56_map)
  3908  		x.MapInt32Int32 = *cmv.m
  3909  	case "goproto.proto.test3.TestAllTypes.map_int64_int64":
  3910  		mv := value.Map()
  3911  		cmv := mv.(*_TestAllTypes_57_map)
  3912  		x.MapInt64Int64 = *cmv.m
  3913  	case "goproto.proto.test3.TestAllTypes.map_uint32_uint32":
  3914  		mv := value.Map()
  3915  		cmv := mv.(*_TestAllTypes_58_map)
  3916  		x.MapUint32Uint32 = *cmv.m
  3917  	case "goproto.proto.test3.TestAllTypes.map_uint64_uint64":
  3918  		mv := value.Map()
  3919  		cmv := mv.(*_TestAllTypes_59_map)
  3920  		x.MapUint64Uint64 = *cmv.m
  3921  	case "goproto.proto.test3.TestAllTypes.map_sint32_sint32":
  3922  		mv := value.Map()
  3923  		cmv := mv.(*_TestAllTypes_60_map)
  3924  		x.MapSint32Sint32 = *cmv.m
  3925  	case "goproto.proto.test3.TestAllTypes.map_sint64_sint64":
  3926  		mv := value.Map()
  3927  		cmv := mv.(*_TestAllTypes_61_map)
  3928  		x.MapSint64Sint64 = *cmv.m
  3929  	case "goproto.proto.test3.TestAllTypes.map_fixed32_fixed32":
  3930  		mv := value.Map()
  3931  		cmv := mv.(*_TestAllTypes_62_map)
  3932  		x.MapFixed32Fixed32 = *cmv.m
  3933  	case "goproto.proto.test3.TestAllTypes.map_fixed64_fixed64":
  3934  		mv := value.Map()
  3935  		cmv := mv.(*_TestAllTypes_63_map)
  3936  		x.MapFixed64Fixed64 = *cmv.m
  3937  	case "goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32":
  3938  		mv := value.Map()
  3939  		cmv := mv.(*_TestAllTypes_64_map)
  3940  		x.MapSfixed32Sfixed32 = *cmv.m
  3941  	case "goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64":
  3942  		mv := value.Map()
  3943  		cmv := mv.(*_TestAllTypes_65_map)
  3944  		x.MapSfixed64Sfixed64 = *cmv.m
  3945  	case "goproto.proto.test3.TestAllTypes.map_int32_float":
  3946  		mv := value.Map()
  3947  		cmv := mv.(*_TestAllTypes_66_map)
  3948  		x.MapInt32Float = *cmv.m
  3949  	case "goproto.proto.test3.TestAllTypes.map_int32_double":
  3950  		mv := value.Map()
  3951  		cmv := mv.(*_TestAllTypes_67_map)
  3952  		x.MapInt32Double = *cmv.m
  3953  	case "goproto.proto.test3.TestAllTypes.map_bool_bool":
  3954  		mv := value.Map()
  3955  		cmv := mv.(*_TestAllTypes_68_map)
  3956  		x.MapBoolBool = *cmv.m
  3957  	case "goproto.proto.test3.TestAllTypes.map_string_string":
  3958  		mv := value.Map()
  3959  		cmv := mv.(*_TestAllTypes_69_map)
  3960  		x.MapStringString = *cmv.m
  3961  	case "goproto.proto.test3.TestAllTypes.map_string_bytes":
  3962  		mv := value.Map()
  3963  		cmv := mv.(*_TestAllTypes_70_map)
  3964  		x.MapStringBytes = *cmv.m
  3965  	case "goproto.proto.test3.TestAllTypes.map_string_nested_message":
  3966  		mv := value.Map()
  3967  		cmv := mv.(*_TestAllTypes_71_map)
  3968  		x.MapStringNestedMessage = *cmv.m
  3969  	case "goproto.proto.test3.TestAllTypes.map_string_nested_enum":
  3970  		mv := value.Map()
  3971  		cmv := mv.(*_TestAllTypes_73_map)
  3972  		x.MapStringNestedEnum = *cmv.m
  3973  	case "goproto.proto.test3.TestAllTypes.oneof_uint32":
  3974  		cv := uint32(value.Uint())
  3975  		x.OneofField = &TestAllTypes_OneofUint32{OneofUint32: cv}
  3976  	case "goproto.proto.test3.TestAllTypes.oneof_nested_message":
  3977  		cv := value.Message().Interface().(*TestAllTypes_NestedMessage)
  3978  		x.OneofField = &TestAllTypes_OneofNestedMessage{OneofNestedMessage: cv}
  3979  	case "goproto.proto.test3.TestAllTypes.oneof_string":
  3980  		cv := value.Interface().(string)
  3981  		x.OneofField = &TestAllTypes_OneofString{OneofString: cv}
  3982  	case "goproto.proto.test3.TestAllTypes.oneof_bytes":
  3983  		cv := value.Bytes()
  3984  		x.OneofField = &TestAllTypes_OneofBytes{OneofBytes: cv}
  3985  	case "goproto.proto.test3.TestAllTypes.oneof_bool":
  3986  		cv := value.Bool()
  3987  		x.OneofField = &TestAllTypes_OneofBool{OneofBool: cv}
  3988  	case "goproto.proto.test3.TestAllTypes.oneof_uint64":
  3989  		cv := value.Uint()
  3990  		x.OneofField = &TestAllTypes_OneofUint64{OneofUint64: cv}
  3991  	case "goproto.proto.test3.TestAllTypes.oneof_float":
  3992  		cv := float32(value.Float())
  3993  		x.OneofField = &TestAllTypes_OneofFloat{OneofFloat: cv}
  3994  	case "goproto.proto.test3.TestAllTypes.oneof_double":
  3995  		cv := value.Float()
  3996  		x.OneofField = &TestAllTypes_OneofDouble{OneofDouble: cv}
  3997  	case "goproto.proto.test3.TestAllTypes.oneof_enum":
  3998  		cv := (TestAllTypes_NestedEnum)(value.Enum())
  3999  		x.OneofField = &TestAllTypes_OneofEnum{OneofEnum: cv}
  4000  	default:
  4001  		if fd.IsExtension() {
  4002  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes"))
  4003  		}
  4004  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes does not contain field %s", fd.FullName()))
  4005  	}
  4006  }
  4007  
  4008  // Mutable returns a mutable reference to a composite type.
  4009  //
  4010  // If the field is unpopulated, it may allocate a composite value.
  4011  // For a field belonging to a oneof, it implicitly clears any other field
  4012  // that may be currently set within the same oneof.
  4013  // For extension fields, it implicitly stores the provided ExtensionType
  4014  // if not already stored.
  4015  // It panics if the field does not contain a composite type.
  4016  //
  4017  // Mutable is a mutating operation and unsafe for concurrent use.
  4018  func (x *fastReflection_TestAllTypes) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
  4019  	switch fd.FullName() {
  4020  	case "goproto.proto.test3.TestAllTypes.singular_nested_message":
  4021  		if x.SingularNestedMessage == nil {
  4022  			x.SingularNestedMessage = new(TestAllTypes_NestedMessage)
  4023  		}
  4024  		return protoreflect.ValueOfMessage(x.SingularNestedMessage.ProtoReflect())
  4025  	case "goproto.proto.test3.TestAllTypes.singular_foreign_message":
  4026  		if x.SingularForeignMessage == nil {
  4027  			x.SingularForeignMessage = new(ForeignMessage)
  4028  		}
  4029  		return protoreflect.ValueOfMessage(x.SingularForeignMessage.ProtoReflect())
  4030  	case "goproto.proto.test3.TestAllTypes.singular_import_message":
  4031  		if x.SingularImportMessage == nil {
  4032  			x.SingularImportMessage = new(ImportMessage)
  4033  		}
  4034  		return protoreflect.ValueOfMessage(x.SingularImportMessage.ProtoReflect())
  4035  	case "goproto.proto.test3.TestAllTypes.repeated_int32":
  4036  		if x.RepeatedInt32 == nil {
  4037  			x.RepeatedInt32 = []int32{}
  4038  		}
  4039  		value := &_TestAllTypes_31_list{list: &x.RepeatedInt32}
  4040  		return protoreflect.ValueOfList(value)
  4041  	case "goproto.proto.test3.TestAllTypes.repeated_int64":
  4042  		if x.RepeatedInt64 == nil {
  4043  			x.RepeatedInt64 = []int64{}
  4044  		}
  4045  		value := &_TestAllTypes_32_list{list: &x.RepeatedInt64}
  4046  		return protoreflect.ValueOfList(value)
  4047  	case "goproto.proto.test3.TestAllTypes.repeated_uint32":
  4048  		if x.RepeatedUint32 == nil {
  4049  			x.RepeatedUint32 = []uint32{}
  4050  		}
  4051  		value := &_TestAllTypes_33_list{list: &x.RepeatedUint32}
  4052  		return protoreflect.ValueOfList(value)
  4053  	case "goproto.proto.test3.TestAllTypes.repeated_uint64":
  4054  		if x.RepeatedUint64 == nil {
  4055  			x.RepeatedUint64 = []uint64{}
  4056  		}
  4057  		value := &_TestAllTypes_34_list{list: &x.RepeatedUint64}
  4058  		return protoreflect.ValueOfList(value)
  4059  	case "goproto.proto.test3.TestAllTypes.repeated_sint32":
  4060  		if x.RepeatedSint32 == nil {
  4061  			x.RepeatedSint32 = []int32{}
  4062  		}
  4063  		value := &_TestAllTypes_35_list{list: &x.RepeatedSint32}
  4064  		return protoreflect.ValueOfList(value)
  4065  	case "goproto.proto.test3.TestAllTypes.repeated_sint64":
  4066  		if x.RepeatedSint64 == nil {
  4067  			x.RepeatedSint64 = []int64{}
  4068  		}
  4069  		value := &_TestAllTypes_36_list{list: &x.RepeatedSint64}
  4070  		return protoreflect.ValueOfList(value)
  4071  	case "goproto.proto.test3.TestAllTypes.repeated_fixed32":
  4072  		if x.RepeatedFixed32 == nil {
  4073  			x.RepeatedFixed32 = []uint32{}
  4074  		}
  4075  		value := &_TestAllTypes_37_list{list: &x.RepeatedFixed32}
  4076  		return protoreflect.ValueOfList(value)
  4077  	case "goproto.proto.test3.TestAllTypes.repeated_fixed64":
  4078  		if x.RepeatedFixed64 == nil {
  4079  			x.RepeatedFixed64 = []uint64{}
  4080  		}
  4081  		value := &_TestAllTypes_38_list{list: &x.RepeatedFixed64}
  4082  		return protoreflect.ValueOfList(value)
  4083  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed32":
  4084  		if x.RepeatedSfixed32 == nil {
  4085  			x.RepeatedSfixed32 = []int32{}
  4086  		}
  4087  		value := &_TestAllTypes_39_list{list: &x.RepeatedSfixed32}
  4088  		return protoreflect.ValueOfList(value)
  4089  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed64":
  4090  		if x.RepeatedSfixed64 == nil {
  4091  			x.RepeatedSfixed64 = []int64{}
  4092  		}
  4093  		value := &_TestAllTypes_40_list{list: &x.RepeatedSfixed64}
  4094  		return protoreflect.ValueOfList(value)
  4095  	case "goproto.proto.test3.TestAllTypes.repeated_float":
  4096  		if x.RepeatedFloat == nil {
  4097  			x.RepeatedFloat = []float32{}
  4098  		}
  4099  		value := &_TestAllTypes_41_list{list: &x.RepeatedFloat}
  4100  		return protoreflect.ValueOfList(value)
  4101  	case "goproto.proto.test3.TestAllTypes.repeated_double":
  4102  		if x.RepeatedDouble == nil {
  4103  			x.RepeatedDouble = []float64{}
  4104  		}
  4105  		value := &_TestAllTypes_42_list{list: &x.RepeatedDouble}
  4106  		return protoreflect.ValueOfList(value)
  4107  	case "goproto.proto.test3.TestAllTypes.repeated_bool":
  4108  		if x.RepeatedBool == nil {
  4109  			x.RepeatedBool = []bool{}
  4110  		}
  4111  		value := &_TestAllTypes_43_list{list: &x.RepeatedBool}
  4112  		return protoreflect.ValueOfList(value)
  4113  	case "goproto.proto.test3.TestAllTypes.repeated_string":
  4114  		if x.RepeatedString == nil {
  4115  			x.RepeatedString = []string{}
  4116  		}
  4117  		value := &_TestAllTypes_44_list{list: &x.RepeatedString}
  4118  		return protoreflect.ValueOfList(value)
  4119  	case "goproto.proto.test3.TestAllTypes.repeated_bytes":
  4120  		if x.RepeatedBytes == nil {
  4121  			x.RepeatedBytes = [][]byte{}
  4122  		}
  4123  		value := &_TestAllTypes_45_list{list: &x.RepeatedBytes}
  4124  		return protoreflect.ValueOfList(value)
  4125  	case "goproto.proto.test3.TestAllTypes.repeated_nested_message":
  4126  		if x.RepeatedNestedMessage == nil {
  4127  			x.RepeatedNestedMessage = []*TestAllTypes_NestedMessage{}
  4128  		}
  4129  		value := &_TestAllTypes_48_list{list: &x.RepeatedNestedMessage}
  4130  		return protoreflect.ValueOfList(value)
  4131  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_message":
  4132  		if x.RepeatedForeignMessage == nil {
  4133  			x.RepeatedForeignMessage = []*ForeignMessage{}
  4134  		}
  4135  		value := &_TestAllTypes_49_list{list: &x.RepeatedForeignMessage}
  4136  		return protoreflect.ValueOfList(value)
  4137  	case "goproto.proto.test3.TestAllTypes.repeated_importmessage":
  4138  		if x.RepeatedImportmessage == nil {
  4139  			x.RepeatedImportmessage = []*ImportMessage{}
  4140  		}
  4141  		value := &_TestAllTypes_50_list{list: &x.RepeatedImportmessage}
  4142  		return protoreflect.ValueOfList(value)
  4143  	case "goproto.proto.test3.TestAllTypes.repeated_nested_enum":
  4144  		if x.RepeatedNestedEnum == nil {
  4145  			x.RepeatedNestedEnum = []TestAllTypes_NestedEnum{}
  4146  		}
  4147  		value := &_TestAllTypes_51_list{list: &x.RepeatedNestedEnum}
  4148  		return protoreflect.ValueOfList(value)
  4149  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_enum":
  4150  		if x.RepeatedForeignEnum == nil {
  4151  			x.RepeatedForeignEnum = []ForeignEnum{}
  4152  		}
  4153  		value := &_TestAllTypes_52_list{list: &x.RepeatedForeignEnum}
  4154  		return protoreflect.ValueOfList(value)
  4155  	case "goproto.proto.test3.TestAllTypes.repeated_importenum":
  4156  		if x.RepeatedImportenum == nil {
  4157  			x.RepeatedImportenum = []ImportEnum{}
  4158  		}
  4159  		value := &_TestAllTypes_53_list{list: &x.RepeatedImportenum}
  4160  		return protoreflect.ValueOfList(value)
  4161  	case "goproto.proto.test3.TestAllTypes.map_int32_int32":
  4162  		if x.MapInt32Int32 == nil {
  4163  			x.MapInt32Int32 = make(map[int32]int32)
  4164  		}
  4165  		value := &_TestAllTypes_56_map{m: &x.MapInt32Int32}
  4166  		return protoreflect.ValueOfMap(value)
  4167  	case "goproto.proto.test3.TestAllTypes.map_int64_int64":
  4168  		if x.MapInt64Int64 == nil {
  4169  			x.MapInt64Int64 = make(map[int64]int64)
  4170  		}
  4171  		value := &_TestAllTypes_57_map{m: &x.MapInt64Int64}
  4172  		return protoreflect.ValueOfMap(value)
  4173  	case "goproto.proto.test3.TestAllTypes.map_uint32_uint32":
  4174  		if x.MapUint32Uint32 == nil {
  4175  			x.MapUint32Uint32 = make(map[uint32]uint32)
  4176  		}
  4177  		value := &_TestAllTypes_58_map{m: &x.MapUint32Uint32}
  4178  		return protoreflect.ValueOfMap(value)
  4179  	case "goproto.proto.test3.TestAllTypes.map_uint64_uint64":
  4180  		if x.MapUint64Uint64 == nil {
  4181  			x.MapUint64Uint64 = make(map[uint64]uint64)
  4182  		}
  4183  		value := &_TestAllTypes_59_map{m: &x.MapUint64Uint64}
  4184  		return protoreflect.ValueOfMap(value)
  4185  	case "goproto.proto.test3.TestAllTypes.map_sint32_sint32":
  4186  		if x.MapSint32Sint32 == nil {
  4187  			x.MapSint32Sint32 = make(map[int32]int32)
  4188  		}
  4189  		value := &_TestAllTypes_60_map{m: &x.MapSint32Sint32}
  4190  		return protoreflect.ValueOfMap(value)
  4191  	case "goproto.proto.test3.TestAllTypes.map_sint64_sint64":
  4192  		if x.MapSint64Sint64 == nil {
  4193  			x.MapSint64Sint64 = make(map[int64]int64)
  4194  		}
  4195  		value := &_TestAllTypes_61_map{m: &x.MapSint64Sint64}
  4196  		return protoreflect.ValueOfMap(value)
  4197  	case "goproto.proto.test3.TestAllTypes.map_fixed32_fixed32":
  4198  		if x.MapFixed32Fixed32 == nil {
  4199  			x.MapFixed32Fixed32 = make(map[uint32]uint32)
  4200  		}
  4201  		value := &_TestAllTypes_62_map{m: &x.MapFixed32Fixed32}
  4202  		return protoreflect.ValueOfMap(value)
  4203  	case "goproto.proto.test3.TestAllTypes.map_fixed64_fixed64":
  4204  		if x.MapFixed64Fixed64 == nil {
  4205  			x.MapFixed64Fixed64 = make(map[uint64]uint64)
  4206  		}
  4207  		value := &_TestAllTypes_63_map{m: &x.MapFixed64Fixed64}
  4208  		return protoreflect.ValueOfMap(value)
  4209  	case "goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32":
  4210  		if x.MapSfixed32Sfixed32 == nil {
  4211  			x.MapSfixed32Sfixed32 = make(map[int32]int32)
  4212  		}
  4213  		value := &_TestAllTypes_64_map{m: &x.MapSfixed32Sfixed32}
  4214  		return protoreflect.ValueOfMap(value)
  4215  	case "goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64":
  4216  		if x.MapSfixed64Sfixed64 == nil {
  4217  			x.MapSfixed64Sfixed64 = make(map[int64]int64)
  4218  		}
  4219  		value := &_TestAllTypes_65_map{m: &x.MapSfixed64Sfixed64}
  4220  		return protoreflect.ValueOfMap(value)
  4221  	case "goproto.proto.test3.TestAllTypes.map_int32_float":
  4222  		if x.MapInt32Float == nil {
  4223  			x.MapInt32Float = make(map[int32]float32)
  4224  		}
  4225  		value := &_TestAllTypes_66_map{m: &x.MapInt32Float}
  4226  		return protoreflect.ValueOfMap(value)
  4227  	case "goproto.proto.test3.TestAllTypes.map_int32_double":
  4228  		if x.MapInt32Double == nil {
  4229  			x.MapInt32Double = make(map[int32]float64)
  4230  		}
  4231  		value := &_TestAllTypes_67_map{m: &x.MapInt32Double}
  4232  		return protoreflect.ValueOfMap(value)
  4233  	case "goproto.proto.test3.TestAllTypes.map_bool_bool":
  4234  		if x.MapBoolBool == nil {
  4235  			x.MapBoolBool = make(map[bool]bool)
  4236  		}
  4237  		value := &_TestAllTypes_68_map{m: &x.MapBoolBool}
  4238  		return protoreflect.ValueOfMap(value)
  4239  	case "goproto.proto.test3.TestAllTypes.map_string_string":
  4240  		if x.MapStringString == nil {
  4241  			x.MapStringString = make(map[string]string)
  4242  		}
  4243  		value := &_TestAllTypes_69_map{m: &x.MapStringString}
  4244  		return protoreflect.ValueOfMap(value)
  4245  	case "goproto.proto.test3.TestAllTypes.map_string_bytes":
  4246  		if x.MapStringBytes == nil {
  4247  			x.MapStringBytes = make(map[string][]byte)
  4248  		}
  4249  		value := &_TestAllTypes_70_map{m: &x.MapStringBytes}
  4250  		return protoreflect.ValueOfMap(value)
  4251  	case "goproto.proto.test3.TestAllTypes.map_string_nested_message":
  4252  		if x.MapStringNestedMessage == nil {
  4253  			x.MapStringNestedMessage = make(map[string]*TestAllTypes_NestedMessage)
  4254  		}
  4255  		value := &_TestAllTypes_71_map{m: &x.MapStringNestedMessage}
  4256  		return protoreflect.ValueOfMap(value)
  4257  	case "goproto.proto.test3.TestAllTypes.map_string_nested_enum":
  4258  		if x.MapStringNestedEnum == nil {
  4259  			x.MapStringNestedEnum = make(map[string]TestAllTypes_NestedEnum)
  4260  		}
  4261  		value := &_TestAllTypes_73_map{m: &x.MapStringNestedEnum}
  4262  		return protoreflect.ValueOfMap(value)
  4263  	case "goproto.proto.test3.TestAllTypes.oneof_nested_message":
  4264  		if x.OneofField == nil {
  4265  			value := &TestAllTypes_NestedMessage{}
  4266  			oneofValue := &TestAllTypes_OneofNestedMessage{OneofNestedMessage: value}
  4267  			x.OneofField = oneofValue
  4268  			return protoreflect.ValueOfMessage(value.ProtoReflect())
  4269  		}
  4270  		switch m := x.OneofField.(type) {
  4271  		case *TestAllTypes_OneofNestedMessage:
  4272  			return protoreflect.ValueOfMessage(m.OneofNestedMessage.ProtoReflect())
  4273  		default:
  4274  			value := &TestAllTypes_NestedMessage{}
  4275  			oneofValue := &TestAllTypes_OneofNestedMessage{OneofNestedMessage: value}
  4276  			x.OneofField = oneofValue
  4277  			return protoreflect.ValueOfMessage(value.ProtoReflect())
  4278  		}
  4279  	case "goproto.proto.test3.TestAllTypes.singular_int32":
  4280  		panic(fmt.Errorf("field singular_int32 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4281  	case "goproto.proto.test3.TestAllTypes.singular_int64":
  4282  		panic(fmt.Errorf("field singular_int64 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4283  	case "goproto.proto.test3.TestAllTypes.singular_uint32":
  4284  		panic(fmt.Errorf("field singular_uint32 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4285  	case "goproto.proto.test3.TestAllTypes.singular_uint64":
  4286  		panic(fmt.Errorf("field singular_uint64 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4287  	case "goproto.proto.test3.TestAllTypes.singular_sint32":
  4288  		panic(fmt.Errorf("field singular_sint32 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4289  	case "goproto.proto.test3.TestAllTypes.singular_sint64":
  4290  		panic(fmt.Errorf("field singular_sint64 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4291  	case "goproto.proto.test3.TestAllTypes.singular_fixed32":
  4292  		panic(fmt.Errorf("field singular_fixed32 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4293  	case "goproto.proto.test3.TestAllTypes.singular_fixed64":
  4294  		panic(fmt.Errorf("field singular_fixed64 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4295  	case "goproto.proto.test3.TestAllTypes.singular_sfixed32":
  4296  		panic(fmt.Errorf("field singular_sfixed32 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4297  	case "goproto.proto.test3.TestAllTypes.singular_sfixed64":
  4298  		panic(fmt.Errorf("field singular_sfixed64 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4299  	case "goproto.proto.test3.TestAllTypes.singular_float":
  4300  		panic(fmt.Errorf("field singular_float of message goproto.proto.test3.TestAllTypes is not mutable"))
  4301  	case "goproto.proto.test3.TestAllTypes.singular_double":
  4302  		panic(fmt.Errorf("field singular_double of message goproto.proto.test3.TestAllTypes is not mutable"))
  4303  	case "goproto.proto.test3.TestAllTypes.singular_bool":
  4304  		panic(fmt.Errorf("field singular_bool of message goproto.proto.test3.TestAllTypes is not mutable"))
  4305  	case "goproto.proto.test3.TestAllTypes.singular_string":
  4306  		panic(fmt.Errorf("field singular_string of message goproto.proto.test3.TestAllTypes is not mutable"))
  4307  	case "goproto.proto.test3.TestAllTypes.singular_bytes":
  4308  		panic(fmt.Errorf("field singular_bytes of message goproto.proto.test3.TestAllTypes is not mutable"))
  4309  	case "goproto.proto.test3.TestAllTypes.singular_nested_enum":
  4310  		panic(fmt.Errorf("field singular_nested_enum of message goproto.proto.test3.TestAllTypes is not mutable"))
  4311  	case "goproto.proto.test3.TestAllTypes.singular_foreign_enum":
  4312  		panic(fmt.Errorf("field singular_foreign_enum of message goproto.proto.test3.TestAllTypes is not mutable"))
  4313  	case "goproto.proto.test3.TestAllTypes.singular_import_enum":
  4314  		panic(fmt.Errorf("field singular_import_enum of message goproto.proto.test3.TestAllTypes is not mutable"))
  4315  	case "goproto.proto.test3.TestAllTypes.oneof_uint32":
  4316  		panic(fmt.Errorf("field oneof_uint32 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4317  	case "goproto.proto.test3.TestAllTypes.oneof_string":
  4318  		panic(fmt.Errorf("field oneof_string of message goproto.proto.test3.TestAllTypes is not mutable"))
  4319  	case "goproto.proto.test3.TestAllTypes.oneof_bytes":
  4320  		panic(fmt.Errorf("field oneof_bytes of message goproto.proto.test3.TestAllTypes is not mutable"))
  4321  	case "goproto.proto.test3.TestAllTypes.oneof_bool":
  4322  		panic(fmt.Errorf("field oneof_bool of message goproto.proto.test3.TestAllTypes is not mutable"))
  4323  	case "goproto.proto.test3.TestAllTypes.oneof_uint64":
  4324  		panic(fmt.Errorf("field oneof_uint64 of message goproto.proto.test3.TestAllTypes is not mutable"))
  4325  	case "goproto.proto.test3.TestAllTypes.oneof_float":
  4326  		panic(fmt.Errorf("field oneof_float of message goproto.proto.test3.TestAllTypes is not mutable"))
  4327  	case "goproto.proto.test3.TestAllTypes.oneof_double":
  4328  		panic(fmt.Errorf("field oneof_double of message goproto.proto.test3.TestAllTypes is not mutable"))
  4329  	case "goproto.proto.test3.TestAllTypes.oneof_enum":
  4330  		panic(fmt.Errorf("field oneof_enum of message goproto.proto.test3.TestAllTypes is not mutable"))
  4331  	default:
  4332  		if fd.IsExtension() {
  4333  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes"))
  4334  		}
  4335  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes does not contain field %s", fd.FullName()))
  4336  	}
  4337  }
  4338  
  4339  // NewField returns a new value that is assignable to the field
  4340  // for the given descriptor. For scalars, this returns the default value.
  4341  // For lists, maps, and messages, this returns a new, empty, mutable value.
  4342  func (x *fastReflection_TestAllTypes) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
  4343  	switch fd.FullName() {
  4344  	case "goproto.proto.test3.TestAllTypes.singular_int32":
  4345  		return protoreflect.ValueOfInt32(int32(0))
  4346  	case "goproto.proto.test3.TestAllTypes.singular_int64":
  4347  		return protoreflect.ValueOfInt64(int64(0))
  4348  	case "goproto.proto.test3.TestAllTypes.singular_uint32":
  4349  		return protoreflect.ValueOfUint32(uint32(0))
  4350  	case "goproto.proto.test3.TestAllTypes.singular_uint64":
  4351  		return protoreflect.ValueOfUint64(uint64(0))
  4352  	case "goproto.proto.test3.TestAllTypes.singular_sint32":
  4353  		return protoreflect.ValueOfInt32(int32(0))
  4354  	case "goproto.proto.test3.TestAllTypes.singular_sint64":
  4355  		return protoreflect.ValueOfInt64(int64(0))
  4356  	case "goproto.proto.test3.TestAllTypes.singular_fixed32":
  4357  		return protoreflect.ValueOfUint32(uint32(0))
  4358  	case "goproto.proto.test3.TestAllTypes.singular_fixed64":
  4359  		return protoreflect.ValueOfUint64(uint64(0))
  4360  	case "goproto.proto.test3.TestAllTypes.singular_sfixed32":
  4361  		return protoreflect.ValueOfInt32(int32(0))
  4362  	case "goproto.proto.test3.TestAllTypes.singular_sfixed64":
  4363  		return protoreflect.ValueOfInt64(int64(0))
  4364  	case "goproto.proto.test3.TestAllTypes.singular_float":
  4365  		return protoreflect.ValueOfFloat32(float32(0))
  4366  	case "goproto.proto.test3.TestAllTypes.singular_double":
  4367  		return protoreflect.ValueOfFloat64(float64(0))
  4368  	case "goproto.proto.test3.TestAllTypes.singular_bool":
  4369  		return protoreflect.ValueOfBool(false)
  4370  	case "goproto.proto.test3.TestAllTypes.singular_string":
  4371  		return protoreflect.ValueOfString("")
  4372  	case "goproto.proto.test3.TestAllTypes.singular_bytes":
  4373  		return protoreflect.ValueOfBytes(nil)
  4374  	case "goproto.proto.test3.TestAllTypes.singular_nested_message":
  4375  		m := new(TestAllTypes_NestedMessage)
  4376  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  4377  	case "goproto.proto.test3.TestAllTypes.singular_foreign_message":
  4378  		m := new(ForeignMessage)
  4379  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  4380  	case "goproto.proto.test3.TestAllTypes.singular_import_message":
  4381  		m := new(ImportMessage)
  4382  		return protoreflect.ValueOfMessage(m.ProtoReflect())
  4383  	case "goproto.proto.test3.TestAllTypes.singular_nested_enum":
  4384  		return protoreflect.ValueOfEnum(0)
  4385  	case "goproto.proto.test3.TestAllTypes.singular_foreign_enum":
  4386  		return protoreflect.ValueOfEnum(0)
  4387  	case "goproto.proto.test3.TestAllTypes.singular_import_enum":
  4388  		return protoreflect.ValueOfEnum(0)
  4389  	case "goproto.proto.test3.TestAllTypes.repeated_int32":
  4390  		list := []int32{}
  4391  		return protoreflect.ValueOfList(&_TestAllTypes_31_list{list: &list})
  4392  	case "goproto.proto.test3.TestAllTypes.repeated_int64":
  4393  		list := []int64{}
  4394  		return protoreflect.ValueOfList(&_TestAllTypes_32_list{list: &list})
  4395  	case "goproto.proto.test3.TestAllTypes.repeated_uint32":
  4396  		list := []uint32{}
  4397  		return protoreflect.ValueOfList(&_TestAllTypes_33_list{list: &list})
  4398  	case "goproto.proto.test3.TestAllTypes.repeated_uint64":
  4399  		list := []uint64{}
  4400  		return protoreflect.ValueOfList(&_TestAllTypes_34_list{list: &list})
  4401  	case "goproto.proto.test3.TestAllTypes.repeated_sint32":
  4402  		list := []int32{}
  4403  		return protoreflect.ValueOfList(&_TestAllTypes_35_list{list: &list})
  4404  	case "goproto.proto.test3.TestAllTypes.repeated_sint64":
  4405  		list := []int64{}
  4406  		return protoreflect.ValueOfList(&_TestAllTypes_36_list{list: &list})
  4407  	case "goproto.proto.test3.TestAllTypes.repeated_fixed32":
  4408  		list := []uint32{}
  4409  		return protoreflect.ValueOfList(&_TestAllTypes_37_list{list: &list})
  4410  	case "goproto.proto.test3.TestAllTypes.repeated_fixed64":
  4411  		list := []uint64{}
  4412  		return protoreflect.ValueOfList(&_TestAllTypes_38_list{list: &list})
  4413  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed32":
  4414  		list := []int32{}
  4415  		return protoreflect.ValueOfList(&_TestAllTypes_39_list{list: &list})
  4416  	case "goproto.proto.test3.TestAllTypes.repeated_sfixed64":
  4417  		list := []int64{}
  4418  		return protoreflect.ValueOfList(&_TestAllTypes_40_list{list: &list})
  4419  	case "goproto.proto.test3.TestAllTypes.repeated_float":
  4420  		list := []float32{}
  4421  		return protoreflect.ValueOfList(&_TestAllTypes_41_list{list: &list})
  4422  	case "goproto.proto.test3.TestAllTypes.repeated_double":
  4423  		list := []float64{}
  4424  		return protoreflect.ValueOfList(&_TestAllTypes_42_list{list: &list})
  4425  	case "goproto.proto.test3.TestAllTypes.repeated_bool":
  4426  		list := []bool{}
  4427  		return protoreflect.ValueOfList(&_TestAllTypes_43_list{list: &list})
  4428  	case "goproto.proto.test3.TestAllTypes.repeated_string":
  4429  		list := []string{}
  4430  		return protoreflect.ValueOfList(&_TestAllTypes_44_list{list: &list})
  4431  	case "goproto.proto.test3.TestAllTypes.repeated_bytes":
  4432  		list := [][]byte{}
  4433  		return protoreflect.ValueOfList(&_TestAllTypes_45_list{list: &list})
  4434  	case "goproto.proto.test3.TestAllTypes.repeated_nested_message":
  4435  		list := []*TestAllTypes_NestedMessage{}
  4436  		return protoreflect.ValueOfList(&_TestAllTypes_48_list{list: &list})
  4437  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_message":
  4438  		list := []*ForeignMessage{}
  4439  		return protoreflect.ValueOfList(&_TestAllTypes_49_list{list: &list})
  4440  	case "goproto.proto.test3.TestAllTypes.repeated_importmessage":
  4441  		list := []*ImportMessage{}
  4442  		return protoreflect.ValueOfList(&_TestAllTypes_50_list{list: &list})
  4443  	case "goproto.proto.test3.TestAllTypes.repeated_nested_enum":
  4444  		list := []TestAllTypes_NestedEnum{}
  4445  		return protoreflect.ValueOfList(&_TestAllTypes_51_list{list: &list})
  4446  	case "goproto.proto.test3.TestAllTypes.repeated_foreign_enum":
  4447  		list := []ForeignEnum{}
  4448  		return protoreflect.ValueOfList(&_TestAllTypes_52_list{list: &list})
  4449  	case "goproto.proto.test3.TestAllTypes.repeated_importenum":
  4450  		list := []ImportEnum{}
  4451  		return protoreflect.ValueOfList(&_TestAllTypes_53_list{list: &list})
  4452  	case "goproto.proto.test3.TestAllTypes.map_int32_int32":
  4453  		m := make(map[int32]int32)
  4454  		return protoreflect.ValueOfMap(&_TestAllTypes_56_map{m: &m})
  4455  	case "goproto.proto.test3.TestAllTypes.map_int64_int64":
  4456  		m := make(map[int64]int64)
  4457  		return protoreflect.ValueOfMap(&_TestAllTypes_57_map{m: &m})
  4458  	case "goproto.proto.test3.TestAllTypes.map_uint32_uint32":
  4459  		m := make(map[uint32]uint32)
  4460  		return protoreflect.ValueOfMap(&_TestAllTypes_58_map{m: &m})
  4461  	case "goproto.proto.test3.TestAllTypes.map_uint64_uint64":
  4462  		m := make(map[uint64]uint64)
  4463  		return protoreflect.ValueOfMap(&_TestAllTypes_59_map{m: &m})
  4464  	case "goproto.proto.test3.TestAllTypes.map_sint32_sint32":
  4465  		m := make(map[int32]int32)
  4466  		return protoreflect.ValueOfMap(&_TestAllTypes_60_map{m: &m})
  4467  	case "goproto.proto.test3.TestAllTypes.map_sint64_sint64":
  4468  		m := make(map[int64]int64)
  4469  		return protoreflect.ValueOfMap(&_TestAllTypes_61_map{m: &m})
  4470  	case "goproto.proto.test3.TestAllTypes.map_fixed32_fixed32":
  4471  		m := make(map[uint32]uint32)
  4472  		return protoreflect.ValueOfMap(&_TestAllTypes_62_map{m: &m})
  4473  	case "goproto.proto.test3.TestAllTypes.map_fixed64_fixed64":
  4474  		m := make(map[uint64]uint64)
  4475  		return protoreflect.ValueOfMap(&_TestAllTypes_63_map{m: &m})
  4476  	case "goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32":
  4477  		m := make(map[int32]int32)
  4478  		return protoreflect.ValueOfMap(&_TestAllTypes_64_map{m: &m})
  4479  	case "goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64":
  4480  		m := make(map[int64]int64)
  4481  		return protoreflect.ValueOfMap(&_TestAllTypes_65_map{m: &m})
  4482  	case "goproto.proto.test3.TestAllTypes.map_int32_float":
  4483  		m := make(map[int32]float32)
  4484  		return protoreflect.ValueOfMap(&_TestAllTypes_66_map{m: &m})
  4485  	case "goproto.proto.test3.TestAllTypes.map_int32_double":
  4486  		m := make(map[int32]float64)
  4487  		return protoreflect.ValueOfMap(&_TestAllTypes_67_map{m: &m})
  4488  	case "goproto.proto.test3.TestAllTypes.map_bool_bool":
  4489  		m := make(map[bool]bool)
  4490  		return protoreflect.ValueOfMap(&_TestAllTypes_68_map{m: &m})
  4491  	case "goproto.proto.test3.TestAllTypes.map_string_string":
  4492  		m := make(map[string]string)
  4493  		return protoreflect.ValueOfMap(&_TestAllTypes_69_map{m: &m})
  4494  	case "goproto.proto.test3.TestAllTypes.map_string_bytes":
  4495  		m := make(map[string][]byte)
  4496  		return protoreflect.ValueOfMap(&_TestAllTypes_70_map{m: &m})
  4497  	case "goproto.proto.test3.TestAllTypes.map_string_nested_message":
  4498  		m := make(map[string]*TestAllTypes_NestedMessage)
  4499  		return protoreflect.ValueOfMap(&_TestAllTypes_71_map{m: &m})
  4500  	case "goproto.proto.test3.TestAllTypes.map_string_nested_enum":
  4501  		m := make(map[string]TestAllTypes_NestedEnum)
  4502  		return protoreflect.ValueOfMap(&_TestAllTypes_73_map{m: &m})
  4503  	case "goproto.proto.test3.TestAllTypes.oneof_uint32":
  4504  		return protoreflect.ValueOfUint32(uint32(0))
  4505  	case "goproto.proto.test3.TestAllTypes.oneof_nested_message":
  4506  		value := &TestAllTypes_NestedMessage{}
  4507  		return protoreflect.ValueOfMessage(value.ProtoReflect())
  4508  	case "goproto.proto.test3.TestAllTypes.oneof_string":
  4509  		return protoreflect.ValueOfString("")
  4510  	case "goproto.proto.test3.TestAllTypes.oneof_bytes":
  4511  		return protoreflect.ValueOfBytes(nil)
  4512  	case "goproto.proto.test3.TestAllTypes.oneof_bool":
  4513  		return protoreflect.ValueOfBool(false)
  4514  	case "goproto.proto.test3.TestAllTypes.oneof_uint64":
  4515  		return protoreflect.ValueOfUint64(uint64(0))
  4516  	case "goproto.proto.test3.TestAllTypes.oneof_float":
  4517  		return protoreflect.ValueOfFloat32(float32(0))
  4518  	case "goproto.proto.test3.TestAllTypes.oneof_double":
  4519  		return protoreflect.ValueOfFloat64(float64(0))
  4520  	case "goproto.proto.test3.TestAllTypes.oneof_enum":
  4521  		return protoreflect.ValueOfEnum(0)
  4522  	default:
  4523  		if fd.IsExtension() {
  4524  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes"))
  4525  		}
  4526  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes does not contain field %s", fd.FullName()))
  4527  	}
  4528  }
  4529  
  4530  // WhichOneof reports which field within the oneof is populated,
  4531  // returning nil if none are populated.
  4532  // It panics if the oneof descriptor does not belong to this message.
  4533  func (x *fastReflection_TestAllTypes) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
  4534  	switch d.FullName() {
  4535  	case "goproto.proto.test3.TestAllTypes.oneof_field":
  4536  		if x.OneofField == nil {
  4537  			return nil
  4538  		}
  4539  		switch x.OneofField.(type) {
  4540  		case *TestAllTypes_OneofUint32:
  4541  			return x.Descriptor().Fields().ByName("oneof_uint32")
  4542  		case *TestAllTypes_OneofNestedMessage:
  4543  			return x.Descriptor().Fields().ByName("oneof_nested_message")
  4544  		case *TestAllTypes_OneofString:
  4545  			return x.Descriptor().Fields().ByName("oneof_string")
  4546  		case *TestAllTypes_OneofBytes:
  4547  			return x.Descriptor().Fields().ByName("oneof_bytes")
  4548  		case *TestAllTypes_OneofBool:
  4549  			return x.Descriptor().Fields().ByName("oneof_bool")
  4550  		case *TestAllTypes_OneofUint64:
  4551  			return x.Descriptor().Fields().ByName("oneof_uint64")
  4552  		case *TestAllTypes_OneofFloat:
  4553  			return x.Descriptor().Fields().ByName("oneof_float")
  4554  		case *TestAllTypes_OneofDouble:
  4555  			return x.Descriptor().Fields().ByName("oneof_double")
  4556  		case *TestAllTypes_OneofEnum:
  4557  			return x.Descriptor().Fields().ByName("oneof_enum")
  4558  		}
  4559  	default:
  4560  		panic(fmt.Errorf("%s is not a oneof field in goproto.proto.test3.TestAllTypes", d.FullName()))
  4561  	}
  4562  	panic("unreachable")
  4563  }
  4564  
  4565  // GetUnknown retrieves the entire list of unknown fields.
  4566  // The caller may only mutate the contents of the RawFields
  4567  // if the mutated bytes are stored back into the message with SetUnknown.
  4568  func (x *fastReflection_TestAllTypes) GetUnknown() protoreflect.RawFields {
  4569  	return x.unknownFields
  4570  }
  4571  
  4572  // SetUnknown stores an entire list of unknown fields.
  4573  // The raw fields must be syntactically valid according to the wire format.
  4574  // An implementation may panic if this is not the case.
  4575  // Once stored, the caller must not mutate the content of the RawFields.
  4576  // An empty RawFields may be passed to clear the fields.
  4577  //
  4578  // SetUnknown is a mutating operation and unsafe for concurrent use.
  4579  func (x *fastReflection_TestAllTypes) SetUnknown(fields protoreflect.RawFields) {
  4580  	x.unknownFields = fields
  4581  }
  4582  
  4583  // IsValid reports whether the message is valid.
  4584  //
  4585  // An invalid message is an empty, read-only value.
  4586  //
  4587  // An invalid message often corresponds to a nil pointer of the concrete
  4588  // message type, but the details are implementation dependent.
  4589  // Validity is not part of the protobuf data model, and may not
  4590  // be preserved in marshaling or other operations.
  4591  func (x *fastReflection_TestAllTypes) IsValid() bool {
  4592  	return x != nil
  4593  }
  4594  
  4595  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
  4596  // This method may return nil.
  4597  //
  4598  // The returned methods type is identical to
  4599  // "google.golang.org/protobuf/runtime/protoiface".Methods.
  4600  // Consult the protoiface package documentation for details.
  4601  func (x *fastReflection_TestAllTypes) ProtoMethods() *protoiface.Methods {
  4602  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
  4603  		x := input.Message.Interface().(*TestAllTypes)
  4604  		if x == nil {
  4605  			return protoiface.SizeOutput{
  4606  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  4607  				Size:              0,
  4608  			}
  4609  		}
  4610  		options := runtime.SizeInputToOptions(input)
  4611  		_ = options
  4612  		var n int
  4613  		var l int
  4614  		_ = l
  4615  		if x.SingularInt32 != 0 {
  4616  			n += 2 + runtime.Sov(uint64(x.SingularInt32))
  4617  		}
  4618  		if x.SingularInt64 != 0 {
  4619  			n += 2 + runtime.Sov(uint64(x.SingularInt64))
  4620  		}
  4621  		if x.SingularUint32 != 0 {
  4622  			n += 2 + runtime.Sov(uint64(x.SingularUint32))
  4623  		}
  4624  		if x.SingularUint64 != 0 {
  4625  			n += 2 + runtime.Sov(uint64(x.SingularUint64))
  4626  		}
  4627  		if x.SingularSint32 != 0 {
  4628  			n += 2 + runtime.Soz(uint64(x.SingularSint32))
  4629  		}
  4630  		if x.SingularSint64 != 0 {
  4631  			n += 2 + runtime.Soz(uint64(x.SingularSint64))
  4632  		}
  4633  		if x.SingularFixed32 != 0 {
  4634  			n += 6
  4635  		}
  4636  		if x.SingularFixed64 != 0 {
  4637  			n += 10
  4638  		}
  4639  		if x.SingularSfixed32 != 0 {
  4640  			n += 6
  4641  		}
  4642  		if x.SingularSfixed64 != 0 {
  4643  			n += 10
  4644  		}
  4645  		if x.SingularFloat != 0 || math.Signbit(float64(x.SingularFloat)) {
  4646  			n += 6
  4647  		}
  4648  		if x.SingularDouble != 0 || math.Signbit(x.SingularDouble) {
  4649  			n += 10
  4650  		}
  4651  		if x.SingularBool {
  4652  			n += 3
  4653  		}
  4654  		l = len(x.SingularString)
  4655  		if l > 0 {
  4656  			n += 2 + l + runtime.Sov(uint64(l))
  4657  		}
  4658  		l = len(x.SingularBytes)
  4659  		if l > 0 {
  4660  			n += 2 + l + runtime.Sov(uint64(l))
  4661  		}
  4662  		if x.SingularNestedMessage != nil {
  4663  			l = options.Size(x.SingularNestedMessage)
  4664  			n += 2 + l + runtime.Sov(uint64(l))
  4665  		}
  4666  		if x.SingularForeignMessage != nil {
  4667  			l = options.Size(x.SingularForeignMessage)
  4668  			n += 2 + l + runtime.Sov(uint64(l))
  4669  		}
  4670  		if x.SingularImportMessage != nil {
  4671  			l = options.Size(x.SingularImportMessage)
  4672  			n += 2 + l + runtime.Sov(uint64(l))
  4673  		}
  4674  		if x.SingularNestedEnum != 0 {
  4675  			n += 2 + runtime.Sov(uint64(x.SingularNestedEnum))
  4676  		}
  4677  		if x.SingularForeignEnum != 0 {
  4678  			n += 2 + runtime.Sov(uint64(x.SingularForeignEnum))
  4679  		}
  4680  		if x.SingularImportEnum != 0 {
  4681  			n += 2 + runtime.Sov(uint64(x.SingularImportEnum))
  4682  		}
  4683  		if len(x.RepeatedInt32) > 0 {
  4684  			l = 0
  4685  			for _, e := range x.RepeatedInt32 {
  4686  				l += runtime.Sov(uint64(e))
  4687  			}
  4688  			n += 2 + runtime.Sov(uint64(l)) + l
  4689  		}
  4690  		if len(x.RepeatedInt64) > 0 {
  4691  			l = 0
  4692  			for _, e := range x.RepeatedInt64 {
  4693  				l += runtime.Sov(uint64(e))
  4694  			}
  4695  			n += 2 + runtime.Sov(uint64(l)) + l
  4696  		}
  4697  		if len(x.RepeatedUint32) > 0 {
  4698  			l = 0
  4699  			for _, e := range x.RepeatedUint32 {
  4700  				l += runtime.Sov(uint64(e))
  4701  			}
  4702  			n += 2 + runtime.Sov(uint64(l)) + l
  4703  		}
  4704  		if len(x.RepeatedUint64) > 0 {
  4705  			l = 0
  4706  			for _, e := range x.RepeatedUint64 {
  4707  				l += runtime.Sov(uint64(e))
  4708  			}
  4709  			n += 2 + runtime.Sov(uint64(l)) + l
  4710  		}
  4711  		if len(x.RepeatedSint32) > 0 {
  4712  			l = 0
  4713  			for _, e := range x.RepeatedSint32 {
  4714  				l += runtime.Soz(uint64(e))
  4715  			}
  4716  			n += 2 + runtime.Sov(uint64(l)) + l
  4717  		}
  4718  		if len(x.RepeatedSint64) > 0 {
  4719  			l = 0
  4720  			for _, e := range x.RepeatedSint64 {
  4721  				l += runtime.Soz(uint64(e))
  4722  			}
  4723  			n += 2 + runtime.Sov(uint64(l)) + l
  4724  		}
  4725  		if len(x.RepeatedFixed32) > 0 {
  4726  			n += 2 + runtime.Sov(uint64(len(x.RepeatedFixed32)*4)) + len(x.RepeatedFixed32)*4
  4727  		}
  4728  		if len(x.RepeatedFixed64) > 0 {
  4729  			n += 2 + runtime.Sov(uint64(len(x.RepeatedFixed64)*8)) + len(x.RepeatedFixed64)*8
  4730  		}
  4731  		if len(x.RepeatedSfixed32) > 0 {
  4732  			n += 2 + runtime.Sov(uint64(len(x.RepeatedSfixed32)*4)) + len(x.RepeatedSfixed32)*4
  4733  		}
  4734  		if len(x.RepeatedSfixed64) > 0 {
  4735  			n += 2 + runtime.Sov(uint64(len(x.RepeatedSfixed64)*8)) + len(x.RepeatedSfixed64)*8
  4736  		}
  4737  		if len(x.RepeatedFloat) > 0 {
  4738  			n += 2 + runtime.Sov(uint64(len(x.RepeatedFloat)*4)) + len(x.RepeatedFloat)*4
  4739  		}
  4740  		if len(x.RepeatedDouble) > 0 {
  4741  			n += 2 + runtime.Sov(uint64(len(x.RepeatedDouble)*8)) + len(x.RepeatedDouble)*8
  4742  		}
  4743  		if len(x.RepeatedBool) > 0 {
  4744  			n += 2 + runtime.Sov(uint64(len(x.RepeatedBool))) + len(x.RepeatedBool)*1
  4745  		}
  4746  		if len(x.RepeatedString) > 0 {
  4747  			for _, s := range x.RepeatedString {
  4748  				l = len(s)
  4749  				n += 2 + l + runtime.Sov(uint64(l))
  4750  			}
  4751  		}
  4752  		if len(x.RepeatedBytes) > 0 {
  4753  			for _, b := range x.RepeatedBytes {
  4754  				l = len(b)
  4755  				n += 2 + l + runtime.Sov(uint64(l))
  4756  			}
  4757  		}
  4758  		if len(x.RepeatedNestedMessage) > 0 {
  4759  			for _, e := range x.RepeatedNestedMessage {
  4760  				l = options.Size(e)
  4761  				n += 2 + l + runtime.Sov(uint64(l))
  4762  			}
  4763  		}
  4764  		if len(x.RepeatedForeignMessage) > 0 {
  4765  			for _, e := range x.RepeatedForeignMessage {
  4766  				l = options.Size(e)
  4767  				n += 2 + l + runtime.Sov(uint64(l))
  4768  			}
  4769  		}
  4770  		if len(x.RepeatedImportmessage) > 0 {
  4771  			for _, e := range x.RepeatedImportmessage {
  4772  				l = options.Size(e)
  4773  				n += 2 + l + runtime.Sov(uint64(l))
  4774  			}
  4775  		}
  4776  		if len(x.RepeatedNestedEnum) > 0 {
  4777  			l = 0
  4778  			for _, e := range x.RepeatedNestedEnum {
  4779  				l += runtime.Sov(uint64(e))
  4780  			}
  4781  			n += 2 + runtime.Sov(uint64(l)) + l
  4782  		}
  4783  		if len(x.RepeatedForeignEnum) > 0 {
  4784  			l = 0
  4785  			for _, e := range x.RepeatedForeignEnum {
  4786  				l += runtime.Sov(uint64(e))
  4787  			}
  4788  			n += 2 + runtime.Sov(uint64(l)) + l
  4789  		}
  4790  		if len(x.RepeatedImportenum) > 0 {
  4791  			l = 0
  4792  			for _, e := range x.RepeatedImportenum {
  4793  				l += runtime.Sov(uint64(e))
  4794  			}
  4795  			n += 2 + runtime.Sov(uint64(l)) + l
  4796  		}
  4797  		if len(x.MapInt32Int32) > 0 {
  4798  			SiZeMaP := func(k int32, v int32) {
  4799  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + 1 + runtime.Sov(uint64(v))
  4800  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4801  			}
  4802  			if options.Deterministic {
  4803  				sortme := make([]int32, 0, len(x.MapInt32Int32))
  4804  				for k := range x.MapInt32Int32 {
  4805  					sortme = append(sortme, k)
  4806  				}
  4807  				sort.Slice(sortme, func(i, j int) bool {
  4808  					return sortme[i] < sortme[j]
  4809  				})
  4810  				for _, k := range sortme {
  4811  					v := x.MapInt32Int32[k]
  4812  					SiZeMaP(k, v)
  4813  				}
  4814  			} else {
  4815  				for k, v := range x.MapInt32Int32 {
  4816  					SiZeMaP(k, v)
  4817  				}
  4818  			}
  4819  		}
  4820  		if len(x.MapInt64Int64) > 0 {
  4821  			SiZeMaP := func(k int64, v int64) {
  4822  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + 1 + runtime.Sov(uint64(v))
  4823  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4824  			}
  4825  			if options.Deterministic {
  4826  				sortme := make([]int64, 0, len(x.MapInt64Int64))
  4827  				for k := range x.MapInt64Int64 {
  4828  					sortme = append(sortme, k)
  4829  				}
  4830  				sort.Slice(sortme, func(i, j int) bool {
  4831  					return sortme[i] < sortme[j]
  4832  				})
  4833  				for _, k := range sortme {
  4834  					v := x.MapInt64Int64[k]
  4835  					SiZeMaP(k, v)
  4836  				}
  4837  			} else {
  4838  				for k, v := range x.MapInt64Int64 {
  4839  					SiZeMaP(k, v)
  4840  				}
  4841  			}
  4842  		}
  4843  		if len(x.MapUint32Uint32) > 0 {
  4844  			SiZeMaP := func(k uint32, v uint32) {
  4845  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + 1 + runtime.Sov(uint64(v))
  4846  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4847  			}
  4848  			if options.Deterministic {
  4849  				sortme := make([]uint32, 0, len(x.MapUint32Uint32))
  4850  				for k := range x.MapUint32Uint32 {
  4851  					sortme = append(sortme, k)
  4852  				}
  4853  				sort.Slice(sortme, func(i, j int) bool {
  4854  					return sortme[i] < sortme[j]
  4855  				})
  4856  				for _, k := range sortme {
  4857  					v := x.MapUint32Uint32[k]
  4858  					SiZeMaP(k, v)
  4859  				}
  4860  			} else {
  4861  				for k, v := range x.MapUint32Uint32 {
  4862  					SiZeMaP(k, v)
  4863  				}
  4864  			}
  4865  		}
  4866  		if len(x.MapUint64Uint64) > 0 {
  4867  			SiZeMaP := func(k uint64, v uint64) {
  4868  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + 1 + runtime.Sov(uint64(v))
  4869  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4870  			}
  4871  			if options.Deterministic {
  4872  				sortme := make([]uint64, 0, len(x.MapUint64Uint64))
  4873  				for k := range x.MapUint64Uint64 {
  4874  					sortme = append(sortme, k)
  4875  				}
  4876  				sort.Slice(sortme, func(i, j int) bool {
  4877  					return sortme[i] < sortme[j]
  4878  				})
  4879  				for _, k := range sortme {
  4880  					v := x.MapUint64Uint64[k]
  4881  					SiZeMaP(k, v)
  4882  				}
  4883  			} else {
  4884  				for k, v := range x.MapUint64Uint64 {
  4885  					SiZeMaP(k, v)
  4886  				}
  4887  			}
  4888  		}
  4889  		if len(x.MapSint32Sint32) > 0 {
  4890  			SiZeMaP := func(k int32, v int32) {
  4891  				mapEntrySize := 1 + runtime.Soz(uint64(k)) + 1 + runtime.Soz(uint64(v))
  4892  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4893  			}
  4894  			if options.Deterministic {
  4895  				sortme := make([]int32, 0, len(x.MapSint32Sint32))
  4896  				for k := range x.MapSint32Sint32 {
  4897  					sortme = append(sortme, k)
  4898  				}
  4899  				sort.Slice(sortme, func(i, j int) bool {
  4900  					return sortme[i] < sortme[j]
  4901  				})
  4902  				for _, k := range sortme {
  4903  					v := x.MapSint32Sint32[k]
  4904  					SiZeMaP(k, v)
  4905  				}
  4906  			} else {
  4907  				for k, v := range x.MapSint32Sint32 {
  4908  					SiZeMaP(k, v)
  4909  				}
  4910  			}
  4911  		}
  4912  		if len(x.MapSint64Sint64) > 0 {
  4913  			SiZeMaP := func(k int64, v int64) {
  4914  				mapEntrySize := 1 + runtime.Soz(uint64(k)) + 1 + runtime.Soz(uint64(v))
  4915  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4916  			}
  4917  			if options.Deterministic {
  4918  				sortme := make([]int64, 0, len(x.MapSint64Sint64))
  4919  				for k := range x.MapSint64Sint64 {
  4920  					sortme = append(sortme, k)
  4921  				}
  4922  				sort.Slice(sortme, func(i, j int) bool {
  4923  					return sortme[i] < sortme[j]
  4924  				})
  4925  				for _, k := range sortme {
  4926  					v := x.MapSint64Sint64[k]
  4927  					SiZeMaP(k, v)
  4928  				}
  4929  			} else {
  4930  				for k, v := range x.MapSint64Sint64 {
  4931  					SiZeMaP(k, v)
  4932  				}
  4933  			}
  4934  		}
  4935  		if len(x.MapFixed32Fixed32) > 0 {
  4936  			SiZeMaP := func(k uint32, v uint32) {
  4937  				mapEntrySize := 1 + 4 + 1 + 4
  4938  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4939  			}
  4940  			if options.Deterministic {
  4941  				sortme := make([]uint32, 0, len(x.MapFixed32Fixed32))
  4942  				for k := range x.MapFixed32Fixed32 {
  4943  					sortme = append(sortme, k)
  4944  				}
  4945  				sort.Slice(sortme, func(i, j int) bool {
  4946  					return sortme[i] < sortme[j]
  4947  				})
  4948  				for _, k := range sortme {
  4949  					v := x.MapFixed32Fixed32[k]
  4950  					SiZeMaP(k, v)
  4951  				}
  4952  			} else {
  4953  				for k, v := range x.MapFixed32Fixed32 {
  4954  					SiZeMaP(k, v)
  4955  				}
  4956  			}
  4957  		}
  4958  		if len(x.MapFixed64Fixed64) > 0 {
  4959  			SiZeMaP := func(k uint64, v uint64) {
  4960  				mapEntrySize := 1 + 8 + 1 + 8
  4961  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4962  			}
  4963  			if options.Deterministic {
  4964  				sortme := make([]uint64, 0, len(x.MapFixed64Fixed64))
  4965  				for k := range x.MapFixed64Fixed64 {
  4966  					sortme = append(sortme, k)
  4967  				}
  4968  				sort.Slice(sortme, func(i, j int) bool {
  4969  					return sortme[i] < sortme[j]
  4970  				})
  4971  				for _, k := range sortme {
  4972  					v := x.MapFixed64Fixed64[k]
  4973  					SiZeMaP(k, v)
  4974  				}
  4975  			} else {
  4976  				for k, v := range x.MapFixed64Fixed64 {
  4977  					SiZeMaP(k, v)
  4978  				}
  4979  			}
  4980  		}
  4981  		if len(x.MapSfixed32Sfixed32) > 0 {
  4982  			SiZeMaP := func(k int32, v int32) {
  4983  				mapEntrySize := 1 + 4 + 1 + 4
  4984  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  4985  			}
  4986  			if options.Deterministic {
  4987  				sortme := make([]int32, 0, len(x.MapSfixed32Sfixed32))
  4988  				for k := range x.MapSfixed32Sfixed32 {
  4989  					sortme = append(sortme, k)
  4990  				}
  4991  				sort.Slice(sortme, func(i, j int) bool {
  4992  					return sortme[i] < sortme[j]
  4993  				})
  4994  				for _, k := range sortme {
  4995  					v := x.MapSfixed32Sfixed32[k]
  4996  					SiZeMaP(k, v)
  4997  				}
  4998  			} else {
  4999  				for k, v := range x.MapSfixed32Sfixed32 {
  5000  					SiZeMaP(k, v)
  5001  				}
  5002  			}
  5003  		}
  5004  		if len(x.MapSfixed64Sfixed64) > 0 {
  5005  			SiZeMaP := func(k int64, v int64) {
  5006  				mapEntrySize := 1 + 8 + 1 + 8
  5007  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5008  			}
  5009  			if options.Deterministic {
  5010  				sortme := make([]int64, 0, len(x.MapSfixed64Sfixed64))
  5011  				for k := range x.MapSfixed64Sfixed64 {
  5012  					sortme = append(sortme, k)
  5013  				}
  5014  				sort.Slice(sortme, func(i, j int) bool {
  5015  					return sortme[i] < sortme[j]
  5016  				})
  5017  				for _, k := range sortme {
  5018  					v := x.MapSfixed64Sfixed64[k]
  5019  					SiZeMaP(k, v)
  5020  				}
  5021  			} else {
  5022  				for k, v := range x.MapSfixed64Sfixed64 {
  5023  					SiZeMaP(k, v)
  5024  				}
  5025  			}
  5026  		}
  5027  		if len(x.MapInt32Float) > 0 {
  5028  			SiZeMaP := func(k int32, v float32) {
  5029  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + 1 + 4
  5030  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5031  			}
  5032  			if options.Deterministic {
  5033  				sortme := make([]int32, 0, len(x.MapInt32Float))
  5034  				for k := range x.MapInt32Float {
  5035  					sortme = append(sortme, k)
  5036  				}
  5037  				sort.Slice(sortme, func(i, j int) bool {
  5038  					return sortme[i] < sortme[j]
  5039  				})
  5040  				for _, k := range sortme {
  5041  					v := x.MapInt32Float[k]
  5042  					SiZeMaP(k, v)
  5043  				}
  5044  			} else {
  5045  				for k, v := range x.MapInt32Float {
  5046  					SiZeMaP(k, v)
  5047  				}
  5048  			}
  5049  		}
  5050  		if len(x.MapInt32Double) > 0 {
  5051  			SiZeMaP := func(k int32, v float64) {
  5052  				mapEntrySize := 1 + runtime.Sov(uint64(k)) + 1 + 8
  5053  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5054  			}
  5055  			if options.Deterministic {
  5056  				sortme := make([]int32, 0, len(x.MapInt32Double))
  5057  				for k := range x.MapInt32Double {
  5058  					sortme = append(sortme, k)
  5059  				}
  5060  				sort.Slice(sortme, func(i, j int) bool {
  5061  					return sortme[i] < sortme[j]
  5062  				})
  5063  				for _, k := range sortme {
  5064  					v := x.MapInt32Double[k]
  5065  					SiZeMaP(k, v)
  5066  				}
  5067  			} else {
  5068  				for k, v := range x.MapInt32Double {
  5069  					SiZeMaP(k, v)
  5070  				}
  5071  			}
  5072  		}
  5073  		if len(x.MapBoolBool) > 0 {
  5074  			SiZeMaP := func(k bool, v bool) {
  5075  				mapEntrySize := 1 + 1 + 1 + 1
  5076  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5077  			}
  5078  			if options.Deterministic {
  5079  				sortme := make([]bool, 0, len(x.MapBoolBool))
  5080  				for k := range x.MapBoolBool {
  5081  					sortme = append(sortme, k)
  5082  				}
  5083  				sort.Slice(sortme, func(i, j int) bool {
  5084  					return !sortme[i] && sortme[j]
  5085  				})
  5086  				for _, k := range sortme {
  5087  					v := x.MapBoolBool[k]
  5088  					SiZeMaP(k, v)
  5089  				}
  5090  			} else {
  5091  				for k, v := range x.MapBoolBool {
  5092  					SiZeMaP(k, v)
  5093  				}
  5094  			}
  5095  		}
  5096  		if len(x.MapStringString) > 0 {
  5097  			SiZeMaP := func(k string, v string) {
  5098  				mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + len(v) + runtime.Sov(uint64(len(v)))
  5099  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5100  			}
  5101  			if options.Deterministic {
  5102  				sortme := make([]string, 0, len(x.MapStringString))
  5103  				for k := range x.MapStringString {
  5104  					sortme = append(sortme, k)
  5105  				}
  5106  				sort.Strings(sortme)
  5107  				for _, k := range sortme {
  5108  					v := x.MapStringString[k]
  5109  					SiZeMaP(k, v)
  5110  				}
  5111  			} else {
  5112  				for k, v := range x.MapStringString {
  5113  					SiZeMaP(k, v)
  5114  				}
  5115  			}
  5116  		}
  5117  		if len(x.MapStringBytes) > 0 {
  5118  			SiZeMaP := func(k string, v []byte) {
  5119  				l = 1 + len(v) + runtime.Sov(uint64(len(v)))
  5120  				mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + l
  5121  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5122  			}
  5123  			if options.Deterministic {
  5124  				sortme := make([]string, 0, len(x.MapStringBytes))
  5125  				for k := range x.MapStringBytes {
  5126  					sortme = append(sortme, k)
  5127  				}
  5128  				sort.Strings(sortme)
  5129  				for _, k := range sortme {
  5130  					v := x.MapStringBytes[k]
  5131  					SiZeMaP(k, v)
  5132  				}
  5133  			} else {
  5134  				for k, v := range x.MapStringBytes {
  5135  					SiZeMaP(k, v)
  5136  				}
  5137  			}
  5138  		}
  5139  		if len(x.MapStringNestedMessage) > 0 {
  5140  			SiZeMaP := func(k string, v *TestAllTypes_NestedMessage) {
  5141  				l := 0
  5142  				if v != nil {
  5143  					l = options.Size(v)
  5144  				}
  5145  				l += 1 + runtime.Sov(uint64(l))
  5146  				mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + l
  5147  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5148  			}
  5149  			if options.Deterministic {
  5150  				sortme := make([]string, 0, len(x.MapStringNestedMessage))
  5151  				for k := range x.MapStringNestedMessage {
  5152  					sortme = append(sortme, k)
  5153  				}
  5154  				sort.Strings(sortme)
  5155  				for _, k := range sortme {
  5156  					v := x.MapStringNestedMessage[k]
  5157  					SiZeMaP(k, v)
  5158  				}
  5159  			} else {
  5160  				for k, v := range x.MapStringNestedMessage {
  5161  					SiZeMaP(k, v)
  5162  				}
  5163  			}
  5164  		}
  5165  		if len(x.MapStringNestedEnum) > 0 {
  5166  			SiZeMaP := func(k string, v TestAllTypes_NestedEnum) {
  5167  				mapEntrySize := 1 + len(k) + runtime.Sov(uint64(len(k))) + 1 + runtime.Sov(uint64(v))
  5168  				n += mapEntrySize + 2 + runtime.Sov(uint64(mapEntrySize))
  5169  			}
  5170  			if options.Deterministic {
  5171  				sortme := make([]string, 0, len(x.MapStringNestedEnum))
  5172  				for k := range x.MapStringNestedEnum {
  5173  					sortme = append(sortme, k)
  5174  				}
  5175  				sort.Strings(sortme)
  5176  				for _, k := range sortme {
  5177  					v := x.MapStringNestedEnum[k]
  5178  					SiZeMaP(k, v)
  5179  				}
  5180  			} else {
  5181  				for k, v := range x.MapStringNestedEnum {
  5182  					SiZeMaP(k, v)
  5183  				}
  5184  			}
  5185  		}
  5186  		switch x := x.OneofField.(type) {
  5187  		case *TestAllTypes_OneofUint32:
  5188  			if x == nil {
  5189  				break
  5190  			}
  5191  			n += 2 + runtime.Sov(uint64(x.OneofUint32))
  5192  		case *TestAllTypes_OneofNestedMessage:
  5193  			if x == nil {
  5194  				break
  5195  			}
  5196  			l = options.Size(x.OneofNestedMessage)
  5197  			n += 2 + l + runtime.Sov(uint64(l))
  5198  		case *TestAllTypes_OneofString:
  5199  			if x == nil {
  5200  				break
  5201  			}
  5202  			l = len(x.OneofString)
  5203  			n += 2 + l + runtime.Sov(uint64(l))
  5204  		case *TestAllTypes_OneofBytes:
  5205  			if x == nil {
  5206  				break
  5207  			}
  5208  			l = len(x.OneofBytes)
  5209  			n += 2 + l + runtime.Sov(uint64(l))
  5210  		case *TestAllTypes_OneofBool:
  5211  			if x == nil {
  5212  				break
  5213  			}
  5214  			n += 3
  5215  		case *TestAllTypes_OneofUint64:
  5216  			if x == nil {
  5217  				break
  5218  			}
  5219  			n += 2 + runtime.Sov(uint64(x.OneofUint64))
  5220  		case *TestAllTypes_OneofFloat:
  5221  			if x == nil {
  5222  				break
  5223  			}
  5224  			n += 6
  5225  		case *TestAllTypes_OneofDouble:
  5226  			if x == nil {
  5227  				break
  5228  			}
  5229  			n += 10
  5230  		case *TestAllTypes_OneofEnum:
  5231  			if x == nil {
  5232  				break
  5233  			}
  5234  			n += 2 + runtime.Sov(uint64(x.OneofEnum))
  5235  		}
  5236  		if x.unknownFields != nil {
  5237  			n += len(x.unknownFields)
  5238  		}
  5239  		return protoiface.SizeOutput{
  5240  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5241  			Size:              n,
  5242  		}
  5243  	}
  5244  
  5245  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
  5246  		x := input.Message.Interface().(*TestAllTypes)
  5247  		if x == nil {
  5248  			return protoiface.MarshalOutput{
  5249  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5250  				Buf:               input.Buf,
  5251  			}, nil
  5252  		}
  5253  		options := runtime.MarshalInputToOptions(input)
  5254  		_ = options
  5255  		size := options.Size(x)
  5256  		dAtA := make([]byte, size)
  5257  		i := len(dAtA)
  5258  		_ = i
  5259  		var l int
  5260  		_ = l
  5261  		if x.unknownFields != nil {
  5262  			i -= len(x.unknownFields)
  5263  			copy(dAtA[i:], x.unknownFields)
  5264  		}
  5265  		switch x := x.OneofField.(type) {
  5266  		case *TestAllTypes_OneofUint32:
  5267  			i = runtime.EncodeVarint(dAtA, i, uint64(x.OneofUint32))
  5268  			i--
  5269  			dAtA[i] = 0x6
  5270  			i--
  5271  			dAtA[i] = 0xf8
  5272  		case *TestAllTypes_OneofNestedMessage:
  5273  			encoded, err := options.Marshal(x.OneofNestedMessage)
  5274  			if err != nil {
  5275  				return protoiface.MarshalOutput{
  5276  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5277  					Buf:               input.Buf,
  5278  				}, err
  5279  			}
  5280  			i -= len(encoded)
  5281  			copy(dAtA[i:], encoded)
  5282  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5283  			i--
  5284  			dAtA[i] = 0x7
  5285  			i--
  5286  			dAtA[i] = 0x82
  5287  		case *TestAllTypes_OneofString:
  5288  			i -= len(x.OneofString)
  5289  			copy(dAtA[i:], x.OneofString)
  5290  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OneofString)))
  5291  			i--
  5292  			dAtA[i] = 0x7
  5293  			i--
  5294  			dAtA[i] = 0x8a
  5295  		case *TestAllTypes_OneofBytes:
  5296  			i -= len(x.OneofBytes)
  5297  			copy(dAtA[i:], x.OneofBytes)
  5298  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OneofBytes)))
  5299  			i--
  5300  			dAtA[i] = 0x7
  5301  			i--
  5302  			dAtA[i] = 0x92
  5303  		case *TestAllTypes_OneofBool:
  5304  			i--
  5305  			if x.OneofBool {
  5306  				dAtA[i] = 1
  5307  			} else {
  5308  				dAtA[i] = 0
  5309  			}
  5310  			i--
  5311  			dAtA[i] = 0x7
  5312  			i--
  5313  			dAtA[i] = 0x98
  5314  		case *TestAllTypes_OneofUint64:
  5315  			i = runtime.EncodeVarint(dAtA, i, uint64(x.OneofUint64))
  5316  			i--
  5317  			dAtA[i] = 0x7
  5318  			i--
  5319  			dAtA[i] = 0xa0
  5320  		case *TestAllTypes_OneofFloat:
  5321  			i -= 4
  5322  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(x.OneofFloat))))
  5323  			i--
  5324  			dAtA[i] = 0x7
  5325  			i--
  5326  			dAtA[i] = 0xad
  5327  		case *TestAllTypes_OneofDouble:
  5328  			i -= 8
  5329  			binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(x.OneofDouble))))
  5330  			i--
  5331  			dAtA[i] = 0x7
  5332  			i--
  5333  			dAtA[i] = 0xb1
  5334  		case *TestAllTypes_OneofEnum:
  5335  			i = runtime.EncodeVarint(dAtA, i, uint64(x.OneofEnum))
  5336  			i--
  5337  			dAtA[i] = 0x7
  5338  			i--
  5339  			dAtA[i] = 0xb8
  5340  		}
  5341  		if x.SingularImportEnum != 0 {
  5342  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularImportEnum))
  5343  			i--
  5344  			dAtA[i] = 0x6
  5345  			i--
  5346  			dAtA[i] = 0xb8
  5347  		}
  5348  		if x.SingularForeignEnum != 0 {
  5349  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularForeignEnum))
  5350  			i--
  5351  			dAtA[i] = 0x6
  5352  			i--
  5353  			dAtA[i] = 0xb0
  5354  		}
  5355  		if x.SingularNestedEnum != 0 {
  5356  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularNestedEnum))
  5357  			i--
  5358  			dAtA[i] = 0x6
  5359  			i--
  5360  			dAtA[i] = 0xa8
  5361  		}
  5362  		if x.SingularImportMessage != nil {
  5363  			encoded, err := options.Marshal(x.SingularImportMessage)
  5364  			if err != nil {
  5365  				return protoiface.MarshalOutput{
  5366  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5367  					Buf:               input.Buf,
  5368  				}, err
  5369  			}
  5370  			i -= len(encoded)
  5371  			copy(dAtA[i:], encoded)
  5372  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5373  			i--
  5374  			dAtA[i] = 0x6
  5375  			i--
  5376  			dAtA[i] = 0xa2
  5377  		}
  5378  		if x.SingularForeignMessage != nil {
  5379  			encoded, err := options.Marshal(x.SingularForeignMessage)
  5380  			if err != nil {
  5381  				return protoiface.MarshalOutput{
  5382  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5383  					Buf:               input.Buf,
  5384  				}, err
  5385  			}
  5386  			i -= len(encoded)
  5387  			copy(dAtA[i:], encoded)
  5388  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5389  			i--
  5390  			dAtA[i] = 0x6
  5391  			i--
  5392  			dAtA[i] = 0x9a
  5393  		}
  5394  		if x.SingularNestedMessage != nil {
  5395  			encoded, err := options.Marshal(x.SingularNestedMessage)
  5396  			if err != nil {
  5397  				return protoiface.MarshalOutput{
  5398  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5399  					Buf:               input.Buf,
  5400  				}, err
  5401  			}
  5402  			i -= len(encoded)
  5403  			copy(dAtA[i:], encoded)
  5404  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5405  			i--
  5406  			dAtA[i] = 0x6
  5407  			i--
  5408  			dAtA[i] = 0x92
  5409  		}
  5410  		if len(x.SingularBytes) > 0 {
  5411  			i -= len(x.SingularBytes)
  5412  			copy(dAtA[i:], x.SingularBytes)
  5413  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SingularBytes)))
  5414  			i--
  5415  			dAtA[i] = 0x5
  5416  			i--
  5417  			dAtA[i] = 0xfa
  5418  		}
  5419  		if len(x.SingularString) > 0 {
  5420  			i -= len(x.SingularString)
  5421  			copy(dAtA[i:], x.SingularString)
  5422  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.SingularString)))
  5423  			i--
  5424  			dAtA[i] = 0x5
  5425  			i--
  5426  			dAtA[i] = 0xf2
  5427  		}
  5428  		if x.SingularBool {
  5429  			i--
  5430  			if x.SingularBool {
  5431  				dAtA[i] = 1
  5432  			} else {
  5433  				dAtA[i] = 0
  5434  			}
  5435  			i--
  5436  			dAtA[i] = 0x5
  5437  			i--
  5438  			dAtA[i] = 0xe8
  5439  		}
  5440  		if x.SingularDouble != 0 || math.Signbit(x.SingularDouble) {
  5441  			i -= 8
  5442  			binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(x.SingularDouble))))
  5443  			i--
  5444  			dAtA[i] = 0x5
  5445  			i--
  5446  			dAtA[i] = 0xe1
  5447  		}
  5448  		if x.SingularFloat != 0 || math.Signbit(float64(x.SingularFloat)) {
  5449  			i -= 4
  5450  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(x.SingularFloat))))
  5451  			i--
  5452  			dAtA[i] = 0x5
  5453  			i--
  5454  			dAtA[i] = 0xdd
  5455  		}
  5456  		if x.SingularSfixed64 != 0 {
  5457  			i -= 8
  5458  			binary.LittleEndian.PutUint64(dAtA[i:], uint64(x.SingularSfixed64))
  5459  			i--
  5460  			dAtA[i] = 0x5
  5461  			i--
  5462  			dAtA[i] = 0xd1
  5463  		}
  5464  		if x.SingularSfixed32 != 0 {
  5465  			i -= 4
  5466  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(x.SingularSfixed32))
  5467  			i--
  5468  			dAtA[i] = 0x5
  5469  			i--
  5470  			dAtA[i] = 0xcd
  5471  		}
  5472  		if x.SingularFixed64 != 0 {
  5473  			i -= 8
  5474  			binary.LittleEndian.PutUint64(dAtA[i:], uint64(x.SingularFixed64))
  5475  			i--
  5476  			dAtA[i] = 0x5
  5477  			i--
  5478  			dAtA[i] = 0xc1
  5479  		}
  5480  		if x.SingularFixed32 != 0 {
  5481  			i -= 4
  5482  			binary.LittleEndian.PutUint32(dAtA[i:], uint32(x.SingularFixed32))
  5483  			i--
  5484  			dAtA[i] = 0x5
  5485  			i--
  5486  			dAtA[i] = 0xbd
  5487  		}
  5488  		if x.SingularSint64 != 0 {
  5489  			i = runtime.EncodeVarint(dAtA, i, uint64((uint64(x.SingularSint64)<<1)^uint64((x.SingularSint64>>63))))
  5490  			i--
  5491  			dAtA[i] = 0x5
  5492  			i--
  5493  			dAtA[i] = 0xb0
  5494  		}
  5495  		if x.SingularSint32 != 0 {
  5496  			i = runtime.EncodeVarint(dAtA, i, uint64((uint32(x.SingularSint32)<<1)^uint32((x.SingularSint32>>31))))
  5497  			i--
  5498  			dAtA[i] = 0x5
  5499  			i--
  5500  			dAtA[i] = 0xa8
  5501  		}
  5502  		if x.SingularUint64 != 0 {
  5503  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularUint64))
  5504  			i--
  5505  			dAtA[i] = 0x5
  5506  			i--
  5507  			dAtA[i] = 0xa0
  5508  		}
  5509  		if x.SingularUint32 != 0 {
  5510  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularUint32))
  5511  			i--
  5512  			dAtA[i] = 0x5
  5513  			i--
  5514  			dAtA[i] = 0x98
  5515  		}
  5516  		if x.SingularInt64 != 0 {
  5517  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularInt64))
  5518  			i--
  5519  			dAtA[i] = 0x5
  5520  			i--
  5521  			dAtA[i] = 0x90
  5522  		}
  5523  		if x.SingularInt32 != 0 {
  5524  			i = runtime.EncodeVarint(dAtA, i, uint64(x.SingularInt32))
  5525  			i--
  5526  			dAtA[i] = 0x5
  5527  			i--
  5528  			dAtA[i] = 0x88
  5529  		}
  5530  		if len(x.MapStringNestedEnum) > 0 {
  5531  			MaRsHaLmAp := func(k string, v TestAllTypes_NestedEnum) (protoiface.MarshalOutput, error) {
  5532  				baseI := i
  5533  				i = runtime.EncodeVarint(dAtA, i, uint64(v))
  5534  				i--
  5535  				dAtA[i] = 0x10
  5536  				i -= len(k)
  5537  				copy(dAtA[i:], k)
  5538  				i = runtime.EncodeVarint(dAtA, i, uint64(len(k)))
  5539  				i--
  5540  				dAtA[i] = 0xa
  5541  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5542  				i--
  5543  				dAtA[i] = 0x4
  5544  				i--
  5545  				dAtA[i] = 0xca
  5546  				return protoiface.MarshalOutput{}, nil
  5547  			}
  5548  			if options.Deterministic {
  5549  				keysForMapStringNestedEnum := make([]string, 0, len(x.MapStringNestedEnum))
  5550  				for k := range x.MapStringNestedEnum {
  5551  					keysForMapStringNestedEnum = append(keysForMapStringNestedEnum, string(k))
  5552  				}
  5553  				sort.Slice(keysForMapStringNestedEnum, func(i, j int) bool {
  5554  					return keysForMapStringNestedEnum[i] < keysForMapStringNestedEnum[j]
  5555  				})
  5556  				for iNdEx := len(keysForMapStringNestedEnum) - 1; iNdEx >= 0; iNdEx-- {
  5557  					v := x.MapStringNestedEnum[string(keysForMapStringNestedEnum[iNdEx])]
  5558  					out, err := MaRsHaLmAp(keysForMapStringNestedEnum[iNdEx], v)
  5559  					if err != nil {
  5560  						return out, err
  5561  					}
  5562  				}
  5563  			} else {
  5564  				for k := range x.MapStringNestedEnum {
  5565  					v := x.MapStringNestedEnum[k]
  5566  					out, err := MaRsHaLmAp(k, v)
  5567  					if err != nil {
  5568  						return out, err
  5569  					}
  5570  				}
  5571  			}
  5572  		}
  5573  		if len(x.MapStringNestedMessage) > 0 {
  5574  			MaRsHaLmAp := func(k string, v *TestAllTypes_NestedMessage) (protoiface.MarshalOutput, error) {
  5575  				baseI := i
  5576  				encoded, err := options.Marshal(v)
  5577  				if err != nil {
  5578  					return protoiface.MarshalOutput{
  5579  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  5580  						Buf:               input.Buf,
  5581  					}, err
  5582  				}
  5583  				i -= len(encoded)
  5584  				copy(dAtA[i:], encoded)
  5585  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  5586  				i--
  5587  				dAtA[i] = 0x12
  5588  				i -= len(k)
  5589  				copy(dAtA[i:], k)
  5590  				i = runtime.EncodeVarint(dAtA, i, uint64(len(k)))
  5591  				i--
  5592  				dAtA[i] = 0xa
  5593  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5594  				i--
  5595  				dAtA[i] = 0x4
  5596  				i--
  5597  				dAtA[i] = 0xba
  5598  				return protoiface.MarshalOutput{}, nil
  5599  			}
  5600  			if options.Deterministic {
  5601  				keysForMapStringNestedMessage := make([]string, 0, len(x.MapStringNestedMessage))
  5602  				for k := range x.MapStringNestedMessage {
  5603  					keysForMapStringNestedMessage = append(keysForMapStringNestedMessage, string(k))
  5604  				}
  5605  				sort.Slice(keysForMapStringNestedMessage, func(i, j int) bool {
  5606  					return keysForMapStringNestedMessage[i] < keysForMapStringNestedMessage[j]
  5607  				})
  5608  				for iNdEx := len(keysForMapStringNestedMessage) - 1; iNdEx >= 0; iNdEx-- {
  5609  					v := x.MapStringNestedMessage[string(keysForMapStringNestedMessage[iNdEx])]
  5610  					out, err := MaRsHaLmAp(keysForMapStringNestedMessage[iNdEx], v)
  5611  					if err != nil {
  5612  						return out, err
  5613  					}
  5614  				}
  5615  			} else {
  5616  				for k := range x.MapStringNestedMessage {
  5617  					v := x.MapStringNestedMessage[k]
  5618  					out, err := MaRsHaLmAp(k, v)
  5619  					if err != nil {
  5620  						return out, err
  5621  					}
  5622  				}
  5623  			}
  5624  		}
  5625  		if len(x.MapStringBytes) > 0 {
  5626  			MaRsHaLmAp := func(k string, v []byte) (protoiface.MarshalOutput, error) {
  5627  				baseI := i
  5628  				i -= len(v)
  5629  				copy(dAtA[i:], v)
  5630  				i = runtime.EncodeVarint(dAtA, i, uint64(len(v)))
  5631  				i--
  5632  				dAtA[i] = 0x12
  5633  				i -= len(k)
  5634  				copy(dAtA[i:], k)
  5635  				i = runtime.EncodeVarint(dAtA, i, uint64(len(k)))
  5636  				i--
  5637  				dAtA[i] = 0xa
  5638  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5639  				i--
  5640  				dAtA[i] = 0x4
  5641  				i--
  5642  				dAtA[i] = 0xb2
  5643  				return protoiface.MarshalOutput{}, nil
  5644  			}
  5645  			if options.Deterministic {
  5646  				keysForMapStringBytes := make([]string, 0, len(x.MapStringBytes))
  5647  				for k := range x.MapStringBytes {
  5648  					keysForMapStringBytes = append(keysForMapStringBytes, string(k))
  5649  				}
  5650  				sort.Slice(keysForMapStringBytes, func(i, j int) bool {
  5651  					return keysForMapStringBytes[i] < keysForMapStringBytes[j]
  5652  				})
  5653  				for iNdEx := len(keysForMapStringBytes) - 1; iNdEx >= 0; iNdEx-- {
  5654  					v := x.MapStringBytes[string(keysForMapStringBytes[iNdEx])]
  5655  					out, err := MaRsHaLmAp(keysForMapStringBytes[iNdEx], v)
  5656  					if err != nil {
  5657  						return out, err
  5658  					}
  5659  				}
  5660  			} else {
  5661  				for k := range x.MapStringBytes {
  5662  					v := x.MapStringBytes[k]
  5663  					out, err := MaRsHaLmAp(k, v)
  5664  					if err != nil {
  5665  						return out, err
  5666  					}
  5667  				}
  5668  			}
  5669  		}
  5670  		if len(x.MapStringString) > 0 {
  5671  			MaRsHaLmAp := func(k string, v string) (protoiface.MarshalOutput, error) {
  5672  				baseI := i
  5673  				i -= len(v)
  5674  				copy(dAtA[i:], v)
  5675  				i = runtime.EncodeVarint(dAtA, i, uint64(len(v)))
  5676  				i--
  5677  				dAtA[i] = 0x12
  5678  				i -= len(k)
  5679  				copy(dAtA[i:], k)
  5680  				i = runtime.EncodeVarint(dAtA, i, uint64(len(k)))
  5681  				i--
  5682  				dAtA[i] = 0xa
  5683  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5684  				i--
  5685  				dAtA[i] = 0x4
  5686  				i--
  5687  				dAtA[i] = 0xaa
  5688  				return protoiface.MarshalOutput{}, nil
  5689  			}
  5690  			if options.Deterministic {
  5691  				keysForMapStringString := make([]string, 0, len(x.MapStringString))
  5692  				for k := range x.MapStringString {
  5693  					keysForMapStringString = append(keysForMapStringString, string(k))
  5694  				}
  5695  				sort.Slice(keysForMapStringString, func(i, j int) bool {
  5696  					return keysForMapStringString[i] < keysForMapStringString[j]
  5697  				})
  5698  				for iNdEx := len(keysForMapStringString) - 1; iNdEx >= 0; iNdEx-- {
  5699  					v := x.MapStringString[string(keysForMapStringString[iNdEx])]
  5700  					out, err := MaRsHaLmAp(keysForMapStringString[iNdEx], v)
  5701  					if err != nil {
  5702  						return out, err
  5703  					}
  5704  				}
  5705  			} else {
  5706  				for k := range x.MapStringString {
  5707  					v := x.MapStringString[k]
  5708  					out, err := MaRsHaLmAp(k, v)
  5709  					if err != nil {
  5710  						return out, err
  5711  					}
  5712  				}
  5713  			}
  5714  		}
  5715  		if len(x.MapBoolBool) > 0 {
  5716  			MaRsHaLmAp := func(k bool, v bool) (protoiface.MarshalOutput, error) {
  5717  				baseI := i
  5718  				i--
  5719  				if v {
  5720  					dAtA[i] = 1
  5721  				} else {
  5722  					dAtA[i] = 0
  5723  				}
  5724  				i--
  5725  				dAtA[i] = 0x10
  5726  				i--
  5727  				if k {
  5728  					dAtA[i] = 1
  5729  				} else {
  5730  					dAtA[i] = 0
  5731  				}
  5732  				i--
  5733  				dAtA[i] = 0x8
  5734  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5735  				i--
  5736  				dAtA[i] = 0x4
  5737  				i--
  5738  				dAtA[i] = 0xa2
  5739  				return protoiface.MarshalOutput{}, nil
  5740  			}
  5741  			if options.Deterministic {
  5742  				keysForMapBoolBool := make([]bool, 0, len(x.MapBoolBool))
  5743  				for k := range x.MapBoolBool {
  5744  					keysForMapBoolBool = append(keysForMapBoolBool, bool(k))
  5745  				}
  5746  				sort.Slice(keysForMapBoolBool, func(i, j int) bool {
  5747  					return !keysForMapBoolBool[i] && keysForMapBoolBool[j]
  5748  				})
  5749  				for iNdEx := len(keysForMapBoolBool) - 1; iNdEx >= 0; iNdEx-- {
  5750  					v := x.MapBoolBool[bool(keysForMapBoolBool[iNdEx])]
  5751  					out, err := MaRsHaLmAp(keysForMapBoolBool[iNdEx], v)
  5752  					if err != nil {
  5753  						return out, err
  5754  					}
  5755  				}
  5756  			} else {
  5757  				for k := range x.MapBoolBool {
  5758  					v := x.MapBoolBool[k]
  5759  					out, err := MaRsHaLmAp(k, v)
  5760  					if err != nil {
  5761  						return out, err
  5762  					}
  5763  				}
  5764  			}
  5765  		}
  5766  		if len(x.MapInt32Double) > 0 {
  5767  			MaRsHaLmAp := func(k int32, v float64) (protoiface.MarshalOutput, error) {
  5768  				baseI := i
  5769  				i -= 8
  5770  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(v))))
  5771  				i--
  5772  				dAtA[i] = 0x11
  5773  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  5774  				i--
  5775  				dAtA[i] = 0x8
  5776  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5777  				i--
  5778  				dAtA[i] = 0x4
  5779  				i--
  5780  				dAtA[i] = 0x9a
  5781  				return protoiface.MarshalOutput{}, nil
  5782  			}
  5783  			if options.Deterministic {
  5784  				keysForMapInt32Double := make([]int32, 0, len(x.MapInt32Double))
  5785  				for k := range x.MapInt32Double {
  5786  					keysForMapInt32Double = append(keysForMapInt32Double, int32(k))
  5787  				}
  5788  				sort.Slice(keysForMapInt32Double, func(i, j int) bool {
  5789  					return keysForMapInt32Double[i] < keysForMapInt32Double[j]
  5790  				})
  5791  				for iNdEx := len(keysForMapInt32Double) - 1; iNdEx >= 0; iNdEx-- {
  5792  					v := x.MapInt32Double[int32(keysForMapInt32Double[iNdEx])]
  5793  					out, err := MaRsHaLmAp(keysForMapInt32Double[iNdEx], v)
  5794  					if err != nil {
  5795  						return out, err
  5796  					}
  5797  				}
  5798  			} else {
  5799  				for k := range x.MapInt32Double {
  5800  					v := x.MapInt32Double[k]
  5801  					out, err := MaRsHaLmAp(k, v)
  5802  					if err != nil {
  5803  						return out, err
  5804  					}
  5805  				}
  5806  			}
  5807  		}
  5808  		if len(x.MapInt32Float) > 0 {
  5809  			MaRsHaLmAp := func(k int32, v float32) (protoiface.MarshalOutput, error) {
  5810  				baseI := i
  5811  				i -= 4
  5812  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(v))))
  5813  				i--
  5814  				dAtA[i] = 0x15
  5815  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  5816  				i--
  5817  				dAtA[i] = 0x8
  5818  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5819  				i--
  5820  				dAtA[i] = 0x4
  5821  				i--
  5822  				dAtA[i] = 0x92
  5823  				return protoiface.MarshalOutput{}, nil
  5824  			}
  5825  			if options.Deterministic {
  5826  				keysForMapInt32Float := make([]int32, 0, len(x.MapInt32Float))
  5827  				for k := range x.MapInt32Float {
  5828  					keysForMapInt32Float = append(keysForMapInt32Float, int32(k))
  5829  				}
  5830  				sort.Slice(keysForMapInt32Float, func(i, j int) bool {
  5831  					return keysForMapInt32Float[i] < keysForMapInt32Float[j]
  5832  				})
  5833  				for iNdEx := len(keysForMapInt32Float) - 1; iNdEx >= 0; iNdEx-- {
  5834  					v := x.MapInt32Float[int32(keysForMapInt32Float[iNdEx])]
  5835  					out, err := MaRsHaLmAp(keysForMapInt32Float[iNdEx], v)
  5836  					if err != nil {
  5837  						return out, err
  5838  					}
  5839  				}
  5840  			} else {
  5841  				for k := range x.MapInt32Float {
  5842  					v := x.MapInt32Float[k]
  5843  					out, err := MaRsHaLmAp(k, v)
  5844  					if err != nil {
  5845  						return out, err
  5846  					}
  5847  				}
  5848  			}
  5849  		}
  5850  		if len(x.MapSfixed64Sfixed64) > 0 {
  5851  			MaRsHaLmAp := func(k int64, v int64) (protoiface.MarshalOutput, error) {
  5852  				baseI := i
  5853  				i -= 8
  5854  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(v))
  5855  				i--
  5856  				dAtA[i] = 0x11
  5857  				i -= 8
  5858  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(k))
  5859  				i--
  5860  				dAtA[i] = 0x9
  5861  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5862  				i--
  5863  				dAtA[i] = 0x4
  5864  				i--
  5865  				dAtA[i] = 0x8a
  5866  				return protoiface.MarshalOutput{}, nil
  5867  			}
  5868  			if options.Deterministic {
  5869  				keysForMapSfixed64Sfixed64 := make([]int64, 0, len(x.MapSfixed64Sfixed64))
  5870  				for k := range x.MapSfixed64Sfixed64 {
  5871  					keysForMapSfixed64Sfixed64 = append(keysForMapSfixed64Sfixed64, int64(k))
  5872  				}
  5873  				sort.Slice(keysForMapSfixed64Sfixed64, func(i, j int) bool {
  5874  					return keysForMapSfixed64Sfixed64[i] < keysForMapSfixed64Sfixed64[j]
  5875  				})
  5876  				for iNdEx := len(keysForMapSfixed64Sfixed64) - 1; iNdEx >= 0; iNdEx-- {
  5877  					v := x.MapSfixed64Sfixed64[int64(keysForMapSfixed64Sfixed64[iNdEx])]
  5878  					out, err := MaRsHaLmAp(keysForMapSfixed64Sfixed64[iNdEx], v)
  5879  					if err != nil {
  5880  						return out, err
  5881  					}
  5882  				}
  5883  			} else {
  5884  				for k := range x.MapSfixed64Sfixed64 {
  5885  					v := x.MapSfixed64Sfixed64[k]
  5886  					out, err := MaRsHaLmAp(k, v)
  5887  					if err != nil {
  5888  						return out, err
  5889  					}
  5890  				}
  5891  			}
  5892  		}
  5893  		if len(x.MapSfixed32Sfixed32) > 0 {
  5894  			MaRsHaLmAp := func(k int32, v int32) (protoiface.MarshalOutput, error) {
  5895  				baseI := i
  5896  				i -= 4
  5897  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(v))
  5898  				i--
  5899  				dAtA[i] = 0x15
  5900  				i -= 4
  5901  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(k))
  5902  				i--
  5903  				dAtA[i] = 0xd
  5904  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5905  				i--
  5906  				dAtA[i] = 0x4
  5907  				i--
  5908  				dAtA[i] = 0x82
  5909  				return protoiface.MarshalOutput{}, nil
  5910  			}
  5911  			if options.Deterministic {
  5912  				keysForMapSfixed32Sfixed32 := make([]int32, 0, len(x.MapSfixed32Sfixed32))
  5913  				for k := range x.MapSfixed32Sfixed32 {
  5914  					keysForMapSfixed32Sfixed32 = append(keysForMapSfixed32Sfixed32, int32(k))
  5915  				}
  5916  				sort.Slice(keysForMapSfixed32Sfixed32, func(i, j int) bool {
  5917  					return keysForMapSfixed32Sfixed32[i] < keysForMapSfixed32Sfixed32[j]
  5918  				})
  5919  				for iNdEx := len(keysForMapSfixed32Sfixed32) - 1; iNdEx >= 0; iNdEx-- {
  5920  					v := x.MapSfixed32Sfixed32[int32(keysForMapSfixed32Sfixed32[iNdEx])]
  5921  					out, err := MaRsHaLmAp(keysForMapSfixed32Sfixed32[iNdEx], v)
  5922  					if err != nil {
  5923  						return out, err
  5924  					}
  5925  				}
  5926  			} else {
  5927  				for k := range x.MapSfixed32Sfixed32 {
  5928  					v := x.MapSfixed32Sfixed32[k]
  5929  					out, err := MaRsHaLmAp(k, v)
  5930  					if err != nil {
  5931  						return out, err
  5932  					}
  5933  				}
  5934  			}
  5935  		}
  5936  		if len(x.MapFixed64Fixed64) > 0 {
  5937  			MaRsHaLmAp := func(k uint64, v uint64) (protoiface.MarshalOutput, error) {
  5938  				baseI := i
  5939  				i -= 8
  5940  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(v))
  5941  				i--
  5942  				dAtA[i] = 0x11
  5943  				i -= 8
  5944  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(k))
  5945  				i--
  5946  				dAtA[i] = 0x9
  5947  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5948  				i--
  5949  				dAtA[i] = 0x3
  5950  				i--
  5951  				dAtA[i] = 0xfa
  5952  				return protoiface.MarshalOutput{}, nil
  5953  			}
  5954  			if options.Deterministic {
  5955  				keysForMapFixed64Fixed64 := make([]uint64, 0, len(x.MapFixed64Fixed64))
  5956  				for k := range x.MapFixed64Fixed64 {
  5957  					keysForMapFixed64Fixed64 = append(keysForMapFixed64Fixed64, uint64(k))
  5958  				}
  5959  				sort.Slice(keysForMapFixed64Fixed64, func(i, j int) bool {
  5960  					return keysForMapFixed64Fixed64[i] < keysForMapFixed64Fixed64[j]
  5961  				})
  5962  				for iNdEx := len(keysForMapFixed64Fixed64) - 1; iNdEx >= 0; iNdEx-- {
  5963  					v := x.MapFixed64Fixed64[uint64(keysForMapFixed64Fixed64[iNdEx])]
  5964  					out, err := MaRsHaLmAp(keysForMapFixed64Fixed64[iNdEx], v)
  5965  					if err != nil {
  5966  						return out, err
  5967  					}
  5968  				}
  5969  			} else {
  5970  				for k := range x.MapFixed64Fixed64 {
  5971  					v := x.MapFixed64Fixed64[k]
  5972  					out, err := MaRsHaLmAp(k, v)
  5973  					if err != nil {
  5974  						return out, err
  5975  					}
  5976  				}
  5977  			}
  5978  		}
  5979  		if len(x.MapFixed32Fixed32) > 0 {
  5980  			MaRsHaLmAp := func(k uint32, v uint32) (protoiface.MarshalOutput, error) {
  5981  				baseI := i
  5982  				i -= 4
  5983  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(v))
  5984  				i--
  5985  				dAtA[i] = 0x15
  5986  				i -= 4
  5987  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(k))
  5988  				i--
  5989  				dAtA[i] = 0xd
  5990  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  5991  				i--
  5992  				dAtA[i] = 0x3
  5993  				i--
  5994  				dAtA[i] = 0xf2
  5995  				return protoiface.MarshalOutput{}, nil
  5996  			}
  5997  			if options.Deterministic {
  5998  				keysForMapFixed32Fixed32 := make([]uint32, 0, len(x.MapFixed32Fixed32))
  5999  				for k := range x.MapFixed32Fixed32 {
  6000  					keysForMapFixed32Fixed32 = append(keysForMapFixed32Fixed32, uint32(k))
  6001  				}
  6002  				sort.Slice(keysForMapFixed32Fixed32, func(i, j int) bool {
  6003  					return keysForMapFixed32Fixed32[i] < keysForMapFixed32Fixed32[j]
  6004  				})
  6005  				for iNdEx := len(keysForMapFixed32Fixed32) - 1; iNdEx >= 0; iNdEx-- {
  6006  					v := x.MapFixed32Fixed32[uint32(keysForMapFixed32Fixed32[iNdEx])]
  6007  					out, err := MaRsHaLmAp(keysForMapFixed32Fixed32[iNdEx], v)
  6008  					if err != nil {
  6009  						return out, err
  6010  					}
  6011  				}
  6012  			} else {
  6013  				for k := range x.MapFixed32Fixed32 {
  6014  					v := x.MapFixed32Fixed32[k]
  6015  					out, err := MaRsHaLmAp(k, v)
  6016  					if err != nil {
  6017  						return out, err
  6018  					}
  6019  				}
  6020  			}
  6021  		}
  6022  		if len(x.MapSint64Sint64) > 0 {
  6023  			MaRsHaLmAp := func(k int64, v int64) (protoiface.MarshalOutput, error) {
  6024  				baseI := i
  6025  				i = runtime.EncodeVarint(dAtA, i, uint64((uint64(v)<<1)^uint64((v>>63))))
  6026  				i--
  6027  				dAtA[i] = 0x10
  6028  				i = runtime.EncodeVarint(dAtA, i, uint64((uint64(k)<<1)^uint64((k>>63))))
  6029  				i--
  6030  				dAtA[i] = 0x8
  6031  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  6032  				i--
  6033  				dAtA[i] = 0x3
  6034  				i--
  6035  				dAtA[i] = 0xea
  6036  				return protoiface.MarshalOutput{}, nil
  6037  			}
  6038  			if options.Deterministic {
  6039  				keysForMapSint64Sint64 := make([]int64, 0, len(x.MapSint64Sint64))
  6040  				for k := range x.MapSint64Sint64 {
  6041  					keysForMapSint64Sint64 = append(keysForMapSint64Sint64, int64(k))
  6042  				}
  6043  				sort.Slice(keysForMapSint64Sint64, func(i, j int) bool {
  6044  					return keysForMapSint64Sint64[i] < keysForMapSint64Sint64[j]
  6045  				})
  6046  				for iNdEx := len(keysForMapSint64Sint64) - 1; iNdEx >= 0; iNdEx-- {
  6047  					v := x.MapSint64Sint64[int64(keysForMapSint64Sint64[iNdEx])]
  6048  					out, err := MaRsHaLmAp(keysForMapSint64Sint64[iNdEx], v)
  6049  					if err != nil {
  6050  						return out, err
  6051  					}
  6052  				}
  6053  			} else {
  6054  				for k := range x.MapSint64Sint64 {
  6055  					v := x.MapSint64Sint64[k]
  6056  					out, err := MaRsHaLmAp(k, v)
  6057  					if err != nil {
  6058  						return out, err
  6059  					}
  6060  				}
  6061  			}
  6062  		}
  6063  		if len(x.MapSint32Sint32) > 0 {
  6064  			MaRsHaLmAp := func(k int32, v int32) (protoiface.MarshalOutput, error) {
  6065  				baseI := i
  6066  				i = runtime.EncodeVarint(dAtA, i, uint64((uint32(v)<<1)^uint32((v>>31))))
  6067  				i--
  6068  				dAtA[i] = 0x10
  6069  				i = runtime.EncodeVarint(dAtA, i, uint64((uint32(k)<<1)^uint32((k>>31))))
  6070  				i--
  6071  				dAtA[i] = 0x8
  6072  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  6073  				i--
  6074  				dAtA[i] = 0x3
  6075  				i--
  6076  				dAtA[i] = 0xe2
  6077  				return protoiface.MarshalOutput{}, nil
  6078  			}
  6079  			if options.Deterministic {
  6080  				keysForMapSint32Sint32 := make([]int32, 0, len(x.MapSint32Sint32))
  6081  				for k := range x.MapSint32Sint32 {
  6082  					keysForMapSint32Sint32 = append(keysForMapSint32Sint32, int32(k))
  6083  				}
  6084  				sort.Slice(keysForMapSint32Sint32, func(i, j int) bool {
  6085  					return keysForMapSint32Sint32[i] < keysForMapSint32Sint32[j]
  6086  				})
  6087  				for iNdEx := len(keysForMapSint32Sint32) - 1; iNdEx >= 0; iNdEx-- {
  6088  					v := x.MapSint32Sint32[int32(keysForMapSint32Sint32[iNdEx])]
  6089  					out, err := MaRsHaLmAp(keysForMapSint32Sint32[iNdEx], v)
  6090  					if err != nil {
  6091  						return out, err
  6092  					}
  6093  				}
  6094  			} else {
  6095  				for k := range x.MapSint32Sint32 {
  6096  					v := x.MapSint32Sint32[k]
  6097  					out, err := MaRsHaLmAp(k, v)
  6098  					if err != nil {
  6099  						return out, err
  6100  					}
  6101  				}
  6102  			}
  6103  		}
  6104  		if len(x.MapUint64Uint64) > 0 {
  6105  			MaRsHaLmAp := func(k uint64, v uint64) (protoiface.MarshalOutput, error) {
  6106  				baseI := i
  6107  				i = runtime.EncodeVarint(dAtA, i, uint64(v))
  6108  				i--
  6109  				dAtA[i] = 0x10
  6110  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  6111  				i--
  6112  				dAtA[i] = 0x8
  6113  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  6114  				i--
  6115  				dAtA[i] = 0x3
  6116  				i--
  6117  				dAtA[i] = 0xda
  6118  				return protoiface.MarshalOutput{}, nil
  6119  			}
  6120  			if options.Deterministic {
  6121  				keysForMapUint64Uint64 := make([]uint64, 0, len(x.MapUint64Uint64))
  6122  				for k := range x.MapUint64Uint64 {
  6123  					keysForMapUint64Uint64 = append(keysForMapUint64Uint64, uint64(k))
  6124  				}
  6125  				sort.Slice(keysForMapUint64Uint64, func(i, j int) bool {
  6126  					return keysForMapUint64Uint64[i] < keysForMapUint64Uint64[j]
  6127  				})
  6128  				for iNdEx := len(keysForMapUint64Uint64) - 1; iNdEx >= 0; iNdEx-- {
  6129  					v := x.MapUint64Uint64[uint64(keysForMapUint64Uint64[iNdEx])]
  6130  					out, err := MaRsHaLmAp(keysForMapUint64Uint64[iNdEx], v)
  6131  					if err != nil {
  6132  						return out, err
  6133  					}
  6134  				}
  6135  			} else {
  6136  				for k := range x.MapUint64Uint64 {
  6137  					v := x.MapUint64Uint64[k]
  6138  					out, err := MaRsHaLmAp(k, v)
  6139  					if err != nil {
  6140  						return out, err
  6141  					}
  6142  				}
  6143  			}
  6144  		}
  6145  		if len(x.MapUint32Uint32) > 0 {
  6146  			MaRsHaLmAp := func(k uint32, v uint32) (protoiface.MarshalOutput, error) {
  6147  				baseI := i
  6148  				i = runtime.EncodeVarint(dAtA, i, uint64(v))
  6149  				i--
  6150  				dAtA[i] = 0x10
  6151  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  6152  				i--
  6153  				dAtA[i] = 0x8
  6154  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  6155  				i--
  6156  				dAtA[i] = 0x3
  6157  				i--
  6158  				dAtA[i] = 0xd2
  6159  				return protoiface.MarshalOutput{}, nil
  6160  			}
  6161  			if options.Deterministic {
  6162  				keysForMapUint32Uint32 := make([]uint32, 0, len(x.MapUint32Uint32))
  6163  				for k := range x.MapUint32Uint32 {
  6164  					keysForMapUint32Uint32 = append(keysForMapUint32Uint32, uint32(k))
  6165  				}
  6166  				sort.Slice(keysForMapUint32Uint32, func(i, j int) bool {
  6167  					return keysForMapUint32Uint32[i] < keysForMapUint32Uint32[j]
  6168  				})
  6169  				for iNdEx := len(keysForMapUint32Uint32) - 1; iNdEx >= 0; iNdEx-- {
  6170  					v := x.MapUint32Uint32[uint32(keysForMapUint32Uint32[iNdEx])]
  6171  					out, err := MaRsHaLmAp(keysForMapUint32Uint32[iNdEx], v)
  6172  					if err != nil {
  6173  						return out, err
  6174  					}
  6175  				}
  6176  			} else {
  6177  				for k := range x.MapUint32Uint32 {
  6178  					v := x.MapUint32Uint32[k]
  6179  					out, err := MaRsHaLmAp(k, v)
  6180  					if err != nil {
  6181  						return out, err
  6182  					}
  6183  				}
  6184  			}
  6185  		}
  6186  		if len(x.MapInt64Int64) > 0 {
  6187  			MaRsHaLmAp := func(k int64, v int64) (protoiface.MarshalOutput, error) {
  6188  				baseI := i
  6189  				i = runtime.EncodeVarint(dAtA, i, uint64(v))
  6190  				i--
  6191  				dAtA[i] = 0x10
  6192  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  6193  				i--
  6194  				dAtA[i] = 0x8
  6195  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  6196  				i--
  6197  				dAtA[i] = 0x3
  6198  				i--
  6199  				dAtA[i] = 0xca
  6200  				return protoiface.MarshalOutput{}, nil
  6201  			}
  6202  			if options.Deterministic {
  6203  				keysForMapInt64Int64 := make([]int64, 0, len(x.MapInt64Int64))
  6204  				for k := range x.MapInt64Int64 {
  6205  					keysForMapInt64Int64 = append(keysForMapInt64Int64, int64(k))
  6206  				}
  6207  				sort.Slice(keysForMapInt64Int64, func(i, j int) bool {
  6208  					return keysForMapInt64Int64[i] < keysForMapInt64Int64[j]
  6209  				})
  6210  				for iNdEx := len(keysForMapInt64Int64) - 1; iNdEx >= 0; iNdEx-- {
  6211  					v := x.MapInt64Int64[int64(keysForMapInt64Int64[iNdEx])]
  6212  					out, err := MaRsHaLmAp(keysForMapInt64Int64[iNdEx], v)
  6213  					if err != nil {
  6214  						return out, err
  6215  					}
  6216  				}
  6217  			} else {
  6218  				for k := range x.MapInt64Int64 {
  6219  					v := x.MapInt64Int64[k]
  6220  					out, err := MaRsHaLmAp(k, v)
  6221  					if err != nil {
  6222  						return out, err
  6223  					}
  6224  				}
  6225  			}
  6226  		}
  6227  		if len(x.MapInt32Int32) > 0 {
  6228  			MaRsHaLmAp := func(k int32, v int32) (protoiface.MarshalOutput, error) {
  6229  				baseI := i
  6230  				i = runtime.EncodeVarint(dAtA, i, uint64(v))
  6231  				i--
  6232  				dAtA[i] = 0x10
  6233  				i = runtime.EncodeVarint(dAtA, i, uint64(k))
  6234  				i--
  6235  				dAtA[i] = 0x8
  6236  				i = runtime.EncodeVarint(dAtA, i, uint64(baseI-i))
  6237  				i--
  6238  				dAtA[i] = 0x3
  6239  				i--
  6240  				dAtA[i] = 0xc2
  6241  				return protoiface.MarshalOutput{}, nil
  6242  			}
  6243  			if options.Deterministic {
  6244  				keysForMapInt32Int32 := make([]int32, 0, len(x.MapInt32Int32))
  6245  				for k := range x.MapInt32Int32 {
  6246  					keysForMapInt32Int32 = append(keysForMapInt32Int32, int32(k))
  6247  				}
  6248  				sort.Slice(keysForMapInt32Int32, func(i, j int) bool {
  6249  					return keysForMapInt32Int32[i] < keysForMapInt32Int32[j]
  6250  				})
  6251  				for iNdEx := len(keysForMapInt32Int32) - 1; iNdEx >= 0; iNdEx-- {
  6252  					v := x.MapInt32Int32[int32(keysForMapInt32Int32[iNdEx])]
  6253  					out, err := MaRsHaLmAp(keysForMapInt32Int32[iNdEx], v)
  6254  					if err != nil {
  6255  						return out, err
  6256  					}
  6257  				}
  6258  			} else {
  6259  				for k := range x.MapInt32Int32 {
  6260  					v := x.MapInt32Int32[k]
  6261  					out, err := MaRsHaLmAp(k, v)
  6262  					if err != nil {
  6263  						return out, err
  6264  					}
  6265  				}
  6266  			}
  6267  		}
  6268  		if len(x.RepeatedImportenum) > 0 {
  6269  			var pksize2 int
  6270  			for _, num := range x.RepeatedImportenum {
  6271  				pksize2 += runtime.Sov(uint64(num))
  6272  			}
  6273  			i -= pksize2
  6274  			j1 := i
  6275  			for _, num1 := range x.RepeatedImportenum {
  6276  				num := uint64(num1)
  6277  				for num >= 1<<7 {
  6278  					dAtA[j1] = uint8(uint64(num)&0x7f | 0x80)
  6279  					num >>= 7
  6280  					j1++
  6281  				}
  6282  				dAtA[j1] = uint8(num)
  6283  				j1++
  6284  			}
  6285  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize2))
  6286  			i--
  6287  			dAtA[i] = 0x3
  6288  			i--
  6289  			dAtA[i] = 0xaa
  6290  		}
  6291  		if len(x.RepeatedForeignEnum) > 0 {
  6292  			var pksize4 int
  6293  			for _, num := range x.RepeatedForeignEnum {
  6294  				pksize4 += runtime.Sov(uint64(num))
  6295  			}
  6296  			i -= pksize4
  6297  			j3 := i
  6298  			for _, num1 := range x.RepeatedForeignEnum {
  6299  				num := uint64(num1)
  6300  				for num >= 1<<7 {
  6301  					dAtA[j3] = uint8(uint64(num)&0x7f | 0x80)
  6302  					num >>= 7
  6303  					j3++
  6304  				}
  6305  				dAtA[j3] = uint8(num)
  6306  				j3++
  6307  			}
  6308  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize4))
  6309  			i--
  6310  			dAtA[i] = 0x3
  6311  			i--
  6312  			dAtA[i] = 0xa2
  6313  		}
  6314  		if len(x.RepeatedNestedEnum) > 0 {
  6315  			var pksize6 int
  6316  			for _, num := range x.RepeatedNestedEnum {
  6317  				pksize6 += runtime.Sov(uint64(num))
  6318  			}
  6319  			i -= pksize6
  6320  			j5 := i
  6321  			for _, num1 := range x.RepeatedNestedEnum {
  6322  				num := uint64(num1)
  6323  				for num >= 1<<7 {
  6324  					dAtA[j5] = uint8(uint64(num)&0x7f | 0x80)
  6325  					num >>= 7
  6326  					j5++
  6327  				}
  6328  				dAtA[j5] = uint8(num)
  6329  				j5++
  6330  			}
  6331  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize6))
  6332  			i--
  6333  			dAtA[i] = 0x3
  6334  			i--
  6335  			dAtA[i] = 0x9a
  6336  		}
  6337  		if len(x.RepeatedImportmessage) > 0 {
  6338  			for iNdEx := len(x.RepeatedImportmessage) - 1; iNdEx >= 0; iNdEx-- {
  6339  				encoded, err := options.Marshal(x.RepeatedImportmessage[iNdEx])
  6340  				if err != nil {
  6341  					return protoiface.MarshalOutput{
  6342  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6343  						Buf:               input.Buf,
  6344  					}, err
  6345  				}
  6346  				i -= len(encoded)
  6347  				copy(dAtA[i:], encoded)
  6348  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  6349  				i--
  6350  				dAtA[i] = 0x3
  6351  				i--
  6352  				dAtA[i] = 0x92
  6353  			}
  6354  		}
  6355  		if len(x.RepeatedForeignMessage) > 0 {
  6356  			for iNdEx := len(x.RepeatedForeignMessage) - 1; iNdEx >= 0; iNdEx-- {
  6357  				encoded, err := options.Marshal(x.RepeatedForeignMessage[iNdEx])
  6358  				if err != nil {
  6359  					return protoiface.MarshalOutput{
  6360  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6361  						Buf:               input.Buf,
  6362  					}, err
  6363  				}
  6364  				i -= len(encoded)
  6365  				copy(dAtA[i:], encoded)
  6366  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  6367  				i--
  6368  				dAtA[i] = 0x3
  6369  				i--
  6370  				dAtA[i] = 0x8a
  6371  			}
  6372  		}
  6373  		if len(x.RepeatedNestedMessage) > 0 {
  6374  			for iNdEx := len(x.RepeatedNestedMessage) - 1; iNdEx >= 0; iNdEx-- {
  6375  				encoded, err := options.Marshal(x.RepeatedNestedMessage[iNdEx])
  6376  				if err != nil {
  6377  					return protoiface.MarshalOutput{
  6378  						NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6379  						Buf:               input.Buf,
  6380  					}, err
  6381  				}
  6382  				i -= len(encoded)
  6383  				copy(dAtA[i:], encoded)
  6384  				i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
  6385  				i--
  6386  				dAtA[i] = 0x3
  6387  				i--
  6388  				dAtA[i] = 0x82
  6389  			}
  6390  		}
  6391  		if len(x.RepeatedBytes) > 0 {
  6392  			for iNdEx := len(x.RepeatedBytes) - 1; iNdEx >= 0; iNdEx-- {
  6393  				i -= len(x.RepeatedBytes[iNdEx])
  6394  				copy(dAtA[i:], x.RepeatedBytes[iNdEx])
  6395  				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedBytes[iNdEx])))
  6396  				i--
  6397  				dAtA[i] = 0x2
  6398  				i--
  6399  				dAtA[i] = 0xea
  6400  			}
  6401  		}
  6402  		if len(x.RepeatedString) > 0 {
  6403  			for iNdEx := len(x.RepeatedString) - 1; iNdEx >= 0; iNdEx-- {
  6404  				i -= len(x.RepeatedString[iNdEx])
  6405  				copy(dAtA[i:], x.RepeatedString[iNdEx])
  6406  				i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedString[iNdEx])))
  6407  				i--
  6408  				dAtA[i] = 0x2
  6409  				i--
  6410  				dAtA[i] = 0xe2
  6411  			}
  6412  		}
  6413  		if len(x.RepeatedBool) > 0 {
  6414  			for iNdEx := len(x.RepeatedBool) - 1; iNdEx >= 0; iNdEx-- {
  6415  				i--
  6416  				if x.RepeatedBool[iNdEx] {
  6417  					dAtA[i] = 1
  6418  				} else {
  6419  					dAtA[i] = 0
  6420  				}
  6421  			}
  6422  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedBool)))
  6423  			i--
  6424  			dAtA[i] = 0x2
  6425  			i--
  6426  			dAtA[i] = 0xda
  6427  		}
  6428  		if len(x.RepeatedDouble) > 0 {
  6429  			for iNdEx := len(x.RepeatedDouble) - 1; iNdEx >= 0; iNdEx-- {
  6430  				f7 := math.Float64bits(float64(x.RepeatedDouble[iNdEx]))
  6431  				i -= 8
  6432  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(f7))
  6433  			}
  6434  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedDouble)*8))
  6435  			i--
  6436  			dAtA[i] = 0x2
  6437  			i--
  6438  			dAtA[i] = 0xd2
  6439  		}
  6440  		if len(x.RepeatedFloat) > 0 {
  6441  			for iNdEx := len(x.RepeatedFloat) - 1; iNdEx >= 0; iNdEx-- {
  6442  				f8 := math.Float32bits(float32(x.RepeatedFloat[iNdEx]))
  6443  				i -= 4
  6444  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(f8))
  6445  			}
  6446  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedFloat)*4))
  6447  			i--
  6448  			dAtA[i] = 0x2
  6449  			i--
  6450  			dAtA[i] = 0xca
  6451  		}
  6452  		if len(x.RepeatedSfixed64) > 0 {
  6453  			for iNdEx := len(x.RepeatedSfixed64) - 1; iNdEx >= 0; iNdEx-- {
  6454  				i -= 8
  6455  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(x.RepeatedSfixed64[iNdEx]))
  6456  			}
  6457  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedSfixed64)*8))
  6458  			i--
  6459  			dAtA[i] = 0x2
  6460  			i--
  6461  			dAtA[i] = 0xc2
  6462  		}
  6463  		if len(x.RepeatedSfixed32) > 0 {
  6464  			for iNdEx := len(x.RepeatedSfixed32) - 1; iNdEx >= 0; iNdEx-- {
  6465  				i -= 4
  6466  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(x.RepeatedSfixed32[iNdEx]))
  6467  			}
  6468  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedSfixed32)*4))
  6469  			i--
  6470  			dAtA[i] = 0x2
  6471  			i--
  6472  			dAtA[i] = 0xba
  6473  		}
  6474  		if len(x.RepeatedFixed64) > 0 {
  6475  			for iNdEx := len(x.RepeatedFixed64) - 1; iNdEx >= 0; iNdEx-- {
  6476  				i -= 8
  6477  				binary.LittleEndian.PutUint64(dAtA[i:], uint64(x.RepeatedFixed64[iNdEx]))
  6478  			}
  6479  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedFixed64)*8))
  6480  			i--
  6481  			dAtA[i] = 0x2
  6482  			i--
  6483  			dAtA[i] = 0xb2
  6484  		}
  6485  		if len(x.RepeatedFixed32) > 0 {
  6486  			for iNdEx := len(x.RepeatedFixed32) - 1; iNdEx >= 0; iNdEx-- {
  6487  				i -= 4
  6488  				binary.LittleEndian.PutUint32(dAtA[i:], uint32(x.RepeatedFixed32[iNdEx]))
  6489  			}
  6490  			i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RepeatedFixed32)*4))
  6491  			i--
  6492  			dAtA[i] = 0x2
  6493  			i--
  6494  			dAtA[i] = 0xaa
  6495  		}
  6496  		if len(x.RepeatedSint64) > 0 {
  6497  			var pksize10 int
  6498  			for _, num := range x.RepeatedSint64 {
  6499  				pksize10 += runtime.Soz(uint64(num))
  6500  			}
  6501  			i -= pksize10
  6502  			j9 := i
  6503  			for _, num := range x.RepeatedSint64 {
  6504  				x11 := (uint64(num) << 1) ^ uint64((num >> 63))
  6505  				for x11 >= 1<<7 {
  6506  					dAtA[j9] = uint8(uint64(x11)&0x7f | 0x80)
  6507  					j9++
  6508  					x11 >>= 7
  6509  				}
  6510  				dAtA[j9] = uint8(x11)
  6511  				j9++
  6512  			}
  6513  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize10))
  6514  			i--
  6515  			dAtA[i] = 0x2
  6516  			i--
  6517  			dAtA[i] = 0xa2
  6518  		}
  6519  		if len(x.RepeatedSint32) > 0 {
  6520  			var pksize13 int
  6521  			for _, num := range x.RepeatedSint32 {
  6522  				pksize13 += runtime.Soz(uint64(num))
  6523  			}
  6524  			i -= pksize13
  6525  			j12 := i
  6526  			for _, num := range x.RepeatedSint32 {
  6527  				x14 := (uint32(num) << 1) ^ uint32((num >> 31))
  6528  				for x14 >= 1<<7 {
  6529  					dAtA[j12] = uint8(uint64(x14)&0x7f | 0x80)
  6530  					j12++
  6531  					x14 >>= 7
  6532  				}
  6533  				dAtA[j12] = uint8(x14)
  6534  				j12++
  6535  			}
  6536  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize13))
  6537  			i--
  6538  			dAtA[i] = 0x2
  6539  			i--
  6540  			dAtA[i] = 0x9a
  6541  		}
  6542  		if len(x.RepeatedUint64) > 0 {
  6543  			var pksize16 int
  6544  			for _, num := range x.RepeatedUint64 {
  6545  				pksize16 += runtime.Sov(uint64(num))
  6546  			}
  6547  			i -= pksize16
  6548  			j15 := i
  6549  			for _, num := range x.RepeatedUint64 {
  6550  				for num >= 1<<7 {
  6551  					dAtA[j15] = uint8(uint64(num)&0x7f | 0x80)
  6552  					num >>= 7
  6553  					j15++
  6554  				}
  6555  				dAtA[j15] = uint8(num)
  6556  				j15++
  6557  			}
  6558  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize16))
  6559  			i--
  6560  			dAtA[i] = 0x2
  6561  			i--
  6562  			dAtA[i] = 0x92
  6563  		}
  6564  		if len(x.RepeatedUint32) > 0 {
  6565  			var pksize18 int
  6566  			for _, num := range x.RepeatedUint32 {
  6567  				pksize18 += runtime.Sov(uint64(num))
  6568  			}
  6569  			i -= pksize18
  6570  			j17 := i
  6571  			for _, num := range x.RepeatedUint32 {
  6572  				for num >= 1<<7 {
  6573  					dAtA[j17] = uint8(uint64(num)&0x7f | 0x80)
  6574  					num >>= 7
  6575  					j17++
  6576  				}
  6577  				dAtA[j17] = uint8(num)
  6578  				j17++
  6579  			}
  6580  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize18))
  6581  			i--
  6582  			dAtA[i] = 0x2
  6583  			i--
  6584  			dAtA[i] = 0x8a
  6585  		}
  6586  		if len(x.RepeatedInt64) > 0 {
  6587  			var pksize20 int
  6588  			for _, num := range x.RepeatedInt64 {
  6589  				pksize20 += runtime.Sov(uint64(num))
  6590  			}
  6591  			i -= pksize20
  6592  			j19 := i
  6593  			for _, num1 := range x.RepeatedInt64 {
  6594  				num := uint64(num1)
  6595  				for num >= 1<<7 {
  6596  					dAtA[j19] = uint8(uint64(num)&0x7f | 0x80)
  6597  					num >>= 7
  6598  					j19++
  6599  				}
  6600  				dAtA[j19] = uint8(num)
  6601  				j19++
  6602  			}
  6603  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize20))
  6604  			i--
  6605  			dAtA[i] = 0x2
  6606  			i--
  6607  			dAtA[i] = 0x82
  6608  		}
  6609  		if len(x.RepeatedInt32) > 0 {
  6610  			var pksize22 int
  6611  			for _, num := range x.RepeatedInt32 {
  6612  				pksize22 += runtime.Sov(uint64(num))
  6613  			}
  6614  			i -= pksize22
  6615  			j21 := i
  6616  			for _, num1 := range x.RepeatedInt32 {
  6617  				num := uint64(num1)
  6618  				for num >= 1<<7 {
  6619  					dAtA[j21] = uint8(uint64(num)&0x7f | 0x80)
  6620  					num >>= 7
  6621  					j21++
  6622  				}
  6623  				dAtA[j21] = uint8(num)
  6624  				j21++
  6625  			}
  6626  			i = runtime.EncodeVarint(dAtA, i, uint64(pksize22))
  6627  			i--
  6628  			dAtA[i] = 0x1
  6629  			i--
  6630  			dAtA[i] = 0xfa
  6631  		}
  6632  		if input.Buf != nil {
  6633  			input.Buf = append(input.Buf, dAtA...)
  6634  		} else {
  6635  			input.Buf = dAtA
  6636  		}
  6637  		return protoiface.MarshalOutput{
  6638  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6639  			Buf:               input.Buf,
  6640  		}, nil
  6641  	}
  6642  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
  6643  		x := input.Message.Interface().(*TestAllTypes)
  6644  		if x == nil {
  6645  			return protoiface.UnmarshalOutput{
  6646  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
  6647  				Flags:             input.Flags,
  6648  			}, nil
  6649  		}
  6650  		options := runtime.UnmarshalInputToOptions(input)
  6651  		_ = options
  6652  		dAtA := input.Buf
  6653  		l := len(dAtA)
  6654  		iNdEx := 0
  6655  		for iNdEx < l {
  6656  			preIndex := iNdEx
  6657  			var wire uint64
  6658  			for shift := uint(0); ; shift += 7 {
  6659  				if shift >= 64 {
  6660  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6661  				}
  6662  				if iNdEx >= l {
  6663  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6664  				}
  6665  				b := dAtA[iNdEx]
  6666  				iNdEx++
  6667  				wire |= uint64(b&0x7F) << shift
  6668  				if b < 0x80 {
  6669  					break
  6670  				}
  6671  			}
  6672  			fieldNum := int32(wire >> 3)
  6673  			wireType := int(wire & 0x7)
  6674  			if wireType == 4 {
  6675  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestAllTypes: wiretype end group for non-group")
  6676  			}
  6677  			if fieldNum <= 0 {
  6678  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestAllTypes: illegal tag %d (wire type %d)", fieldNum, wire)
  6679  			}
  6680  			switch fieldNum {
  6681  			case 81:
  6682  				if wireType != 0 {
  6683  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularInt32", wireType)
  6684  				}
  6685  				x.SingularInt32 = 0
  6686  				for shift := uint(0); ; shift += 7 {
  6687  					if shift >= 64 {
  6688  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6689  					}
  6690  					if iNdEx >= l {
  6691  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6692  					}
  6693  					b := dAtA[iNdEx]
  6694  					iNdEx++
  6695  					x.SingularInt32 |= int32(b&0x7F) << shift
  6696  					if b < 0x80 {
  6697  						break
  6698  					}
  6699  				}
  6700  			case 82:
  6701  				if wireType != 0 {
  6702  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularInt64", wireType)
  6703  				}
  6704  				x.SingularInt64 = 0
  6705  				for shift := uint(0); ; shift += 7 {
  6706  					if shift >= 64 {
  6707  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6708  					}
  6709  					if iNdEx >= l {
  6710  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6711  					}
  6712  					b := dAtA[iNdEx]
  6713  					iNdEx++
  6714  					x.SingularInt64 |= int64(b&0x7F) << shift
  6715  					if b < 0x80 {
  6716  						break
  6717  					}
  6718  				}
  6719  			case 83:
  6720  				if wireType != 0 {
  6721  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularUint32", wireType)
  6722  				}
  6723  				x.SingularUint32 = 0
  6724  				for shift := uint(0); ; shift += 7 {
  6725  					if shift >= 64 {
  6726  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6727  					}
  6728  					if iNdEx >= l {
  6729  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6730  					}
  6731  					b := dAtA[iNdEx]
  6732  					iNdEx++
  6733  					x.SingularUint32 |= uint32(b&0x7F) << shift
  6734  					if b < 0x80 {
  6735  						break
  6736  					}
  6737  				}
  6738  			case 84:
  6739  				if wireType != 0 {
  6740  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularUint64", wireType)
  6741  				}
  6742  				x.SingularUint64 = 0
  6743  				for shift := uint(0); ; shift += 7 {
  6744  					if shift >= 64 {
  6745  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6746  					}
  6747  					if iNdEx >= l {
  6748  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6749  					}
  6750  					b := dAtA[iNdEx]
  6751  					iNdEx++
  6752  					x.SingularUint64 |= uint64(b&0x7F) << shift
  6753  					if b < 0x80 {
  6754  						break
  6755  					}
  6756  				}
  6757  			case 85:
  6758  				if wireType != 0 {
  6759  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularSint32", wireType)
  6760  				}
  6761  				var v int32
  6762  				for shift := uint(0); ; shift += 7 {
  6763  					if shift >= 64 {
  6764  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6765  					}
  6766  					if iNdEx >= l {
  6767  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6768  					}
  6769  					b := dAtA[iNdEx]
  6770  					iNdEx++
  6771  					v |= int32(b&0x7F) << shift
  6772  					if b < 0x80 {
  6773  						break
  6774  					}
  6775  				}
  6776  				v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31))
  6777  				x.SingularSint32 = v
  6778  			case 86:
  6779  				if wireType != 0 {
  6780  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularSint64", wireType)
  6781  				}
  6782  				var v uint64
  6783  				for shift := uint(0); ; shift += 7 {
  6784  					if shift >= 64 {
  6785  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6786  					}
  6787  					if iNdEx >= l {
  6788  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6789  					}
  6790  					b := dAtA[iNdEx]
  6791  					iNdEx++
  6792  					v |= uint64(b&0x7F) << shift
  6793  					if b < 0x80 {
  6794  						break
  6795  					}
  6796  				}
  6797  				v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  6798  				x.SingularSint64 = int64(v)
  6799  			case 87:
  6800  				if wireType != 5 {
  6801  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularFixed32", wireType)
  6802  				}
  6803  				x.SingularFixed32 = 0
  6804  				if (iNdEx + 4) > l {
  6805  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6806  				}
  6807  				x.SingularFixed32 = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6808  				iNdEx += 4
  6809  			case 88:
  6810  				if wireType != 1 {
  6811  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularFixed64", wireType)
  6812  				}
  6813  				x.SingularFixed64 = 0
  6814  				if (iNdEx + 8) > l {
  6815  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6816  				}
  6817  				x.SingularFixed64 = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  6818  				iNdEx += 8
  6819  			case 89:
  6820  				if wireType != 5 {
  6821  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularSfixed32", wireType)
  6822  				}
  6823  				x.SingularSfixed32 = 0
  6824  				if (iNdEx + 4) > l {
  6825  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6826  				}
  6827  				x.SingularSfixed32 = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6828  				iNdEx += 4
  6829  			case 90:
  6830  				if wireType != 1 {
  6831  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularSfixed64", wireType)
  6832  				}
  6833  				x.SingularSfixed64 = 0
  6834  				if (iNdEx + 8) > l {
  6835  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6836  				}
  6837  				x.SingularSfixed64 = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  6838  				iNdEx += 8
  6839  			case 91:
  6840  				if wireType != 5 {
  6841  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularFloat", wireType)
  6842  				}
  6843  				var v uint32
  6844  				if (iNdEx + 4) > l {
  6845  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6846  				}
  6847  				v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6848  				iNdEx += 4
  6849  				x.SingularFloat = float32(math.Float32frombits(v))
  6850  			case 92:
  6851  				if wireType != 1 {
  6852  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularDouble", wireType)
  6853  				}
  6854  				var v uint64
  6855  				if (iNdEx + 8) > l {
  6856  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6857  				}
  6858  				v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  6859  				iNdEx += 8
  6860  				x.SingularDouble = float64(math.Float64frombits(v))
  6861  			case 93:
  6862  				if wireType != 0 {
  6863  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularBool", wireType)
  6864  				}
  6865  				var v int
  6866  				for shift := uint(0); ; shift += 7 {
  6867  					if shift >= 64 {
  6868  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6869  					}
  6870  					if iNdEx >= l {
  6871  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6872  					}
  6873  					b := dAtA[iNdEx]
  6874  					iNdEx++
  6875  					v |= int(b&0x7F) << shift
  6876  					if b < 0x80 {
  6877  						break
  6878  					}
  6879  				}
  6880  				x.SingularBool = bool(v != 0)
  6881  			case 94:
  6882  				if wireType != 2 {
  6883  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularString", wireType)
  6884  				}
  6885  				var stringLen uint64
  6886  				for shift := uint(0); ; shift += 7 {
  6887  					if shift >= 64 {
  6888  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6889  					}
  6890  					if iNdEx >= l {
  6891  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6892  					}
  6893  					b := dAtA[iNdEx]
  6894  					iNdEx++
  6895  					stringLen |= uint64(b&0x7F) << shift
  6896  					if b < 0x80 {
  6897  						break
  6898  					}
  6899  				}
  6900  				intStringLen := int(stringLen)
  6901  				if intStringLen < 0 {
  6902  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6903  				}
  6904  				postIndex := iNdEx + intStringLen
  6905  				if postIndex < 0 {
  6906  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6907  				}
  6908  				if postIndex > l {
  6909  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6910  				}
  6911  				x.SingularString = string(dAtA[iNdEx:postIndex])
  6912  				iNdEx = postIndex
  6913  			case 95:
  6914  				if wireType != 2 {
  6915  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularBytes", wireType)
  6916  				}
  6917  				var byteLen int
  6918  				for shift := uint(0); ; shift += 7 {
  6919  					if shift >= 64 {
  6920  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6921  					}
  6922  					if iNdEx >= l {
  6923  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6924  					}
  6925  					b := dAtA[iNdEx]
  6926  					iNdEx++
  6927  					byteLen |= int(b&0x7F) << shift
  6928  					if b < 0x80 {
  6929  						break
  6930  					}
  6931  				}
  6932  				if byteLen < 0 {
  6933  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6934  				}
  6935  				postIndex := iNdEx + byteLen
  6936  				if postIndex < 0 {
  6937  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6938  				}
  6939  				if postIndex > l {
  6940  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6941  				}
  6942  				x.SingularBytes = append(x.SingularBytes[:0], dAtA[iNdEx:postIndex]...)
  6943  				if x.SingularBytes == nil {
  6944  					x.SingularBytes = []byte{}
  6945  				}
  6946  				iNdEx = postIndex
  6947  			case 98:
  6948  				if wireType != 2 {
  6949  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularNestedMessage", wireType)
  6950  				}
  6951  				var msglen int
  6952  				for shift := uint(0); ; shift += 7 {
  6953  					if shift >= 64 {
  6954  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6955  					}
  6956  					if iNdEx >= l {
  6957  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6958  					}
  6959  					b := dAtA[iNdEx]
  6960  					iNdEx++
  6961  					msglen |= int(b&0x7F) << shift
  6962  					if b < 0x80 {
  6963  						break
  6964  					}
  6965  				}
  6966  				if msglen < 0 {
  6967  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6968  				}
  6969  				postIndex := iNdEx + msglen
  6970  				if postIndex < 0 {
  6971  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  6972  				}
  6973  				if postIndex > l {
  6974  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6975  				}
  6976  				if x.SingularNestedMessage == nil {
  6977  					x.SingularNestedMessage = &TestAllTypes_NestedMessage{}
  6978  				}
  6979  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SingularNestedMessage); err != nil {
  6980  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  6981  				}
  6982  				iNdEx = postIndex
  6983  			case 99:
  6984  				if wireType != 2 {
  6985  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularForeignMessage", wireType)
  6986  				}
  6987  				var msglen int
  6988  				for shift := uint(0); ; shift += 7 {
  6989  					if shift >= 64 {
  6990  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  6991  					}
  6992  					if iNdEx >= l {
  6993  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  6994  					}
  6995  					b := dAtA[iNdEx]
  6996  					iNdEx++
  6997  					msglen |= int(b&0x7F) << shift
  6998  					if b < 0x80 {
  6999  						break
  7000  					}
  7001  				}
  7002  				if msglen < 0 {
  7003  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7004  				}
  7005  				postIndex := iNdEx + msglen
  7006  				if postIndex < 0 {
  7007  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7008  				}
  7009  				if postIndex > l {
  7010  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7011  				}
  7012  				if x.SingularForeignMessage == nil {
  7013  					x.SingularForeignMessage = &ForeignMessage{}
  7014  				}
  7015  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SingularForeignMessage); err != nil {
  7016  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  7017  				}
  7018  				iNdEx = postIndex
  7019  			case 100:
  7020  				if wireType != 2 {
  7021  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularImportMessage", wireType)
  7022  				}
  7023  				var msglen int
  7024  				for shift := uint(0); ; shift += 7 {
  7025  					if shift >= 64 {
  7026  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7027  					}
  7028  					if iNdEx >= l {
  7029  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7030  					}
  7031  					b := dAtA[iNdEx]
  7032  					iNdEx++
  7033  					msglen |= int(b&0x7F) << shift
  7034  					if b < 0x80 {
  7035  						break
  7036  					}
  7037  				}
  7038  				if msglen < 0 {
  7039  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7040  				}
  7041  				postIndex := iNdEx + msglen
  7042  				if postIndex < 0 {
  7043  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7044  				}
  7045  				if postIndex > l {
  7046  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7047  				}
  7048  				if x.SingularImportMessage == nil {
  7049  					x.SingularImportMessage = &ImportMessage{}
  7050  				}
  7051  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.SingularImportMessage); err != nil {
  7052  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  7053  				}
  7054  				iNdEx = postIndex
  7055  			case 101:
  7056  				if wireType != 0 {
  7057  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularNestedEnum", wireType)
  7058  				}
  7059  				x.SingularNestedEnum = 0
  7060  				for shift := uint(0); ; shift += 7 {
  7061  					if shift >= 64 {
  7062  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7063  					}
  7064  					if iNdEx >= l {
  7065  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7066  					}
  7067  					b := dAtA[iNdEx]
  7068  					iNdEx++
  7069  					x.SingularNestedEnum |= TestAllTypes_NestedEnum(b&0x7F) << shift
  7070  					if b < 0x80 {
  7071  						break
  7072  					}
  7073  				}
  7074  			case 102:
  7075  				if wireType != 0 {
  7076  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularForeignEnum", wireType)
  7077  				}
  7078  				x.SingularForeignEnum = 0
  7079  				for shift := uint(0); ; shift += 7 {
  7080  					if shift >= 64 {
  7081  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7082  					}
  7083  					if iNdEx >= l {
  7084  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7085  					}
  7086  					b := dAtA[iNdEx]
  7087  					iNdEx++
  7088  					x.SingularForeignEnum |= ForeignEnum(b&0x7F) << shift
  7089  					if b < 0x80 {
  7090  						break
  7091  					}
  7092  				}
  7093  			case 103:
  7094  				if wireType != 0 {
  7095  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SingularImportEnum", wireType)
  7096  				}
  7097  				x.SingularImportEnum = 0
  7098  				for shift := uint(0); ; shift += 7 {
  7099  					if shift >= 64 {
  7100  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7101  					}
  7102  					if iNdEx >= l {
  7103  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7104  					}
  7105  					b := dAtA[iNdEx]
  7106  					iNdEx++
  7107  					x.SingularImportEnum |= ImportEnum(b&0x7F) << shift
  7108  					if b < 0x80 {
  7109  						break
  7110  					}
  7111  				}
  7112  			case 31:
  7113  				if wireType == 0 {
  7114  					var v int32
  7115  					for shift := uint(0); ; shift += 7 {
  7116  						if shift >= 64 {
  7117  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7118  						}
  7119  						if iNdEx >= l {
  7120  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7121  						}
  7122  						b := dAtA[iNdEx]
  7123  						iNdEx++
  7124  						v |= int32(b&0x7F) << shift
  7125  						if b < 0x80 {
  7126  							break
  7127  						}
  7128  					}
  7129  					x.RepeatedInt32 = append(x.RepeatedInt32, v)
  7130  				} else if wireType == 2 {
  7131  					var packedLen int
  7132  					for shift := uint(0); ; shift += 7 {
  7133  						if shift >= 64 {
  7134  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7135  						}
  7136  						if iNdEx >= l {
  7137  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7138  						}
  7139  						b := dAtA[iNdEx]
  7140  						iNdEx++
  7141  						packedLen |= int(b&0x7F) << shift
  7142  						if b < 0x80 {
  7143  							break
  7144  						}
  7145  					}
  7146  					if packedLen < 0 {
  7147  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7148  					}
  7149  					postIndex := iNdEx + packedLen
  7150  					if postIndex < 0 {
  7151  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7152  					}
  7153  					if postIndex > l {
  7154  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7155  					}
  7156  					var elementCount int
  7157  					var count int
  7158  					for _, integer := range dAtA[iNdEx:postIndex] {
  7159  						if integer < 128 {
  7160  							count++
  7161  						}
  7162  					}
  7163  					elementCount = count
  7164  					if elementCount != 0 && len(x.RepeatedInt32) == 0 {
  7165  						x.RepeatedInt32 = make([]int32, 0, elementCount)
  7166  					}
  7167  					for iNdEx < postIndex {
  7168  						var v int32
  7169  						for shift := uint(0); ; shift += 7 {
  7170  							if shift >= 64 {
  7171  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7172  							}
  7173  							if iNdEx >= l {
  7174  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7175  							}
  7176  							b := dAtA[iNdEx]
  7177  							iNdEx++
  7178  							v |= int32(b&0x7F) << shift
  7179  							if b < 0x80 {
  7180  								break
  7181  							}
  7182  						}
  7183  						x.RepeatedInt32 = append(x.RepeatedInt32, v)
  7184  					}
  7185  				} else {
  7186  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedInt32", wireType)
  7187  				}
  7188  			case 32:
  7189  				if wireType == 0 {
  7190  					var v int64
  7191  					for shift := uint(0); ; shift += 7 {
  7192  						if shift >= 64 {
  7193  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7194  						}
  7195  						if iNdEx >= l {
  7196  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7197  						}
  7198  						b := dAtA[iNdEx]
  7199  						iNdEx++
  7200  						v |= int64(b&0x7F) << shift
  7201  						if b < 0x80 {
  7202  							break
  7203  						}
  7204  					}
  7205  					x.RepeatedInt64 = append(x.RepeatedInt64, v)
  7206  				} else if wireType == 2 {
  7207  					var packedLen int
  7208  					for shift := uint(0); ; shift += 7 {
  7209  						if shift >= 64 {
  7210  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7211  						}
  7212  						if iNdEx >= l {
  7213  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7214  						}
  7215  						b := dAtA[iNdEx]
  7216  						iNdEx++
  7217  						packedLen |= int(b&0x7F) << shift
  7218  						if b < 0x80 {
  7219  							break
  7220  						}
  7221  					}
  7222  					if packedLen < 0 {
  7223  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7224  					}
  7225  					postIndex := iNdEx + packedLen
  7226  					if postIndex < 0 {
  7227  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7228  					}
  7229  					if postIndex > l {
  7230  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7231  					}
  7232  					var elementCount int
  7233  					var count int
  7234  					for _, integer := range dAtA[iNdEx:postIndex] {
  7235  						if integer < 128 {
  7236  							count++
  7237  						}
  7238  					}
  7239  					elementCount = count
  7240  					if elementCount != 0 && len(x.RepeatedInt64) == 0 {
  7241  						x.RepeatedInt64 = make([]int64, 0, elementCount)
  7242  					}
  7243  					for iNdEx < postIndex {
  7244  						var v int64
  7245  						for shift := uint(0); ; shift += 7 {
  7246  							if shift >= 64 {
  7247  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7248  							}
  7249  							if iNdEx >= l {
  7250  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7251  							}
  7252  							b := dAtA[iNdEx]
  7253  							iNdEx++
  7254  							v |= int64(b&0x7F) << shift
  7255  							if b < 0x80 {
  7256  								break
  7257  							}
  7258  						}
  7259  						x.RepeatedInt64 = append(x.RepeatedInt64, v)
  7260  					}
  7261  				} else {
  7262  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedInt64", wireType)
  7263  				}
  7264  			case 33:
  7265  				if wireType == 0 {
  7266  					var v uint32
  7267  					for shift := uint(0); ; shift += 7 {
  7268  						if shift >= 64 {
  7269  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7270  						}
  7271  						if iNdEx >= l {
  7272  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7273  						}
  7274  						b := dAtA[iNdEx]
  7275  						iNdEx++
  7276  						v |= uint32(b&0x7F) << shift
  7277  						if b < 0x80 {
  7278  							break
  7279  						}
  7280  					}
  7281  					x.RepeatedUint32 = append(x.RepeatedUint32, v)
  7282  				} else if wireType == 2 {
  7283  					var packedLen int
  7284  					for shift := uint(0); ; shift += 7 {
  7285  						if shift >= 64 {
  7286  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7287  						}
  7288  						if iNdEx >= l {
  7289  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7290  						}
  7291  						b := dAtA[iNdEx]
  7292  						iNdEx++
  7293  						packedLen |= int(b&0x7F) << shift
  7294  						if b < 0x80 {
  7295  							break
  7296  						}
  7297  					}
  7298  					if packedLen < 0 {
  7299  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7300  					}
  7301  					postIndex := iNdEx + packedLen
  7302  					if postIndex < 0 {
  7303  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7304  					}
  7305  					if postIndex > l {
  7306  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7307  					}
  7308  					var elementCount int
  7309  					var count int
  7310  					for _, integer := range dAtA[iNdEx:postIndex] {
  7311  						if integer < 128 {
  7312  							count++
  7313  						}
  7314  					}
  7315  					elementCount = count
  7316  					if elementCount != 0 && len(x.RepeatedUint32) == 0 {
  7317  						x.RepeatedUint32 = make([]uint32, 0, elementCount)
  7318  					}
  7319  					for iNdEx < postIndex {
  7320  						var v uint32
  7321  						for shift := uint(0); ; shift += 7 {
  7322  							if shift >= 64 {
  7323  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7324  							}
  7325  							if iNdEx >= l {
  7326  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7327  							}
  7328  							b := dAtA[iNdEx]
  7329  							iNdEx++
  7330  							v |= uint32(b&0x7F) << shift
  7331  							if b < 0x80 {
  7332  								break
  7333  							}
  7334  						}
  7335  						x.RepeatedUint32 = append(x.RepeatedUint32, v)
  7336  					}
  7337  				} else {
  7338  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedUint32", wireType)
  7339  				}
  7340  			case 34:
  7341  				if wireType == 0 {
  7342  					var v uint64
  7343  					for shift := uint(0); ; shift += 7 {
  7344  						if shift >= 64 {
  7345  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7346  						}
  7347  						if iNdEx >= l {
  7348  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7349  						}
  7350  						b := dAtA[iNdEx]
  7351  						iNdEx++
  7352  						v |= uint64(b&0x7F) << shift
  7353  						if b < 0x80 {
  7354  							break
  7355  						}
  7356  					}
  7357  					x.RepeatedUint64 = append(x.RepeatedUint64, v)
  7358  				} else if wireType == 2 {
  7359  					var packedLen int
  7360  					for shift := uint(0); ; shift += 7 {
  7361  						if shift >= 64 {
  7362  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7363  						}
  7364  						if iNdEx >= l {
  7365  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7366  						}
  7367  						b := dAtA[iNdEx]
  7368  						iNdEx++
  7369  						packedLen |= int(b&0x7F) << shift
  7370  						if b < 0x80 {
  7371  							break
  7372  						}
  7373  					}
  7374  					if packedLen < 0 {
  7375  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7376  					}
  7377  					postIndex := iNdEx + packedLen
  7378  					if postIndex < 0 {
  7379  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7380  					}
  7381  					if postIndex > l {
  7382  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7383  					}
  7384  					var elementCount int
  7385  					var count int
  7386  					for _, integer := range dAtA[iNdEx:postIndex] {
  7387  						if integer < 128 {
  7388  							count++
  7389  						}
  7390  					}
  7391  					elementCount = count
  7392  					if elementCount != 0 && len(x.RepeatedUint64) == 0 {
  7393  						x.RepeatedUint64 = make([]uint64, 0, elementCount)
  7394  					}
  7395  					for iNdEx < postIndex {
  7396  						var v uint64
  7397  						for shift := uint(0); ; shift += 7 {
  7398  							if shift >= 64 {
  7399  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7400  							}
  7401  							if iNdEx >= l {
  7402  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7403  							}
  7404  							b := dAtA[iNdEx]
  7405  							iNdEx++
  7406  							v |= uint64(b&0x7F) << shift
  7407  							if b < 0x80 {
  7408  								break
  7409  							}
  7410  						}
  7411  						x.RepeatedUint64 = append(x.RepeatedUint64, v)
  7412  					}
  7413  				} else {
  7414  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedUint64", wireType)
  7415  				}
  7416  			case 35:
  7417  				if wireType == 0 {
  7418  					var v int32
  7419  					for shift := uint(0); ; shift += 7 {
  7420  						if shift >= 64 {
  7421  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7422  						}
  7423  						if iNdEx >= l {
  7424  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7425  						}
  7426  						b := dAtA[iNdEx]
  7427  						iNdEx++
  7428  						v |= int32(b&0x7F) << shift
  7429  						if b < 0x80 {
  7430  							break
  7431  						}
  7432  					}
  7433  					v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31))
  7434  					x.RepeatedSint32 = append(x.RepeatedSint32, v)
  7435  				} else if wireType == 2 {
  7436  					var packedLen int
  7437  					for shift := uint(0); ; shift += 7 {
  7438  						if shift >= 64 {
  7439  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7440  						}
  7441  						if iNdEx >= l {
  7442  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7443  						}
  7444  						b := dAtA[iNdEx]
  7445  						iNdEx++
  7446  						packedLen |= int(b&0x7F) << shift
  7447  						if b < 0x80 {
  7448  							break
  7449  						}
  7450  					}
  7451  					if packedLen < 0 {
  7452  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7453  					}
  7454  					postIndex := iNdEx + packedLen
  7455  					if postIndex < 0 {
  7456  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7457  					}
  7458  					if postIndex > l {
  7459  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7460  					}
  7461  					var elementCount int
  7462  					var count int
  7463  					for _, integer := range dAtA[iNdEx:postIndex] {
  7464  						if integer < 128 {
  7465  							count++
  7466  						}
  7467  					}
  7468  					elementCount = count
  7469  					if elementCount != 0 && len(x.RepeatedSint32) == 0 {
  7470  						x.RepeatedSint32 = make([]int32, 0, elementCount)
  7471  					}
  7472  					for iNdEx < postIndex {
  7473  						var v int32
  7474  						for shift := uint(0); ; shift += 7 {
  7475  							if shift >= 64 {
  7476  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7477  							}
  7478  							if iNdEx >= l {
  7479  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7480  							}
  7481  							b := dAtA[iNdEx]
  7482  							iNdEx++
  7483  							v |= int32(b&0x7F) << shift
  7484  							if b < 0x80 {
  7485  								break
  7486  							}
  7487  						}
  7488  						v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31))
  7489  						x.RepeatedSint32 = append(x.RepeatedSint32, v)
  7490  					}
  7491  				} else {
  7492  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedSint32", wireType)
  7493  				}
  7494  			case 36:
  7495  				if wireType == 0 {
  7496  					var v uint64
  7497  					for shift := uint(0); ; shift += 7 {
  7498  						if shift >= 64 {
  7499  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7500  						}
  7501  						if iNdEx >= l {
  7502  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7503  						}
  7504  						b := dAtA[iNdEx]
  7505  						iNdEx++
  7506  						v |= uint64(b&0x7F) << shift
  7507  						if b < 0x80 {
  7508  							break
  7509  						}
  7510  					}
  7511  					v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  7512  					x.RepeatedSint64 = append(x.RepeatedSint64, int64(v))
  7513  				} else if wireType == 2 {
  7514  					var packedLen int
  7515  					for shift := uint(0); ; shift += 7 {
  7516  						if shift >= 64 {
  7517  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7518  						}
  7519  						if iNdEx >= l {
  7520  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7521  						}
  7522  						b := dAtA[iNdEx]
  7523  						iNdEx++
  7524  						packedLen |= int(b&0x7F) << shift
  7525  						if b < 0x80 {
  7526  							break
  7527  						}
  7528  					}
  7529  					if packedLen < 0 {
  7530  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7531  					}
  7532  					postIndex := iNdEx + packedLen
  7533  					if postIndex < 0 {
  7534  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7535  					}
  7536  					if postIndex > l {
  7537  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7538  					}
  7539  					var elementCount int
  7540  					var count int
  7541  					for _, integer := range dAtA[iNdEx:postIndex] {
  7542  						if integer < 128 {
  7543  							count++
  7544  						}
  7545  					}
  7546  					elementCount = count
  7547  					if elementCount != 0 && len(x.RepeatedSint64) == 0 {
  7548  						x.RepeatedSint64 = make([]int64, 0, elementCount)
  7549  					}
  7550  					for iNdEx < postIndex {
  7551  						var v uint64
  7552  						for shift := uint(0); ; shift += 7 {
  7553  							if shift >= 64 {
  7554  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7555  							}
  7556  							if iNdEx >= l {
  7557  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7558  							}
  7559  							b := dAtA[iNdEx]
  7560  							iNdEx++
  7561  							v |= uint64(b&0x7F) << shift
  7562  							if b < 0x80 {
  7563  								break
  7564  							}
  7565  						}
  7566  						v = (v >> 1) ^ uint64((int64(v&1)<<63)>>63)
  7567  						x.RepeatedSint64 = append(x.RepeatedSint64, int64(v))
  7568  					}
  7569  				} else {
  7570  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedSint64", wireType)
  7571  				}
  7572  			case 37:
  7573  				if wireType == 5 {
  7574  					var v uint32
  7575  					if (iNdEx + 4) > l {
  7576  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7577  					}
  7578  					v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  7579  					iNdEx += 4
  7580  					x.RepeatedFixed32 = append(x.RepeatedFixed32, v)
  7581  				} else if wireType == 2 {
  7582  					var packedLen int
  7583  					for shift := uint(0); ; shift += 7 {
  7584  						if shift >= 64 {
  7585  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7586  						}
  7587  						if iNdEx >= l {
  7588  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7589  						}
  7590  						b := dAtA[iNdEx]
  7591  						iNdEx++
  7592  						packedLen |= int(b&0x7F) << shift
  7593  						if b < 0x80 {
  7594  							break
  7595  						}
  7596  					}
  7597  					if packedLen < 0 {
  7598  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7599  					}
  7600  					postIndex := iNdEx + packedLen
  7601  					if postIndex < 0 {
  7602  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7603  					}
  7604  					if postIndex > l {
  7605  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7606  					}
  7607  					var elementCount int
  7608  					elementCount = packedLen / 4
  7609  					if elementCount != 0 && len(x.RepeatedFixed32) == 0 {
  7610  						x.RepeatedFixed32 = make([]uint32, 0, elementCount)
  7611  					}
  7612  					for iNdEx < postIndex {
  7613  						var v uint32
  7614  						if (iNdEx + 4) > l {
  7615  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7616  						}
  7617  						v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  7618  						iNdEx += 4
  7619  						x.RepeatedFixed32 = append(x.RepeatedFixed32, v)
  7620  					}
  7621  				} else {
  7622  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedFixed32", wireType)
  7623  				}
  7624  			case 38:
  7625  				if wireType == 1 {
  7626  					var v uint64
  7627  					if (iNdEx + 8) > l {
  7628  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7629  					}
  7630  					v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7631  					iNdEx += 8
  7632  					x.RepeatedFixed64 = append(x.RepeatedFixed64, v)
  7633  				} else if wireType == 2 {
  7634  					var packedLen int
  7635  					for shift := uint(0); ; shift += 7 {
  7636  						if shift >= 64 {
  7637  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7638  						}
  7639  						if iNdEx >= l {
  7640  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7641  						}
  7642  						b := dAtA[iNdEx]
  7643  						iNdEx++
  7644  						packedLen |= int(b&0x7F) << shift
  7645  						if b < 0x80 {
  7646  							break
  7647  						}
  7648  					}
  7649  					if packedLen < 0 {
  7650  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7651  					}
  7652  					postIndex := iNdEx + packedLen
  7653  					if postIndex < 0 {
  7654  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7655  					}
  7656  					if postIndex > l {
  7657  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7658  					}
  7659  					var elementCount int
  7660  					elementCount = packedLen / 8
  7661  					if elementCount != 0 && len(x.RepeatedFixed64) == 0 {
  7662  						x.RepeatedFixed64 = make([]uint64, 0, elementCount)
  7663  					}
  7664  					for iNdEx < postIndex {
  7665  						var v uint64
  7666  						if (iNdEx + 8) > l {
  7667  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7668  						}
  7669  						v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7670  						iNdEx += 8
  7671  						x.RepeatedFixed64 = append(x.RepeatedFixed64, v)
  7672  					}
  7673  				} else {
  7674  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedFixed64", wireType)
  7675  				}
  7676  			case 39:
  7677  				if wireType == 5 {
  7678  					var v int32
  7679  					if (iNdEx + 4) > l {
  7680  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7681  					}
  7682  					v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  7683  					iNdEx += 4
  7684  					x.RepeatedSfixed32 = append(x.RepeatedSfixed32, v)
  7685  				} else if wireType == 2 {
  7686  					var packedLen int
  7687  					for shift := uint(0); ; shift += 7 {
  7688  						if shift >= 64 {
  7689  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7690  						}
  7691  						if iNdEx >= l {
  7692  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7693  						}
  7694  						b := dAtA[iNdEx]
  7695  						iNdEx++
  7696  						packedLen |= int(b&0x7F) << shift
  7697  						if b < 0x80 {
  7698  							break
  7699  						}
  7700  					}
  7701  					if packedLen < 0 {
  7702  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7703  					}
  7704  					postIndex := iNdEx + packedLen
  7705  					if postIndex < 0 {
  7706  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7707  					}
  7708  					if postIndex > l {
  7709  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7710  					}
  7711  					var elementCount int
  7712  					elementCount = packedLen / 4
  7713  					if elementCount != 0 && len(x.RepeatedSfixed32) == 0 {
  7714  						x.RepeatedSfixed32 = make([]int32, 0, elementCount)
  7715  					}
  7716  					for iNdEx < postIndex {
  7717  						var v int32
  7718  						if (iNdEx + 4) > l {
  7719  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7720  						}
  7721  						v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  7722  						iNdEx += 4
  7723  						x.RepeatedSfixed32 = append(x.RepeatedSfixed32, v)
  7724  					}
  7725  				} else {
  7726  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedSfixed32", wireType)
  7727  				}
  7728  			case 40:
  7729  				if wireType == 1 {
  7730  					var v int64
  7731  					if (iNdEx + 8) > l {
  7732  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7733  					}
  7734  					v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7735  					iNdEx += 8
  7736  					x.RepeatedSfixed64 = append(x.RepeatedSfixed64, v)
  7737  				} else if wireType == 2 {
  7738  					var packedLen int
  7739  					for shift := uint(0); ; shift += 7 {
  7740  						if shift >= 64 {
  7741  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7742  						}
  7743  						if iNdEx >= l {
  7744  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7745  						}
  7746  						b := dAtA[iNdEx]
  7747  						iNdEx++
  7748  						packedLen |= int(b&0x7F) << shift
  7749  						if b < 0x80 {
  7750  							break
  7751  						}
  7752  					}
  7753  					if packedLen < 0 {
  7754  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7755  					}
  7756  					postIndex := iNdEx + packedLen
  7757  					if postIndex < 0 {
  7758  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7759  					}
  7760  					if postIndex > l {
  7761  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7762  					}
  7763  					var elementCount int
  7764  					elementCount = packedLen / 8
  7765  					if elementCount != 0 && len(x.RepeatedSfixed64) == 0 {
  7766  						x.RepeatedSfixed64 = make([]int64, 0, elementCount)
  7767  					}
  7768  					for iNdEx < postIndex {
  7769  						var v int64
  7770  						if (iNdEx + 8) > l {
  7771  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7772  						}
  7773  						v = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7774  						iNdEx += 8
  7775  						x.RepeatedSfixed64 = append(x.RepeatedSfixed64, v)
  7776  					}
  7777  				} else {
  7778  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedSfixed64", wireType)
  7779  				}
  7780  			case 41:
  7781  				if wireType == 5 {
  7782  					var v uint32
  7783  					if (iNdEx + 4) > l {
  7784  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7785  					}
  7786  					v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  7787  					iNdEx += 4
  7788  					v2 := float32(math.Float32frombits(v))
  7789  					x.RepeatedFloat = append(x.RepeatedFloat, v2)
  7790  				} else if wireType == 2 {
  7791  					var packedLen int
  7792  					for shift := uint(0); ; shift += 7 {
  7793  						if shift >= 64 {
  7794  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7795  						}
  7796  						if iNdEx >= l {
  7797  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7798  						}
  7799  						b := dAtA[iNdEx]
  7800  						iNdEx++
  7801  						packedLen |= int(b&0x7F) << shift
  7802  						if b < 0x80 {
  7803  							break
  7804  						}
  7805  					}
  7806  					if packedLen < 0 {
  7807  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7808  					}
  7809  					postIndex := iNdEx + packedLen
  7810  					if postIndex < 0 {
  7811  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7812  					}
  7813  					if postIndex > l {
  7814  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7815  					}
  7816  					var elementCount int
  7817  					elementCount = packedLen / 4
  7818  					if elementCount != 0 && len(x.RepeatedFloat) == 0 {
  7819  						x.RepeatedFloat = make([]float32, 0, elementCount)
  7820  					}
  7821  					for iNdEx < postIndex {
  7822  						var v uint32
  7823  						if (iNdEx + 4) > l {
  7824  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7825  						}
  7826  						v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  7827  						iNdEx += 4
  7828  						v2 := float32(math.Float32frombits(v))
  7829  						x.RepeatedFloat = append(x.RepeatedFloat, v2)
  7830  					}
  7831  				} else {
  7832  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedFloat", wireType)
  7833  				}
  7834  			case 42:
  7835  				if wireType == 1 {
  7836  					var v uint64
  7837  					if (iNdEx + 8) > l {
  7838  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7839  					}
  7840  					v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7841  					iNdEx += 8
  7842  					v2 := float64(math.Float64frombits(v))
  7843  					x.RepeatedDouble = append(x.RepeatedDouble, v2)
  7844  				} else if wireType == 2 {
  7845  					var packedLen int
  7846  					for shift := uint(0); ; shift += 7 {
  7847  						if shift >= 64 {
  7848  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7849  						}
  7850  						if iNdEx >= l {
  7851  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7852  						}
  7853  						b := dAtA[iNdEx]
  7854  						iNdEx++
  7855  						packedLen |= int(b&0x7F) << shift
  7856  						if b < 0x80 {
  7857  							break
  7858  						}
  7859  					}
  7860  					if packedLen < 0 {
  7861  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7862  					}
  7863  					postIndex := iNdEx + packedLen
  7864  					if postIndex < 0 {
  7865  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7866  					}
  7867  					if postIndex > l {
  7868  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7869  					}
  7870  					var elementCount int
  7871  					elementCount = packedLen / 8
  7872  					if elementCount != 0 && len(x.RepeatedDouble) == 0 {
  7873  						x.RepeatedDouble = make([]float64, 0, elementCount)
  7874  					}
  7875  					for iNdEx < postIndex {
  7876  						var v uint64
  7877  						if (iNdEx + 8) > l {
  7878  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7879  						}
  7880  						v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7881  						iNdEx += 8
  7882  						v2 := float64(math.Float64frombits(v))
  7883  						x.RepeatedDouble = append(x.RepeatedDouble, v2)
  7884  					}
  7885  				} else {
  7886  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedDouble", wireType)
  7887  				}
  7888  			case 43:
  7889  				if wireType == 0 {
  7890  					var v int
  7891  					for shift := uint(0); ; shift += 7 {
  7892  						if shift >= 64 {
  7893  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7894  						}
  7895  						if iNdEx >= l {
  7896  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7897  						}
  7898  						b := dAtA[iNdEx]
  7899  						iNdEx++
  7900  						v |= int(b&0x7F) << shift
  7901  						if b < 0x80 {
  7902  							break
  7903  						}
  7904  					}
  7905  					x.RepeatedBool = append(x.RepeatedBool, bool(v != 0))
  7906  				} else if wireType == 2 {
  7907  					var packedLen int
  7908  					for shift := uint(0); ; shift += 7 {
  7909  						if shift >= 64 {
  7910  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7911  						}
  7912  						if iNdEx >= l {
  7913  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7914  						}
  7915  						b := dAtA[iNdEx]
  7916  						iNdEx++
  7917  						packedLen |= int(b&0x7F) << shift
  7918  						if b < 0x80 {
  7919  							break
  7920  						}
  7921  					}
  7922  					if packedLen < 0 {
  7923  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7924  					}
  7925  					postIndex := iNdEx + packedLen
  7926  					if postIndex < 0 {
  7927  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7928  					}
  7929  					if postIndex > l {
  7930  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7931  					}
  7932  					var elementCount int
  7933  					elementCount = packedLen
  7934  					if elementCount != 0 && len(x.RepeatedBool) == 0 {
  7935  						x.RepeatedBool = make([]bool, 0, elementCount)
  7936  					}
  7937  					for iNdEx < postIndex {
  7938  						var v int
  7939  						for shift := uint(0); ; shift += 7 {
  7940  							if shift >= 64 {
  7941  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7942  							}
  7943  							if iNdEx >= l {
  7944  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7945  							}
  7946  							b := dAtA[iNdEx]
  7947  							iNdEx++
  7948  							v |= int(b&0x7F) << shift
  7949  							if b < 0x80 {
  7950  								break
  7951  							}
  7952  						}
  7953  						x.RepeatedBool = append(x.RepeatedBool, bool(v != 0))
  7954  					}
  7955  				} else {
  7956  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedBool", wireType)
  7957  				}
  7958  			case 44:
  7959  				if wireType != 2 {
  7960  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedString", wireType)
  7961  				}
  7962  				var stringLen uint64
  7963  				for shift := uint(0); ; shift += 7 {
  7964  					if shift >= 64 {
  7965  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7966  					}
  7967  					if iNdEx >= l {
  7968  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7969  					}
  7970  					b := dAtA[iNdEx]
  7971  					iNdEx++
  7972  					stringLen |= uint64(b&0x7F) << shift
  7973  					if b < 0x80 {
  7974  						break
  7975  					}
  7976  				}
  7977  				intStringLen := int(stringLen)
  7978  				if intStringLen < 0 {
  7979  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7980  				}
  7981  				postIndex := iNdEx + intStringLen
  7982  				if postIndex < 0 {
  7983  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  7984  				}
  7985  				if postIndex > l {
  7986  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  7987  				}
  7988  				x.RepeatedString = append(x.RepeatedString, string(dAtA[iNdEx:postIndex]))
  7989  				iNdEx = postIndex
  7990  			case 45:
  7991  				if wireType != 2 {
  7992  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedBytes", wireType)
  7993  				}
  7994  				var byteLen int
  7995  				for shift := uint(0); ; shift += 7 {
  7996  					if shift >= 64 {
  7997  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  7998  					}
  7999  					if iNdEx >= l {
  8000  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8001  					}
  8002  					b := dAtA[iNdEx]
  8003  					iNdEx++
  8004  					byteLen |= int(b&0x7F) << shift
  8005  					if b < 0x80 {
  8006  						break
  8007  					}
  8008  				}
  8009  				if byteLen < 0 {
  8010  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8011  				}
  8012  				postIndex := iNdEx + byteLen
  8013  				if postIndex < 0 {
  8014  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8015  				}
  8016  				if postIndex > l {
  8017  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8018  				}
  8019  				x.RepeatedBytes = append(x.RepeatedBytes, make([]byte, postIndex-iNdEx))
  8020  				copy(x.RepeatedBytes[len(x.RepeatedBytes)-1], dAtA[iNdEx:postIndex])
  8021  				iNdEx = postIndex
  8022  			case 48:
  8023  				if wireType != 2 {
  8024  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedNestedMessage", wireType)
  8025  				}
  8026  				var msglen int
  8027  				for shift := uint(0); ; shift += 7 {
  8028  					if shift >= 64 {
  8029  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8030  					}
  8031  					if iNdEx >= l {
  8032  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8033  					}
  8034  					b := dAtA[iNdEx]
  8035  					iNdEx++
  8036  					msglen |= int(b&0x7F) << shift
  8037  					if b < 0x80 {
  8038  						break
  8039  					}
  8040  				}
  8041  				if msglen < 0 {
  8042  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8043  				}
  8044  				postIndex := iNdEx + msglen
  8045  				if postIndex < 0 {
  8046  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8047  				}
  8048  				if postIndex > l {
  8049  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8050  				}
  8051  				x.RepeatedNestedMessage = append(x.RepeatedNestedMessage, &TestAllTypes_NestedMessage{})
  8052  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.RepeatedNestedMessage[len(x.RepeatedNestedMessage)-1]); err != nil {
  8053  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8054  				}
  8055  				iNdEx = postIndex
  8056  			case 49:
  8057  				if wireType != 2 {
  8058  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedForeignMessage", wireType)
  8059  				}
  8060  				var msglen int
  8061  				for shift := uint(0); ; shift += 7 {
  8062  					if shift >= 64 {
  8063  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8064  					}
  8065  					if iNdEx >= l {
  8066  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8067  					}
  8068  					b := dAtA[iNdEx]
  8069  					iNdEx++
  8070  					msglen |= int(b&0x7F) << shift
  8071  					if b < 0x80 {
  8072  						break
  8073  					}
  8074  				}
  8075  				if msglen < 0 {
  8076  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8077  				}
  8078  				postIndex := iNdEx + msglen
  8079  				if postIndex < 0 {
  8080  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8081  				}
  8082  				if postIndex > l {
  8083  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8084  				}
  8085  				x.RepeatedForeignMessage = append(x.RepeatedForeignMessage, &ForeignMessage{})
  8086  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.RepeatedForeignMessage[len(x.RepeatedForeignMessage)-1]); err != nil {
  8087  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8088  				}
  8089  				iNdEx = postIndex
  8090  			case 50:
  8091  				if wireType != 2 {
  8092  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedImportmessage", wireType)
  8093  				}
  8094  				var msglen int
  8095  				for shift := uint(0); ; shift += 7 {
  8096  					if shift >= 64 {
  8097  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8098  					}
  8099  					if iNdEx >= l {
  8100  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8101  					}
  8102  					b := dAtA[iNdEx]
  8103  					iNdEx++
  8104  					msglen |= int(b&0x7F) << shift
  8105  					if b < 0x80 {
  8106  						break
  8107  					}
  8108  				}
  8109  				if msglen < 0 {
  8110  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8111  				}
  8112  				postIndex := iNdEx + msglen
  8113  				if postIndex < 0 {
  8114  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8115  				}
  8116  				if postIndex > l {
  8117  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8118  				}
  8119  				x.RepeatedImportmessage = append(x.RepeatedImportmessage, &ImportMessage{})
  8120  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.RepeatedImportmessage[len(x.RepeatedImportmessage)-1]); err != nil {
  8121  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8122  				}
  8123  				iNdEx = postIndex
  8124  			case 51:
  8125  				if wireType == 0 {
  8126  					var v TestAllTypes_NestedEnum
  8127  					for shift := uint(0); ; shift += 7 {
  8128  						if shift >= 64 {
  8129  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8130  						}
  8131  						if iNdEx >= l {
  8132  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8133  						}
  8134  						b := dAtA[iNdEx]
  8135  						iNdEx++
  8136  						v |= TestAllTypes_NestedEnum(b&0x7F) << shift
  8137  						if b < 0x80 {
  8138  							break
  8139  						}
  8140  					}
  8141  					x.RepeatedNestedEnum = append(x.RepeatedNestedEnum, v)
  8142  				} else if wireType == 2 {
  8143  					var packedLen int
  8144  					for shift := uint(0); ; shift += 7 {
  8145  						if shift >= 64 {
  8146  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8147  						}
  8148  						if iNdEx >= l {
  8149  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8150  						}
  8151  						b := dAtA[iNdEx]
  8152  						iNdEx++
  8153  						packedLen |= int(b&0x7F) << shift
  8154  						if b < 0x80 {
  8155  							break
  8156  						}
  8157  					}
  8158  					if packedLen < 0 {
  8159  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8160  					}
  8161  					postIndex := iNdEx + packedLen
  8162  					if postIndex < 0 {
  8163  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8164  					}
  8165  					if postIndex > l {
  8166  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8167  					}
  8168  					var elementCount int
  8169  					if elementCount != 0 && len(x.RepeatedNestedEnum) == 0 {
  8170  						x.RepeatedNestedEnum = make([]TestAllTypes_NestedEnum, 0, elementCount)
  8171  					}
  8172  					for iNdEx < postIndex {
  8173  						var v TestAllTypes_NestedEnum
  8174  						for shift := uint(0); ; shift += 7 {
  8175  							if shift >= 64 {
  8176  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8177  							}
  8178  							if iNdEx >= l {
  8179  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8180  							}
  8181  							b := dAtA[iNdEx]
  8182  							iNdEx++
  8183  							v |= TestAllTypes_NestedEnum(b&0x7F) << shift
  8184  							if b < 0x80 {
  8185  								break
  8186  							}
  8187  						}
  8188  						x.RepeatedNestedEnum = append(x.RepeatedNestedEnum, v)
  8189  					}
  8190  				} else {
  8191  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedNestedEnum", wireType)
  8192  				}
  8193  			case 52:
  8194  				if wireType == 0 {
  8195  					var v ForeignEnum
  8196  					for shift := uint(0); ; shift += 7 {
  8197  						if shift >= 64 {
  8198  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8199  						}
  8200  						if iNdEx >= l {
  8201  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8202  						}
  8203  						b := dAtA[iNdEx]
  8204  						iNdEx++
  8205  						v |= ForeignEnum(b&0x7F) << shift
  8206  						if b < 0x80 {
  8207  							break
  8208  						}
  8209  					}
  8210  					x.RepeatedForeignEnum = append(x.RepeatedForeignEnum, v)
  8211  				} else if wireType == 2 {
  8212  					var packedLen int
  8213  					for shift := uint(0); ; shift += 7 {
  8214  						if shift >= 64 {
  8215  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8216  						}
  8217  						if iNdEx >= l {
  8218  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8219  						}
  8220  						b := dAtA[iNdEx]
  8221  						iNdEx++
  8222  						packedLen |= int(b&0x7F) << shift
  8223  						if b < 0x80 {
  8224  							break
  8225  						}
  8226  					}
  8227  					if packedLen < 0 {
  8228  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8229  					}
  8230  					postIndex := iNdEx + packedLen
  8231  					if postIndex < 0 {
  8232  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8233  					}
  8234  					if postIndex > l {
  8235  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8236  					}
  8237  					var elementCount int
  8238  					if elementCount != 0 && len(x.RepeatedForeignEnum) == 0 {
  8239  						x.RepeatedForeignEnum = make([]ForeignEnum, 0, elementCount)
  8240  					}
  8241  					for iNdEx < postIndex {
  8242  						var v ForeignEnum
  8243  						for shift := uint(0); ; shift += 7 {
  8244  							if shift >= 64 {
  8245  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8246  							}
  8247  							if iNdEx >= l {
  8248  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8249  							}
  8250  							b := dAtA[iNdEx]
  8251  							iNdEx++
  8252  							v |= ForeignEnum(b&0x7F) << shift
  8253  							if b < 0x80 {
  8254  								break
  8255  							}
  8256  						}
  8257  						x.RepeatedForeignEnum = append(x.RepeatedForeignEnum, v)
  8258  					}
  8259  				} else {
  8260  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedForeignEnum", wireType)
  8261  				}
  8262  			case 53:
  8263  				if wireType == 0 {
  8264  					var v ImportEnum
  8265  					for shift := uint(0); ; shift += 7 {
  8266  						if shift >= 64 {
  8267  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8268  						}
  8269  						if iNdEx >= l {
  8270  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8271  						}
  8272  						b := dAtA[iNdEx]
  8273  						iNdEx++
  8274  						v |= ImportEnum(b&0x7F) << shift
  8275  						if b < 0x80 {
  8276  							break
  8277  						}
  8278  					}
  8279  					x.RepeatedImportenum = append(x.RepeatedImportenum, v)
  8280  				} else if wireType == 2 {
  8281  					var packedLen int
  8282  					for shift := uint(0); ; shift += 7 {
  8283  						if shift >= 64 {
  8284  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8285  						}
  8286  						if iNdEx >= l {
  8287  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8288  						}
  8289  						b := dAtA[iNdEx]
  8290  						iNdEx++
  8291  						packedLen |= int(b&0x7F) << shift
  8292  						if b < 0x80 {
  8293  							break
  8294  						}
  8295  					}
  8296  					if packedLen < 0 {
  8297  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8298  					}
  8299  					postIndex := iNdEx + packedLen
  8300  					if postIndex < 0 {
  8301  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8302  					}
  8303  					if postIndex > l {
  8304  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8305  					}
  8306  					var elementCount int
  8307  					if elementCount != 0 && len(x.RepeatedImportenum) == 0 {
  8308  						x.RepeatedImportenum = make([]ImportEnum, 0, elementCount)
  8309  					}
  8310  					for iNdEx < postIndex {
  8311  						var v ImportEnum
  8312  						for shift := uint(0); ; shift += 7 {
  8313  							if shift >= 64 {
  8314  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8315  							}
  8316  							if iNdEx >= l {
  8317  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8318  							}
  8319  							b := dAtA[iNdEx]
  8320  							iNdEx++
  8321  							v |= ImportEnum(b&0x7F) << shift
  8322  							if b < 0x80 {
  8323  								break
  8324  							}
  8325  						}
  8326  						x.RepeatedImportenum = append(x.RepeatedImportenum, v)
  8327  					}
  8328  				} else {
  8329  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field RepeatedImportenum", wireType)
  8330  				}
  8331  			case 56:
  8332  				if wireType != 2 {
  8333  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapInt32Int32", wireType)
  8334  				}
  8335  				var msglen int
  8336  				for shift := uint(0); ; shift += 7 {
  8337  					if shift >= 64 {
  8338  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8339  					}
  8340  					if iNdEx >= l {
  8341  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8342  					}
  8343  					b := dAtA[iNdEx]
  8344  					iNdEx++
  8345  					msglen |= int(b&0x7F) << shift
  8346  					if b < 0x80 {
  8347  						break
  8348  					}
  8349  				}
  8350  				if msglen < 0 {
  8351  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8352  				}
  8353  				postIndex := iNdEx + msglen
  8354  				if postIndex < 0 {
  8355  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8356  				}
  8357  				if postIndex > l {
  8358  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8359  				}
  8360  				if x.MapInt32Int32 == nil {
  8361  					x.MapInt32Int32 = make(map[int32]int32)
  8362  				}
  8363  				var mapkey int32
  8364  				var mapvalue int32
  8365  				for iNdEx < postIndex {
  8366  					entryPreIndex := iNdEx
  8367  					var wire uint64
  8368  					for shift := uint(0); ; shift += 7 {
  8369  						if shift >= 64 {
  8370  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8371  						}
  8372  						if iNdEx >= l {
  8373  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8374  						}
  8375  						b := dAtA[iNdEx]
  8376  						iNdEx++
  8377  						wire |= uint64(b&0x7F) << shift
  8378  						if b < 0x80 {
  8379  							break
  8380  						}
  8381  					}
  8382  					fieldNum := int32(wire >> 3)
  8383  					if fieldNum == 1 {
  8384  						for shift := uint(0); ; shift += 7 {
  8385  							if shift >= 64 {
  8386  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8387  							}
  8388  							if iNdEx >= l {
  8389  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8390  							}
  8391  							b := dAtA[iNdEx]
  8392  							iNdEx++
  8393  							mapkey |= int32(b&0x7F) << shift
  8394  							if b < 0x80 {
  8395  								break
  8396  							}
  8397  						}
  8398  					} else if fieldNum == 2 {
  8399  						for shift := uint(0); ; shift += 7 {
  8400  							if shift >= 64 {
  8401  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8402  							}
  8403  							if iNdEx >= l {
  8404  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8405  							}
  8406  							b := dAtA[iNdEx]
  8407  							iNdEx++
  8408  							mapvalue |= int32(b&0x7F) << shift
  8409  							if b < 0x80 {
  8410  								break
  8411  							}
  8412  						}
  8413  					} else {
  8414  						iNdEx = entryPreIndex
  8415  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  8416  						if err != nil {
  8417  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8418  						}
  8419  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  8420  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8421  						}
  8422  						if (iNdEx + skippy) > postIndex {
  8423  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8424  						}
  8425  						iNdEx += skippy
  8426  					}
  8427  				}
  8428  				x.MapInt32Int32[mapkey] = mapvalue
  8429  				iNdEx = postIndex
  8430  			case 57:
  8431  				if wireType != 2 {
  8432  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapInt64Int64", wireType)
  8433  				}
  8434  				var msglen int
  8435  				for shift := uint(0); ; shift += 7 {
  8436  					if shift >= 64 {
  8437  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8438  					}
  8439  					if iNdEx >= l {
  8440  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8441  					}
  8442  					b := dAtA[iNdEx]
  8443  					iNdEx++
  8444  					msglen |= int(b&0x7F) << shift
  8445  					if b < 0x80 {
  8446  						break
  8447  					}
  8448  				}
  8449  				if msglen < 0 {
  8450  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8451  				}
  8452  				postIndex := iNdEx + msglen
  8453  				if postIndex < 0 {
  8454  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8455  				}
  8456  				if postIndex > l {
  8457  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8458  				}
  8459  				if x.MapInt64Int64 == nil {
  8460  					x.MapInt64Int64 = make(map[int64]int64)
  8461  				}
  8462  				var mapkey int64
  8463  				var mapvalue int64
  8464  				for iNdEx < postIndex {
  8465  					entryPreIndex := iNdEx
  8466  					var wire uint64
  8467  					for shift := uint(0); ; shift += 7 {
  8468  						if shift >= 64 {
  8469  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8470  						}
  8471  						if iNdEx >= l {
  8472  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8473  						}
  8474  						b := dAtA[iNdEx]
  8475  						iNdEx++
  8476  						wire |= uint64(b&0x7F) << shift
  8477  						if b < 0x80 {
  8478  							break
  8479  						}
  8480  					}
  8481  					fieldNum := int32(wire >> 3)
  8482  					if fieldNum == 1 {
  8483  						for shift := uint(0); ; shift += 7 {
  8484  							if shift >= 64 {
  8485  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8486  							}
  8487  							if iNdEx >= l {
  8488  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8489  							}
  8490  							b := dAtA[iNdEx]
  8491  							iNdEx++
  8492  							mapkey |= int64(b&0x7F) << shift
  8493  							if b < 0x80 {
  8494  								break
  8495  							}
  8496  						}
  8497  					} else if fieldNum == 2 {
  8498  						for shift := uint(0); ; shift += 7 {
  8499  							if shift >= 64 {
  8500  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8501  							}
  8502  							if iNdEx >= l {
  8503  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8504  							}
  8505  							b := dAtA[iNdEx]
  8506  							iNdEx++
  8507  							mapvalue |= int64(b&0x7F) << shift
  8508  							if b < 0x80 {
  8509  								break
  8510  							}
  8511  						}
  8512  					} else {
  8513  						iNdEx = entryPreIndex
  8514  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  8515  						if err != nil {
  8516  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8517  						}
  8518  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  8519  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8520  						}
  8521  						if (iNdEx + skippy) > postIndex {
  8522  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8523  						}
  8524  						iNdEx += skippy
  8525  					}
  8526  				}
  8527  				x.MapInt64Int64[mapkey] = mapvalue
  8528  				iNdEx = postIndex
  8529  			case 58:
  8530  				if wireType != 2 {
  8531  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapUint32Uint32", wireType)
  8532  				}
  8533  				var msglen int
  8534  				for shift := uint(0); ; shift += 7 {
  8535  					if shift >= 64 {
  8536  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8537  					}
  8538  					if iNdEx >= l {
  8539  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8540  					}
  8541  					b := dAtA[iNdEx]
  8542  					iNdEx++
  8543  					msglen |= int(b&0x7F) << shift
  8544  					if b < 0x80 {
  8545  						break
  8546  					}
  8547  				}
  8548  				if msglen < 0 {
  8549  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8550  				}
  8551  				postIndex := iNdEx + msglen
  8552  				if postIndex < 0 {
  8553  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8554  				}
  8555  				if postIndex > l {
  8556  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8557  				}
  8558  				if x.MapUint32Uint32 == nil {
  8559  					x.MapUint32Uint32 = make(map[uint32]uint32)
  8560  				}
  8561  				var mapkey uint32
  8562  				var mapvalue uint32
  8563  				for iNdEx < postIndex {
  8564  					entryPreIndex := iNdEx
  8565  					var wire uint64
  8566  					for shift := uint(0); ; shift += 7 {
  8567  						if shift >= 64 {
  8568  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8569  						}
  8570  						if iNdEx >= l {
  8571  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8572  						}
  8573  						b := dAtA[iNdEx]
  8574  						iNdEx++
  8575  						wire |= uint64(b&0x7F) << shift
  8576  						if b < 0x80 {
  8577  							break
  8578  						}
  8579  					}
  8580  					fieldNum := int32(wire >> 3)
  8581  					if fieldNum == 1 {
  8582  						for shift := uint(0); ; shift += 7 {
  8583  							if shift >= 64 {
  8584  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8585  							}
  8586  							if iNdEx >= l {
  8587  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8588  							}
  8589  							b := dAtA[iNdEx]
  8590  							iNdEx++
  8591  							mapkey |= uint32(b&0x7F) << shift
  8592  							if b < 0x80 {
  8593  								break
  8594  							}
  8595  						}
  8596  					} else if fieldNum == 2 {
  8597  						for shift := uint(0); ; shift += 7 {
  8598  							if shift >= 64 {
  8599  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8600  							}
  8601  							if iNdEx >= l {
  8602  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8603  							}
  8604  							b := dAtA[iNdEx]
  8605  							iNdEx++
  8606  							mapvalue |= uint32(b&0x7F) << shift
  8607  							if b < 0x80 {
  8608  								break
  8609  							}
  8610  						}
  8611  					} else {
  8612  						iNdEx = entryPreIndex
  8613  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  8614  						if err != nil {
  8615  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8616  						}
  8617  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  8618  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8619  						}
  8620  						if (iNdEx + skippy) > postIndex {
  8621  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8622  						}
  8623  						iNdEx += skippy
  8624  					}
  8625  				}
  8626  				x.MapUint32Uint32[mapkey] = mapvalue
  8627  				iNdEx = postIndex
  8628  			case 59:
  8629  				if wireType != 2 {
  8630  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapUint64Uint64", wireType)
  8631  				}
  8632  				var msglen int
  8633  				for shift := uint(0); ; shift += 7 {
  8634  					if shift >= 64 {
  8635  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8636  					}
  8637  					if iNdEx >= l {
  8638  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8639  					}
  8640  					b := dAtA[iNdEx]
  8641  					iNdEx++
  8642  					msglen |= int(b&0x7F) << shift
  8643  					if b < 0x80 {
  8644  						break
  8645  					}
  8646  				}
  8647  				if msglen < 0 {
  8648  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8649  				}
  8650  				postIndex := iNdEx + msglen
  8651  				if postIndex < 0 {
  8652  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8653  				}
  8654  				if postIndex > l {
  8655  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8656  				}
  8657  				if x.MapUint64Uint64 == nil {
  8658  					x.MapUint64Uint64 = make(map[uint64]uint64)
  8659  				}
  8660  				var mapkey uint64
  8661  				var mapvalue uint64
  8662  				for iNdEx < postIndex {
  8663  					entryPreIndex := iNdEx
  8664  					var wire uint64
  8665  					for shift := uint(0); ; shift += 7 {
  8666  						if shift >= 64 {
  8667  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8668  						}
  8669  						if iNdEx >= l {
  8670  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8671  						}
  8672  						b := dAtA[iNdEx]
  8673  						iNdEx++
  8674  						wire |= uint64(b&0x7F) << shift
  8675  						if b < 0x80 {
  8676  							break
  8677  						}
  8678  					}
  8679  					fieldNum := int32(wire >> 3)
  8680  					if fieldNum == 1 {
  8681  						for shift := uint(0); ; shift += 7 {
  8682  							if shift >= 64 {
  8683  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8684  							}
  8685  							if iNdEx >= l {
  8686  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8687  							}
  8688  							b := dAtA[iNdEx]
  8689  							iNdEx++
  8690  							mapkey |= uint64(b&0x7F) << shift
  8691  							if b < 0x80 {
  8692  								break
  8693  							}
  8694  						}
  8695  					} else if fieldNum == 2 {
  8696  						for shift := uint(0); ; shift += 7 {
  8697  							if shift >= 64 {
  8698  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8699  							}
  8700  							if iNdEx >= l {
  8701  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8702  							}
  8703  							b := dAtA[iNdEx]
  8704  							iNdEx++
  8705  							mapvalue |= uint64(b&0x7F) << shift
  8706  							if b < 0x80 {
  8707  								break
  8708  							}
  8709  						}
  8710  					} else {
  8711  						iNdEx = entryPreIndex
  8712  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  8713  						if err != nil {
  8714  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8715  						}
  8716  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  8717  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8718  						}
  8719  						if (iNdEx + skippy) > postIndex {
  8720  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8721  						}
  8722  						iNdEx += skippy
  8723  					}
  8724  				}
  8725  				x.MapUint64Uint64[mapkey] = mapvalue
  8726  				iNdEx = postIndex
  8727  			case 60:
  8728  				if wireType != 2 {
  8729  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapSint32Sint32", wireType)
  8730  				}
  8731  				var msglen int
  8732  				for shift := uint(0); ; shift += 7 {
  8733  					if shift >= 64 {
  8734  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8735  					}
  8736  					if iNdEx >= l {
  8737  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8738  					}
  8739  					b := dAtA[iNdEx]
  8740  					iNdEx++
  8741  					msglen |= int(b&0x7F) << shift
  8742  					if b < 0x80 {
  8743  						break
  8744  					}
  8745  				}
  8746  				if msglen < 0 {
  8747  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8748  				}
  8749  				postIndex := iNdEx + msglen
  8750  				if postIndex < 0 {
  8751  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8752  				}
  8753  				if postIndex > l {
  8754  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8755  				}
  8756  				if x.MapSint32Sint32 == nil {
  8757  					x.MapSint32Sint32 = make(map[int32]int32)
  8758  				}
  8759  				var mapkey int32
  8760  				var mapvalue int32
  8761  				for iNdEx < postIndex {
  8762  					entryPreIndex := iNdEx
  8763  					var wire uint64
  8764  					for shift := uint(0); ; shift += 7 {
  8765  						if shift >= 64 {
  8766  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8767  						}
  8768  						if iNdEx >= l {
  8769  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8770  						}
  8771  						b := dAtA[iNdEx]
  8772  						iNdEx++
  8773  						wire |= uint64(b&0x7F) << shift
  8774  						if b < 0x80 {
  8775  							break
  8776  						}
  8777  					}
  8778  					fieldNum := int32(wire >> 3)
  8779  					if fieldNum == 1 {
  8780  						var mapkeytemp int32
  8781  						for shift := uint(0); ; shift += 7 {
  8782  							if shift >= 64 {
  8783  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8784  							}
  8785  							if iNdEx >= l {
  8786  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8787  							}
  8788  							b := dAtA[iNdEx]
  8789  							iNdEx++
  8790  							mapkeytemp |= int32(b&0x7F) << shift
  8791  							if b < 0x80 {
  8792  								break
  8793  							}
  8794  						}
  8795  						mapkeytemp = int32((uint32(mapkeytemp) >> 1) ^ uint32(((mapkeytemp&1)<<31)>>31))
  8796  						mapkey = int32(mapkeytemp)
  8797  					} else if fieldNum == 2 {
  8798  						var mapvaluetemp int32
  8799  						for shift := uint(0); ; shift += 7 {
  8800  							if shift >= 64 {
  8801  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8802  							}
  8803  							if iNdEx >= l {
  8804  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8805  							}
  8806  							b := dAtA[iNdEx]
  8807  							iNdEx++
  8808  							mapvaluetemp |= int32(b&0x7F) << shift
  8809  							if b < 0x80 {
  8810  								break
  8811  							}
  8812  						}
  8813  						mapvaluetemp = int32((uint32(mapvaluetemp) >> 1) ^ uint32(((mapvaluetemp&1)<<31)>>31))
  8814  						mapvalue = int32(mapvaluetemp)
  8815  					} else {
  8816  						iNdEx = entryPreIndex
  8817  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  8818  						if err != nil {
  8819  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8820  						}
  8821  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  8822  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8823  						}
  8824  						if (iNdEx + skippy) > postIndex {
  8825  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8826  						}
  8827  						iNdEx += skippy
  8828  					}
  8829  				}
  8830  				x.MapSint32Sint32[mapkey] = mapvalue
  8831  				iNdEx = postIndex
  8832  			case 61:
  8833  				if wireType != 2 {
  8834  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapSint64Sint64", wireType)
  8835  				}
  8836  				var msglen int
  8837  				for shift := uint(0); ; shift += 7 {
  8838  					if shift >= 64 {
  8839  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8840  					}
  8841  					if iNdEx >= l {
  8842  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8843  					}
  8844  					b := dAtA[iNdEx]
  8845  					iNdEx++
  8846  					msglen |= int(b&0x7F) << shift
  8847  					if b < 0x80 {
  8848  						break
  8849  					}
  8850  				}
  8851  				if msglen < 0 {
  8852  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8853  				}
  8854  				postIndex := iNdEx + msglen
  8855  				if postIndex < 0 {
  8856  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8857  				}
  8858  				if postIndex > l {
  8859  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8860  				}
  8861  				if x.MapSint64Sint64 == nil {
  8862  					x.MapSint64Sint64 = make(map[int64]int64)
  8863  				}
  8864  				var mapkey int64
  8865  				var mapvalue int64
  8866  				for iNdEx < postIndex {
  8867  					entryPreIndex := iNdEx
  8868  					var wire uint64
  8869  					for shift := uint(0); ; shift += 7 {
  8870  						if shift >= 64 {
  8871  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8872  						}
  8873  						if iNdEx >= l {
  8874  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8875  						}
  8876  						b := dAtA[iNdEx]
  8877  						iNdEx++
  8878  						wire |= uint64(b&0x7F) << shift
  8879  						if b < 0x80 {
  8880  							break
  8881  						}
  8882  					}
  8883  					fieldNum := int32(wire >> 3)
  8884  					if fieldNum == 1 {
  8885  						var mapkeytemp uint64
  8886  						for shift := uint(0); ; shift += 7 {
  8887  							if shift >= 64 {
  8888  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8889  							}
  8890  							if iNdEx >= l {
  8891  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8892  							}
  8893  							b := dAtA[iNdEx]
  8894  							iNdEx++
  8895  							mapkeytemp |= uint64(b&0x7F) << shift
  8896  							if b < 0x80 {
  8897  								break
  8898  							}
  8899  						}
  8900  						mapkeytemp = (mapkeytemp >> 1) ^ uint64((int64(mapkeytemp&1)<<63)>>63)
  8901  						mapkey = int64(mapkeytemp)
  8902  					} else if fieldNum == 2 {
  8903  						var mapvaluetemp uint64
  8904  						for shift := uint(0); ; shift += 7 {
  8905  							if shift >= 64 {
  8906  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8907  							}
  8908  							if iNdEx >= l {
  8909  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8910  							}
  8911  							b := dAtA[iNdEx]
  8912  							iNdEx++
  8913  							mapvaluetemp |= uint64(b&0x7F) << shift
  8914  							if b < 0x80 {
  8915  								break
  8916  							}
  8917  						}
  8918  						mapvaluetemp = (mapvaluetemp >> 1) ^ uint64((int64(mapvaluetemp&1)<<63)>>63)
  8919  						mapvalue = int64(mapvaluetemp)
  8920  					} else {
  8921  						iNdEx = entryPreIndex
  8922  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  8923  						if err != nil {
  8924  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  8925  						}
  8926  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  8927  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8928  						}
  8929  						if (iNdEx + skippy) > postIndex {
  8930  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8931  						}
  8932  						iNdEx += skippy
  8933  					}
  8934  				}
  8935  				x.MapSint64Sint64[mapkey] = mapvalue
  8936  				iNdEx = postIndex
  8937  			case 62:
  8938  				if wireType != 2 {
  8939  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapFixed32Fixed32", wireType)
  8940  				}
  8941  				var msglen int
  8942  				for shift := uint(0); ; shift += 7 {
  8943  					if shift >= 64 {
  8944  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8945  					}
  8946  					if iNdEx >= l {
  8947  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8948  					}
  8949  					b := dAtA[iNdEx]
  8950  					iNdEx++
  8951  					msglen |= int(b&0x7F) << shift
  8952  					if b < 0x80 {
  8953  						break
  8954  					}
  8955  				}
  8956  				if msglen < 0 {
  8957  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8958  				}
  8959  				postIndex := iNdEx + msglen
  8960  				if postIndex < 0 {
  8961  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  8962  				}
  8963  				if postIndex > l {
  8964  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8965  				}
  8966  				if x.MapFixed32Fixed32 == nil {
  8967  					x.MapFixed32Fixed32 = make(map[uint32]uint32)
  8968  				}
  8969  				var mapkey uint32
  8970  				var mapvalue uint32
  8971  				for iNdEx < postIndex {
  8972  					entryPreIndex := iNdEx
  8973  					var wire uint64
  8974  					for shift := uint(0); ; shift += 7 {
  8975  						if shift >= 64 {
  8976  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  8977  						}
  8978  						if iNdEx >= l {
  8979  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8980  						}
  8981  						b := dAtA[iNdEx]
  8982  						iNdEx++
  8983  						wire |= uint64(b&0x7F) << shift
  8984  						if b < 0x80 {
  8985  							break
  8986  						}
  8987  					}
  8988  					fieldNum := int32(wire >> 3)
  8989  					if fieldNum == 1 {
  8990  						if (iNdEx + 4) > l {
  8991  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8992  						}
  8993  						mapkey = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  8994  						iNdEx += 4
  8995  					} else if fieldNum == 2 {
  8996  						if (iNdEx + 4) > l {
  8997  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  8998  						}
  8999  						mapvalue = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  9000  						iNdEx += 4
  9001  					} else {
  9002  						iNdEx = entryPreIndex
  9003  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9004  						if err != nil {
  9005  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9006  						}
  9007  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9008  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9009  						}
  9010  						if (iNdEx + skippy) > postIndex {
  9011  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9012  						}
  9013  						iNdEx += skippy
  9014  					}
  9015  				}
  9016  				x.MapFixed32Fixed32[mapkey] = mapvalue
  9017  				iNdEx = postIndex
  9018  			case 63:
  9019  				if wireType != 2 {
  9020  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapFixed64Fixed64", wireType)
  9021  				}
  9022  				var msglen int
  9023  				for shift := uint(0); ; shift += 7 {
  9024  					if shift >= 64 {
  9025  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9026  					}
  9027  					if iNdEx >= l {
  9028  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9029  					}
  9030  					b := dAtA[iNdEx]
  9031  					iNdEx++
  9032  					msglen |= int(b&0x7F) << shift
  9033  					if b < 0x80 {
  9034  						break
  9035  					}
  9036  				}
  9037  				if msglen < 0 {
  9038  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9039  				}
  9040  				postIndex := iNdEx + msglen
  9041  				if postIndex < 0 {
  9042  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9043  				}
  9044  				if postIndex > l {
  9045  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9046  				}
  9047  				if x.MapFixed64Fixed64 == nil {
  9048  					x.MapFixed64Fixed64 = make(map[uint64]uint64)
  9049  				}
  9050  				var mapkey uint64
  9051  				var mapvalue uint64
  9052  				for iNdEx < postIndex {
  9053  					entryPreIndex := iNdEx
  9054  					var wire uint64
  9055  					for shift := uint(0); ; shift += 7 {
  9056  						if shift >= 64 {
  9057  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9058  						}
  9059  						if iNdEx >= l {
  9060  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9061  						}
  9062  						b := dAtA[iNdEx]
  9063  						iNdEx++
  9064  						wire |= uint64(b&0x7F) << shift
  9065  						if b < 0x80 {
  9066  							break
  9067  						}
  9068  					}
  9069  					fieldNum := int32(wire >> 3)
  9070  					if fieldNum == 1 {
  9071  						if (iNdEx + 8) > l {
  9072  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9073  						}
  9074  						mapkey = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  9075  						iNdEx += 8
  9076  					} else if fieldNum == 2 {
  9077  						if (iNdEx + 8) > l {
  9078  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9079  						}
  9080  						mapvalue = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  9081  						iNdEx += 8
  9082  					} else {
  9083  						iNdEx = entryPreIndex
  9084  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9085  						if err != nil {
  9086  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9087  						}
  9088  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9089  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9090  						}
  9091  						if (iNdEx + skippy) > postIndex {
  9092  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9093  						}
  9094  						iNdEx += skippy
  9095  					}
  9096  				}
  9097  				x.MapFixed64Fixed64[mapkey] = mapvalue
  9098  				iNdEx = postIndex
  9099  			case 64:
  9100  				if wireType != 2 {
  9101  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapSfixed32Sfixed32", wireType)
  9102  				}
  9103  				var msglen int
  9104  				for shift := uint(0); ; shift += 7 {
  9105  					if shift >= 64 {
  9106  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9107  					}
  9108  					if iNdEx >= l {
  9109  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9110  					}
  9111  					b := dAtA[iNdEx]
  9112  					iNdEx++
  9113  					msglen |= int(b&0x7F) << shift
  9114  					if b < 0x80 {
  9115  						break
  9116  					}
  9117  				}
  9118  				if msglen < 0 {
  9119  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9120  				}
  9121  				postIndex := iNdEx + msglen
  9122  				if postIndex < 0 {
  9123  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9124  				}
  9125  				if postIndex > l {
  9126  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9127  				}
  9128  				if x.MapSfixed32Sfixed32 == nil {
  9129  					x.MapSfixed32Sfixed32 = make(map[int32]int32)
  9130  				}
  9131  				var mapkey int32
  9132  				var mapvalue int32
  9133  				for iNdEx < postIndex {
  9134  					entryPreIndex := iNdEx
  9135  					var wire uint64
  9136  					for shift := uint(0); ; shift += 7 {
  9137  						if shift >= 64 {
  9138  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9139  						}
  9140  						if iNdEx >= l {
  9141  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9142  						}
  9143  						b := dAtA[iNdEx]
  9144  						iNdEx++
  9145  						wire |= uint64(b&0x7F) << shift
  9146  						if b < 0x80 {
  9147  							break
  9148  						}
  9149  					}
  9150  					fieldNum := int32(wire >> 3)
  9151  					if fieldNum == 1 {
  9152  						if (iNdEx + 4) > l {
  9153  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9154  						}
  9155  						mapkey = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  9156  						iNdEx += 4
  9157  					} else if fieldNum == 2 {
  9158  						if (iNdEx + 4) > l {
  9159  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9160  						}
  9161  						mapvalue = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  9162  						iNdEx += 4
  9163  					} else {
  9164  						iNdEx = entryPreIndex
  9165  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9166  						if err != nil {
  9167  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9168  						}
  9169  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9170  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9171  						}
  9172  						if (iNdEx + skippy) > postIndex {
  9173  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9174  						}
  9175  						iNdEx += skippy
  9176  					}
  9177  				}
  9178  				x.MapSfixed32Sfixed32[mapkey] = mapvalue
  9179  				iNdEx = postIndex
  9180  			case 65:
  9181  				if wireType != 2 {
  9182  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapSfixed64Sfixed64", wireType)
  9183  				}
  9184  				var msglen int
  9185  				for shift := uint(0); ; shift += 7 {
  9186  					if shift >= 64 {
  9187  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9188  					}
  9189  					if iNdEx >= l {
  9190  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9191  					}
  9192  					b := dAtA[iNdEx]
  9193  					iNdEx++
  9194  					msglen |= int(b&0x7F) << shift
  9195  					if b < 0x80 {
  9196  						break
  9197  					}
  9198  				}
  9199  				if msglen < 0 {
  9200  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9201  				}
  9202  				postIndex := iNdEx + msglen
  9203  				if postIndex < 0 {
  9204  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9205  				}
  9206  				if postIndex > l {
  9207  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9208  				}
  9209  				if x.MapSfixed64Sfixed64 == nil {
  9210  					x.MapSfixed64Sfixed64 = make(map[int64]int64)
  9211  				}
  9212  				var mapkey int64
  9213  				var mapvalue int64
  9214  				for iNdEx < postIndex {
  9215  					entryPreIndex := iNdEx
  9216  					var wire uint64
  9217  					for shift := uint(0); ; shift += 7 {
  9218  						if shift >= 64 {
  9219  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9220  						}
  9221  						if iNdEx >= l {
  9222  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9223  						}
  9224  						b := dAtA[iNdEx]
  9225  						iNdEx++
  9226  						wire |= uint64(b&0x7F) << shift
  9227  						if b < 0x80 {
  9228  							break
  9229  						}
  9230  					}
  9231  					fieldNum := int32(wire >> 3)
  9232  					if fieldNum == 1 {
  9233  						if (iNdEx + 8) > l {
  9234  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9235  						}
  9236  						mapkey = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  9237  						iNdEx += 8
  9238  					} else if fieldNum == 2 {
  9239  						if (iNdEx + 8) > l {
  9240  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9241  						}
  9242  						mapvalue = int64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  9243  						iNdEx += 8
  9244  					} else {
  9245  						iNdEx = entryPreIndex
  9246  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9247  						if err != nil {
  9248  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9249  						}
  9250  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9251  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9252  						}
  9253  						if (iNdEx + skippy) > postIndex {
  9254  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9255  						}
  9256  						iNdEx += skippy
  9257  					}
  9258  				}
  9259  				x.MapSfixed64Sfixed64[mapkey] = mapvalue
  9260  				iNdEx = postIndex
  9261  			case 66:
  9262  				if wireType != 2 {
  9263  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapInt32Float", wireType)
  9264  				}
  9265  				var msglen int
  9266  				for shift := uint(0); ; shift += 7 {
  9267  					if shift >= 64 {
  9268  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9269  					}
  9270  					if iNdEx >= l {
  9271  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9272  					}
  9273  					b := dAtA[iNdEx]
  9274  					iNdEx++
  9275  					msglen |= int(b&0x7F) << shift
  9276  					if b < 0x80 {
  9277  						break
  9278  					}
  9279  				}
  9280  				if msglen < 0 {
  9281  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9282  				}
  9283  				postIndex := iNdEx + msglen
  9284  				if postIndex < 0 {
  9285  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9286  				}
  9287  				if postIndex > l {
  9288  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9289  				}
  9290  				if x.MapInt32Float == nil {
  9291  					x.MapInt32Float = make(map[int32]float32)
  9292  				}
  9293  				var mapkey int32
  9294  				var mapvalue float32
  9295  				for iNdEx < postIndex {
  9296  					entryPreIndex := iNdEx
  9297  					var wire uint64
  9298  					for shift := uint(0); ; shift += 7 {
  9299  						if shift >= 64 {
  9300  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9301  						}
  9302  						if iNdEx >= l {
  9303  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9304  						}
  9305  						b := dAtA[iNdEx]
  9306  						iNdEx++
  9307  						wire |= uint64(b&0x7F) << shift
  9308  						if b < 0x80 {
  9309  							break
  9310  						}
  9311  					}
  9312  					fieldNum := int32(wire >> 3)
  9313  					if fieldNum == 1 {
  9314  						for shift := uint(0); ; shift += 7 {
  9315  							if shift >= 64 {
  9316  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9317  							}
  9318  							if iNdEx >= l {
  9319  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9320  							}
  9321  							b := dAtA[iNdEx]
  9322  							iNdEx++
  9323  							mapkey |= int32(b&0x7F) << shift
  9324  							if b < 0x80 {
  9325  								break
  9326  							}
  9327  						}
  9328  					} else if fieldNum == 2 {
  9329  						var mapvaluetemp uint32
  9330  						if (iNdEx + 4) > l {
  9331  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9332  						}
  9333  						mapvaluetemp = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  9334  						iNdEx += 4
  9335  						mapvalue = math.Float32frombits(mapvaluetemp)
  9336  					} else {
  9337  						iNdEx = entryPreIndex
  9338  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9339  						if err != nil {
  9340  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9341  						}
  9342  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9343  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9344  						}
  9345  						if (iNdEx + skippy) > postIndex {
  9346  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9347  						}
  9348  						iNdEx += skippy
  9349  					}
  9350  				}
  9351  				x.MapInt32Float[mapkey] = mapvalue
  9352  				iNdEx = postIndex
  9353  			case 67:
  9354  				if wireType != 2 {
  9355  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapInt32Double", wireType)
  9356  				}
  9357  				var msglen int
  9358  				for shift := uint(0); ; shift += 7 {
  9359  					if shift >= 64 {
  9360  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9361  					}
  9362  					if iNdEx >= l {
  9363  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9364  					}
  9365  					b := dAtA[iNdEx]
  9366  					iNdEx++
  9367  					msglen |= int(b&0x7F) << shift
  9368  					if b < 0x80 {
  9369  						break
  9370  					}
  9371  				}
  9372  				if msglen < 0 {
  9373  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9374  				}
  9375  				postIndex := iNdEx + msglen
  9376  				if postIndex < 0 {
  9377  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9378  				}
  9379  				if postIndex > l {
  9380  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9381  				}
  9382  				if x.MapInt32Double == nil {
  9383  					x.MapInt32Double = make(map[int32]float64)
  9384  				}
  9385  				var mapkey int32
  9386  				var mapvalue float64
  9387  				for iNdEx < postIndex {
  9388  					entryPreIndex := iNdEx
  9389  					var wire uint64
  9390  					for shift := uint(0); ; shift += 7 {
  9391  						if shift >= 64 {
  9392  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9393  						}
  9394  						if iNdEx >= l {
  9395  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9396  						}
  9397  						b := dAtA[iNdEx]
  9398  						iNdEx++
  9399  						wire |= uint64(b&0x7F) << shift
  9400  						if b < 0x80 {
  9401  							break
  9402  						}
  9403  					}
  9404  					fieldNum := int32(wire >> 3)
  9405  					if fieldNum == 1 {
  9406  						for shift := uint(0); ; shift += 7 {
  9407  							if shift >= 64 {
  9408  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9409  							}
  9410  							if iNdEx >= l {
  9411  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9412  							}
  9413  							b := dAtA[iNdEx]
  9414  							iNdEx++
  9415  							mapkey |= int32(b&0x7F) << shift
  9416  							if b < 0x80 {
  9417  								break
  9418  							}
  9419  						}
  9420  					} else if fieldNum == 2 {
  9421  						var mapvaluetemp uint64
  9422  						if (iNdEx + 8) > l {
  9423  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9424  						}
  9425  						mapvaluetemp = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  9426  						iNdEx += 8
  9427  						mapvalue = math.Float64frombits(mapvaluetemp)
  9428  					} else {
  9429  						iNdEx = entryPreIndex
  9430  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9431  						if err != nil {
  9432  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9433  						}
  9434  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9435  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9436  						}
  9437  						if (iNdEx + skippy) > postIndex {
  9438  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9439  						}
  9440  						iNdEx += skippy
  9441  					}
  9442  				}
  9443  				x.MapInt32Double[mapkey] = mapvalue
  9444  				iNdEx = postIndex
  9445  			case 68:
  9446  				if wireType != 2 {
  9447  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapBoolBool", wireType)
  9448  				}
  9449  				var msglen int
  9450  				for shift := uint(0); ; shift += 7 {
  9451  					if shift >= 64 {
  9452  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9453  					}
  9454  					if iNdEx >= l {
  9455  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9456  					}
  9457  					b := dAtA[iNdEx]
  9458  					iNdEx++
  9459  					msglen |= int(b&0x7F) << shift
  9460  					if b < 0x80 {
  9461  						break
  9462  					}
  9463  				}
  9464  				if msglen < 0 {
  9465  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9466  				}
  9467  				postIndex := iNdEx + msglen
  9468  				if postIndex < 0 {
  9469  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9470  				}
  9471  				if postIndex > l {
  9472  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9473  				}
  9474  				if x.MapBoolBool == nil {
  9475  					x.MapBoolBool = make(map[bool]bool)
  9476  				}
  9477  				var mapkey bool
  9478  				var mapvalue bool
  9479  				for iNdEx < postIndex {
  9480  					entryPreIndex := iNdEx
  9481  					var wire uint64
  9482  					for shift := uint(0); ; shift += 7 {
  9483  						if shift >= 64 {
  9484  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9485  						}
  9486  						if iNdEx >= l {
  9487  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9488  						}
  9489  						b := dAtA[iNdEx]
  9490  						iNdEx++
  9491  						wire |= uint64(b&0x7F) << shift
  9492  						if b < 0x80 {
  9493  							break
  9494  						}
  9495  					}
  9496  					fieldNum := int32(wire >> 3)
  9497  					if fieldNum == 1 {
  9498  						var mapkeytemp int
  9499  						for shift := uint(0); ; shift += 7 {
  9500  							if shift >= 64 {
  9501  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9502  							}
  9503  							if iNdEx >= l {
  9504  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9505  							}
  9506  							b := dAtA[iNdEx]
  9507  							iNdEx++
  9508  							mapkeytemp |= int(b&0x7F) << shift
  9509  							if b < 0x80 {
  9510  								break
  9511  							}
  9512  						}
  9513  						mapkey = bool(mapkeytemp != 0)
  9514  					} else if fieldNum == 2 {
  9515  						var mapvaluetemp int
  9516  						for shift := uint(0); ; shift += 7 {
  9517  							if shift >= 64 {
  9518  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9519  							}
  9520  							if iNdEx >= l {
  9521  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9522  							}
  9523  							b := dAtA[iNdEx]
  9524  							iNdEx++
  9525  							mapvaluetemp |= int(b&0x7F) << shift
  9526  							if b < 0x80 {
  9527  								break
  9528  							}
  9529  						}
  9530  						mapvalue = bool(mapvaluetemp != 0)
  9531  					} else {
  9532  						iNdEx = entryPreIndex
  9533  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9534  						if err != nil {
  9535  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9536  						}
  9537  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9538  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9539  						}
  9540  						if (iNdEx + skippy) > postIndex {
  9541  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9542  						}
  9543  						iNdEx += skippy
  9544  					}
  9545  				}
  9546  				x.MapBoolBool[mapkey] = mapvalue
  9547  				iNdEx = postIndex
  9548  			case 69:
  9549  				if wireType != 2 {
  9550  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapStringString", wireType)
  9551  				}
  9552  				var msglen int
  9553  				for shift := uint(0); ; shift += 7 {
  9554  					if shift >= 64 {
  9555  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9556  					}
  9557  					if iNdEx >= l {
  9558  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9559  					}
  9560  					b := dAtA[iNdEx]
  9561  					iNdEx++
  9562  					msglen |= int(b&0x7F) << shift
  9563  					if b < 0x80 {
  9564  						break
  9565  					}
  9566  				}
  9567  				if msglen < 0 {
  9568  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9569  				}
  9570  				postIndex := iNdEx + msglen
  9571  				if postIndex < 0 {
  9572  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9573  				}
  9574  				if postIndex > l {
  9575  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9576  				}
  9577  				if x.MapStringString == nil {
  9578  					x.MapStringString = make(map[string]string)
  9579  				}
  9580  				var mapkey string
  9581  				var mapvalue string
  9582  				for iNdEx < postIndex {
  9583  					entryPreIndex := iNdEx
  9584  					var wire uint64
  9585  					for shift := uint(0); ; shift += 7 {
  9586  						if shift >= 64 {
  9587  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9588  						}
  9589  						if iNdEx >= l {
  9590  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9591  						}
  9592  						b := dAtA[iNdEx]
  9593  						iNdEx++
  9594  						wire |= uint64(b&0x7F) << shift
  9595  						if b < 0x80 {
  9596  							break
  9597  						}
  9598  					}
  9599  					fieldNum := int32(wire >> 3)
  9600  					if fieldNum == 1 {
  9601  						var stringLenmapkey uint64
  9602  						for shift := uint(0); ; shift += 7 {
  9603  							if shift >= 64 {
  9604  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9605  							}
  9606  							if iNdEx >= l {
  9607  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9608  							}
  9609  							b := dAtA[iNdEx]
  9610  							iNdEx++
  9611  							stringLenmapkey |= uint64(b&0x7F) << shift
  9612  							if b < 0x80 {
  9613  								break
  9614  							}
  9615  						}
  9616  						intStringLenmapkey := int(stringLenmapkey)
  9617  						if intStringLenmapkey < 0 {
  9618  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9619  						}
  9620  						postStringIndexmapkey := iNdEx + intStringLenmapkey
  9621  						if postStringIndexmapkey < 0 {
  9622  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9623  						}
  9624  						if postStringIndexmapkey > l {
  9625  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9626  						}
  9627  						mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  9628  						iNdEx = postStringIndexmapkey
  9629  					} else if fieldNum == 2 {
  9630  						var stringLenmapvalue uint64
  9631  						for shift := uint(0); ; shift += 7 {
  9632  							if shift >= 64 {
  9633  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9634  							}
  9635  							if iNdEx >= l {
  9636  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9637  							}
  9638  							b := dAtA[iNdEx]
  9639  							iNdEx++
  9640  							stringLenmapvalue |= uint64(b&0x7F) << shift
  9641  							if b < 0x80 {
  9642  								break
  9643  							}
  9644  						}
  9645  						intStringLenmapvalue := int(stringLenmapvalue)
  9646  						if intStringLenmapvalue < 0 {
  9647  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9648  						}
  9649  						postStringIndexmapvalue := iNdEx + intStringLenmapvalue
  9650  						if postStringIndexmapvalue < 0 {
  9651  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9652  						}
  9653  						if postStringIndexmapvalue > l {
  9654  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9655  						}
  9656  						mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue])
  9657  						iNdEx = postStringIndexmapvalue
  9658  					} else {
  9659  						iNdEx = entryPreIndex
  9660  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9661  						if err != nil {
  9662  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9663  						}
  9664  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9665  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9666  						}
  9667  						if (iNdEx + skippy) > postIndex {
  9668  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9669  						}
  9670  						iNdEx += skippy
  9671  					}
  9672  				}
  9673  				x.MapStringString[mapkey] = mapvalue
  9674  				iNdEx = postIndex
  9675  			case 70:
  9676  				if wireType != 2 {
  9677  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapStringBytes", wireType)
  9678  				}
  9679  				var msglen int
  9680  				for shift := uint(0); ; shift += 7 {
  9681  					if shift >= 64 {
  9682  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9683  					}
  9684  					if iNdEx >= l {
  9685  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9686  					}
  9687  					b := dAtA[iNdEx]
  9688  					iNdEx++
  9689  					msglen |= int(b&0x7F) << shift
  9690  					if b < 0x80 {
  9691  						break
  9692  					}
  9693  				}
  9694  				if msglen < 0 {
  9695  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9696  				}
  9697  				postIndex := iNdEx + msglen
  9698  				if postIndex < 0 {
  9699  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9700  				}
  9701  				if postIndex > l {
  9702  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9703  				}
  9704  				if x.MapStringBytes == nil {
  9705  					x.MapStringBytes = make(map[string][]byte)
  9706  				}
  9707  				var mapkey string
  9708  				var mapvalue []byte
  9709  				for iNdEx < postIndex {
  9710  					entryPreIndex := iNdEx
  9711  					var wire uint64
  9712  					for shift := uint(0); ; shift += 7 {
  9713  						if shift >= 64 {
  9714  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9715  						}
  9716  						if iNdEx >= l {
  9717  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9718  						}
  9719  						b := dAtA[iNdEx]
  9720  						iNdEx++
  9721  						wire |= uint64(b&0x7F) << shift
  9722  						if b < 0x80 {
  9723  							break
  9724  						}
  9725  					}
  9726  					fieldNum := int32(wire >> 3)
  9727  					if fieldNum == 1 {
  9728  						var stringLenmapkey uint64
  9729  						for shift := uint(0); ; shift += 7 {
  9730  							if shift >= 64 {
  9731  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9732  							}
  9733  							if iNdEx >= l {
  9734  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9735  							}
  9736  							b := dAtA[iNdEx]
  9737  							iNdEx++
  9738  							stringLenmapkey |= uint64(b&0x7F) << shift
  9739  							if b < 0x80 {
  9740  								break
  9741  							}
  9742  						}
  9743  						intStringLenmapkey := int(stringLenmapkey)
  9744  						if intStringLenmapkey < 0 {
  9745  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9746  						}
  9747  						postStringIndexmapkey := iNdEx + intStringLenmapkey
  9748  						if postStringIndexmapkey < 0 {
  9749  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9750  						}
  9751  						if postStringIndexmapkey > l {
  9752  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9753  						}
  9754  						mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  9755  						iNdEx = postStringIndexmapkey
  9756  					} else if fieldNum == 2 {
  9757  						var mapbyteLen uint64
  9758  						for shift := uint(0); ; shift += 7 {
  9759  							if shift >= 64 {
  9760  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9761  							}
  9762  							if iNdEx >= l {
  9763  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9764  							}
  9765  							b := dAtA[iNdEx]
  9766  							iNdEx++
  9767  							mapbyteLen |= uint64(b&0x7F) << shift
  9768  							if b < 0x80 {
  9769  								break
  9770  							}
  9771  						}
  9772  						intMapbyteLen := int(mapbyteLen)
  9773  						if intMapbyteLen < 0 {
  9774  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9775  						}
  9776  						postbytesIndex := iNdEx + intMapbyteLen
  9777  						if postbytesIndex < 0 {
  9778  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9779  						}
  9780  						if postbytesIndex > l {
  9781  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9782  						}
  9783  						mapvalue = make([]byte, mapbyteLen)
  9784  						copy(mapvalue, dAtA[iNdEx:postbytesIndex])
  9785  						iNdEx = postbytesIndex
  9786  					} else {
  9787  						iNdEx = entryPreIndex
  9788  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9789  						if err != nil {
  9790  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9791  						}
  9792  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9793  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9794  						}
  9795  						if (iNdEx + skippy) > postIndex {
  9796  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9797  						}
  9798  						iNdEx += skippy
  9799  					}
  9800  				}
  9801  				x.MapStringBytes[mapkey] = mapvalue
  9802  				iNdEx = postIndex
  9803  			case 71:
  9804  				if wireType != 2 {
  9805  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapStringNestedMessage", wireType)
  9806  				}
  9807  				var msglen int
  9808  				for shift := uint(0); ; shift += 7 {
  9809  					if shift >= 64 {
  9810  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9811  					}
  9812  					if iNdEx >= l {
  9813  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9814  					}
  9815  					b := dAtA[iNdEx]
  9816  					iNdEx++
  9817  					msglen |= int(b&0x7F) << shift
  9818  					if b < 0x80 {
  9819  						break
  9820  					}
  9821  				}
  9822  				if msglen < 0 {
  9823  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9824  				}
  9825  				postIndex := iNdEx + msglen
  9826  				if postIndex < 0 {
  9827  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9828  				}
  9829  				if postIndex > l {
  9830  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9831  				}
  9832  				if x.MapStringNestedMessage == nil {
  9833  					x.MapStringNestedMessage = make(map[string]*TestAllTypes_NestedMessage)
  9834  				}
  9835  				var mapkey string
  9836  				var mapvalue *TestAllTypes_NestedMessage
  9837  				for iNdEx < postIndex {
  9838  					entryPreIndex := iNdEx
  9839  					var wire uint64
  9840  					for shift := uint(0); ; shift += 7 {
  9841  						if shift >= 64 {
  9842  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9843  						}
  9844  						if iNdEx >= l {
  9845  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9846  						}
  9847  						b := dAtA[iNdEx]
  9848  						iNdEx++
  9849  						wire |= uint64(b&0x7F) << shift
  9850  						if b < 0x80 {
  9851  							break
  9852  						}
  9853  					}
  9854  					fieldNum := int32(wire >> 3)
  9855  					if fieldNum == 1 {
  9856  						var stringLenmapkey uint64
  9857  						for shift := uint(0); ; shift += 7 {
  9858  							if shift >= 64 {
  9859  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9860  							}
  9861  							if iNdEx >= l {
  9862  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9863  							}
  9864  							b := dAtA[iNdEx]
  9865  							iNdEx++
  9866  							stringLenmapkey |= uint64(b&0x7F) << shift
  9867  							if b < 0x80 {
  9868  								break
  9869  							}
  9870  						}
  9871  						intStringLenmapkey := int(stringLenmapkey)
  9872  						if intStringLenmapkey < 0 {
  9873  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9874  						}
  9875  						postStringIndexmapkey := iNdEx + intStringLenmapkey
  9876  						if postStringIndexmapkey < 0 {
  9877  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9878  						}
  9879  						if postStringIndexmapkey > l {
  9880  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9881  						}
  9882  						mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
  9883  						iNdEx = postStringIndexmapkey
  9884  					} else if fieldNum == 2 {
  9885  						var mapmsglen int
  9886  						for shift := uint(0); ; shift += 7 {
  9887  							if shift >= 64 {
  9888  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9889  							}
  9890  							if iNdEx >= l {
  9891  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9892  							}
  9893  							b := dAtA[iNdEx]
  9894  							iNdEx++
  9895  							mapmsglen |= int(b&0x7F) << shift
  9896  							if b < 0x80 {
  9897  								break
  9898  							}
  9899  						}
  9900  						if mapmsglen < 0 {
  9901  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9902  						}
  9903  						postmsgIndex := iNdEx + mapmsglen
  9904  						if postmsgIndex < 0 {
  9905  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9906  						}
  9907  						if postmsgIndex > l {
  9908  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9909  						}
  9910  						mapvalue = &TestAllTypes_NestedMessage{}
  9911  						if err := options.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil {
  9912  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9913  						}
  9914  						iNdEx = postmsgIndex
  9915  					} else {
  9916  						iNdEx = entryPreIndex
  9917  						skippy, err := runtime.Skip(dAtA[iNdEx:])
  9918  						if err != nil {
  9919  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
  9920  						}
  9921  						if (skippy < 0) || (iNdEx+skippy) < 0 {
  9922  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9923  						}
  9924  						if (iNdEx + skippy) > postIndex {
  9925  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9926  						}
  9927  						iNdEx += skippy
  9928  					}
  9929  				}
  9930  				x.MapStringNestedMessage[mapkey] = mapvalue
  9931  				iNdEx = postIndex
  9932  			case 73:
  9933  				if wireType != 2 {
  9934  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MapStringNestedEnum", wireType)
  9935  				}
  9936  				var msglen int
  9937  				for shift := uint(0); ; shift += 7 {
  9938  					if shift >= 64 {
  9939  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9940  					}
  9941  					if iNdEx >= l {
  9942  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9943  					}
  9944  					b := dAtA[iNdEx]
  9945  					iNdEx++
  9946  					msglen |= int(b&0x7F) << shift
  9947  					if b < 0x80 {
  9948  						break
  9949  					}
  9950  				}
  9951  				if msglen < 0 {
  9952  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9953  				}
  9954  				postIndex := iNdEx + msglen
  9955  				if postIndex < 0 {
  9956  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
  9957  				}
  9958  				if postIndex > l {
  9959  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9960  				}
  9961  				if x.MapStringNestedEnum == nil {
  9962  					x.MapStringNestedEnum = make(map[string]TestAllTypes_NestedEnum)
  9963  				}
  9964  				var mapkey string
  9965  				var mapvalue TestAllTypes_NestedEnum
  9966  				for iNdEx < postIndex {
  9967  					entryPreIndex := iNdEx
  9968  					var wire uint64
  9969  					for shift := uint(0); ; shift += 7 {
  9970  						if shift >= 64 {
  9971  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9972  						}
  9973  						if iNdEx >= l {
  9974  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9975  						}
  9976  						b := dAtA[iNdEx]
  9977  						iNdEx++
  9978  						wire |= uint64(b&0x7F) << shift
  9979  						if b < 0x80 {
  9980  							break
  9981  						}
  9982  					}
  9983  					fieldNum := int32(wire >> 3)
  9984  					if fieldNum == 1 {
  9985  						var stringLenmapkey uint64
  9986  						for shift := uint(0); ; shift += 7 {
  9987  							if shift >= 64 {
  9988  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
  9989  							}
  9990  							if iNdEx >= l {
  9991  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
  9992  							}
  9993  							b := dAtA[iNdEx]
  9994  							iNdEx++
  9995  							stringLenmapkey |= uint64(b&0x7F) << shift
  9996  							if b < 0x80 {
  9997  								break
  9998  							}
  9999  						}
 10000  						intStringLenmapkey := int(stringLenmapkey)
 10001  						if intStringLenmapkey < 0 {
 10002  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10003  						}
 10004  						postStringIndexmapkey := iNdEx + intStringLenmapkey
 10005  						if postStringIndexmapkey < 0 {
 10006  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10007  						}
 10008  						if postStringIndexmapkey > l {
 10009  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10010  						}
 10011  						mapkey = string(dAtA[iNdEx:postStringIndexmapkey])
 10012  						iNdEx = postStringIndexmapkey
 10013  					} else if fieldNum == 2 {
 10014  						for shift := uint(0); ; shift += 7 {
 10015  							if shift >= 64 {
 10016  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10017  							}
 10018  							if iNdEx >= l {
 10019  								return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10020  							}
 10021  							b := dAtA[iNdEx]
 10022  							iNdEx++
 10023  							mapvalue |= TestAllTypes_NestedEnum(b&0x7F) << shift
 10024  							if b < 0x80 {
 10025  								break
 10026  							}
 10027  						}
 10028  					} else {
 10029  						iNdEx = entryPreIndex
 10030  						skippy, err := runtime.Skip(dAtA[iNdEx:])
 10031  						if err != nil {
 10032  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10033  						}
 10034  						if (skippy < 0) || (iNdEx+skippy) < 0 {
 10035  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10036  						}
 10037  						if (iNdEx + skippy) > postIndex {
 10038  							return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10039  						}
 10040  						iNdEx += skippy
 10041  					}
 10042  				}
 10043  				x.MapStringNestedEnum[mapkey] = mapvalue
 10044  				iNdEx = postIndex
 10045  			case 111:
 10046  				if wireType != 0 {
 10047  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofUint32", wireType)
 10048  				}
 10049  				var v uint32
 10050  				for shift := uint(0); ; shift += 7 {
 10051  					if shift >= 64 {
 10052  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10053  					}
 10054  					if iNdEx >= l {
 10055  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10056  					}
 10057  					b := dAtA[iNdEx]
 10058  					iNdEx++
 10059  					v |= uint32(b&0x7F) << shift
 10060  					if b < 0x80 {
 10061  						break
 10062  					}
 10063  				}
 10064  				x.OneofField = &TestAllTypes_OneofUint32{v}
 10065  			case 112:
 10066  				if wireType != 2 {
 10067  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofNestedMessage", wireType)
 10068  				}
 10069  				var msglen int
 10070  				for shift := uint(0); ; shift += 7 {
 10071  					if shift >= 64 {
 10072  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10073  					}
 10074  					if iNdEx >= l {
 10075  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10076  					}
 10077  					b := dAtA[iNdEx]
 10078  					iNdEx++
 10079  					msglen |= int(b&0x7F) << shift
 10080  					if b < 0x80 {
 10081  						break
 10082  					}
 10083  				}
 10084  				if msglen < 0 {
 10085  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10086  				}
 10087  				postIndex := iNdEx + msglen
 10088  				if postIndex < 0 {
 10089  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10090  				}
 10091  				if postIndex > l {
 10092  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10093  				}
 10094  				v := &TestAllTypes_NestedMessage{}
 10095  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil {
 10096  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10097  				}
 10098  				x.OneofField = &TestAllTypes_OneofNestedMessage{v}
 10099  				iNdEx = postIndex
 10100  			case 113:
 10101  				if wireType != 2 {
 10102  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofString", wireType)
 10103  				}
 10104  				var stringLen uint64
 10105  				for shift := uint(0); ; shift += 7 {
 10106  					if shift >= 64 {
 10107  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10108  					}
 10109  					if iNdEx >= l {
 10110  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10111  					}
 10112  					b := dAtA[iNdEx]
 10113  					iNdEx++
 10114  					stringLen |= uint64(b&0x7F) << shift
 10115  					if b < 0x80 {
 10116  						break
 10117  					}
 10118  				}
 10119  				intStringLen := int(stringLen)
 10120  				if intStringLen < 0 {
 10121  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10122  				}
 10123  				postIndex := iNdEx + intStringLen
 10124  				if postIndex < 0 {
 10125  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10126  				}
 10127  				if postIndex > l {
 10128  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10129  				}
 10130  				x.OneofField = &TestAllTypes_OneofString{string(dAtA[iNdEx:postIndex])}
 10131  				iNdEx = postIndex
 10132  			case 114:
 10133  				if wireType != 2 {
 10134  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofBytes", wireType)
 10135  				}
 10136  				var byteLen int
 10137  				for shift := uint(0); ; shift += 7 {
 10138  					if shift >= 64 {
 10139  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10140  					}
 10141  					if iNdEx >= l {
 10142  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10143  					}
 10144  					b := dAtA[iNdEx]
 10145  					iNdEx++
 10146  					byteLen |= int(b&0x7F) << shift
 10147  					if b < 0x80 {
 10148  						break
 10149  					}
 10150  				}
 10151  				if byteLen < 0 {
 10152  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10153  				}
 10154  				postIndex := iNdEx + byteLen
 10155  				if postIndex < 0 {
 10156  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10157  				}
 10158  				if postIndex > l {
 10159  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10160  				}
 10161  				v := make([]byte, postIndex-iNdEx)
 10162  				copy(v, dAtA[iNdEx:postIndex])
 10163  				x.OneofField = &TestAllTypes_OneofBytes{v}
 10164  				iNdEx = postIndex
 10165  			case 115:
 10166  				if wireType != 0 {
 10167  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofBool", wireType)
 10168  				}
 10169  				var v int
 10170  				for shift := uint(0); ; shift += 7 {
 10171  					if shift >= 64 {
 10172  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10173  					}
 10174  					if iNdEx >= l {
 10175  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10176  					}
 10177  					b := dAtA[iNdEx]
 10178  					iNdEx++
 10179  					v |= int(b&0x7F) << shift
 10180  					if b < 0x80 {
 10181  						break
 10182  					}
 10183  				}
 10184  				b := bool(v != 0)
 10185  				x.OneofField = &TestAllTypes_OneofBool{b}
 10186  			case 116:
 10187  				if wireType != 0 {
 10188  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofUint64", wireType)
 10189  				}
 10190  				var v uint64
 10191  				for shift := uint(0); ; shift += 7 {
 10192  					if shift >= 64 {
 10193  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10194  					}
 10195  					if iNdEx >= l {
 10196  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10197  					}
 10198  					b := dAtA[iNdEx]
 10199  					iNdEx++
 10200  					v |= uint64(b&0x7F) << shift
 10201  					if b < 0x80 {
 10202  						break
 10203  					}
 10204  				}
 10205  				x.OneofField = &TestAllTypes_OneofUint64{v}
 10206  			case 117:
 10207  				if wireType != 5 {
 10208  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofFloat", wireType)
 10209  				}
 10210  				var v uint32
 10211  				if (iNdEx + 4) > l {
 10212  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10213  				}
 10214  				v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:]))
 10215  				iNdEx += 4
 10216  				x.OneofField = &TestAllTypes_OneofFloat{float32(math.Float32frombits(v))}
 10217  			case 118:
 10218  				if wireType != 1 {
 10219  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofDouble", wireType)
 10220  				}
 10221  				var v uint64
 10222  				if (iNdEx + 8) > l {
 10223  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10224  				}
 10225  				v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:]))
 10226  				iNdEx += 8
 10227  				x.OneofField = &TestAllTypes_OneofDouble{float64(math.Float64frombits(v))}
 10228  			case 119:
 10229  				if wireType != 0 {
 10230  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OneofEnum", wireType)
 10231  				}
 10232  				var v TestAllTypes_NestedEnum
 10233  				for shift := uint(0); ; shift += 7 {
 10234  					if shift >= 64 {
 10235  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10236  					}
 10237  					if iNdEx >= l {
 10238  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10239  					}
 10240  					b := dAtA[iNdEx]
 10241  					iNdEx++
 10242  					v |= TestAllTypes_NestedEnum(b&0x7F) << shift
 10243  					if b < 0x80 {
 10244  						break
 10245  					}
 10246  				}
 10247  				x.OneofField = &TestAllTypes_OneofEnum{v}
 10248  			default:
 10249  				iNdEx = preIndex
 10250  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 10251  				if err != nil {
 10252  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10253  				}
 10254  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 10255  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10256  				}
 10257  				if (iNdEx + skippy) > l {
 10258  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10259  				}
 10260  				if !options.DiscardUnknown {
 10261  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 10262  				}
 10263  				iNdEx += skippy
 10264  			}
 10265  		}
 10266  
 10267  		if iNdEx > l {
 10268  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10269  		}
 10270  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 10271  	}
 10272  	return &protoiface.Methods{
 10273  		NoUnkeyedLiterals: struct{}{},
 10274  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 10275  		Size:              size,
 10276  		Marshal:           marshal,
 10277  		Unmarshal:         unmarshal,
 10278  		Merge:             nil,
 10279  		CheckInitialized:  nil,
 10280  	}
 10281  }
 10282  
 10283  var (
 10284  	md_TestAllTypes_NestedMessage             protoreflect.MessageDescriptor
 10285  	fd_TestAllTypes_NestedMessage_a           protoreflect.FieldDescriptor
 10286  	fd_TestAllTypes_NestedMessage_corecursive protoreflect.FieldDescriptor
 10287  )
 10288  
 10289  func init() {
 10290  	file_internal_testprotos_test3_test_proto_init()
 10291  	md_TestAllTypes_NestedMessage = File_internal_testprotos_test3_test_proto.Messages().ByName("TestAllTypes").Messages().ByName("NestedMessage")
 10292  	fd_TestAllTypes_NestedMessage_a = md_TestAllTypes_NestedMessage.Fields().ByName("a")
 10293  	fd_TestAllTypes_NestedMessage_corecursive = md_TestAllTypes_NestedMessage.Fields().ByName("corecursive")
 10294  }
 10295  
 10296  var _ protoreflect.Message = (*fastReflection_TestAllTypes_NestedMessage)(nil)
 10297  
 10298  type fastReflection_TestAllTypes_NestedMessage TestAllTypes_NestedMessage
 10299  
 10300  func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
 10301  	return (*fastReflection_TestAllTypes_NestedMessage)(x)
 10302  }
 10303  
 10304  func (x *TestAllTypes_NestedMessage) slowProtoReflect() protoreflect.Message {
 10305  	mi := &file_internal_testprotos_test3_test_proto_msgTypes[2]
 10306  	if protoimpl.UnsafeEnabled && x != nil {
 10307  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 10308  		if ms.LoadMessageInfo() == nil {
 10309  			ms.StoreMessageInfo(mi)
 10310  		}
 10311  		return ms
 10312  	}
 10313  	return mi.MessageOf(x)
 10314  }
 10315  
 10316  var _fastReflection_TestAllTypes_NestedMessage_messageType fastReflection_TestAllTypes_NestedMessage_messageType
 10317  var _ protoreflect.MessageType = fastReflection_TestAllTypes_NestedMessage_messageType{}
 10318  
 10319  type fastReflection_TestAllTypes_NestedMessage_messageType struct{}
 10320  
 10321  func (x fastReflection_TestAllTypes_NestedMessage_messageType) Zero() protoreflect.Message {
 10322  	return (*fastReflection_TestAllTypes_NestedMessage)(nil)
 10323  }
 10324  func (x fastReflection_TestAllTypes_NestedMessage_messageType) New() protoreflect.Message {
 10325  	return new(fastReflection_TestAllTypes_NestedMessage)
 10326  }
 10327  func (x fastReflection_TestAllTypes_NestedMessage_messageType) Descriptor() protoreflect.MessageDescriptor {
 10328  	return md_TestAllTypes_NestedMessage
 10329  }
 10330  
 10331  // Descriptor returns message descriptor, which contains only the protobuf
 10332  // type information for the message.
 10333  func (x *fastReflection_TestAllTypes_NestedMessage) Descriptor() protoreflect.MessageDescriptor {
 10334  	return md_TestAllTypes_NestedMessage
 10335  }
 10336  
 10337  // Type returns the message type, which encapsulates both Go and protobuf
 10338  // type information. If the Go type information is not needed,
 10339  // it is recommended that the message descriptor be used instead.
 10340  func (x *fastReflection_TestAllTypes_NestedMessage) Type() protoreflect.MessageType {
 10341  	return _fastReflection_TestAllTypes_NestedMessage_messageType
 10342  }
 10343  
 10344  // New returns a newly allocated and mutable empty message.
 10345  func (x *fastReflection_TestAllTypes_NestedMessage) New() protoreflect.Message {
 10346  	return new(fastReflection_TestAllTypes_NestedMessage)
 10347  }
 10348  
 10349  // Interface unwraps the message reflection interface and
 10350  // returns the underlying ProtoMessage interface.
 10351  func (x *fastReflection_TestAllTypes_NestedMessage) Interface() protoreflect.ProtoMessage {
 10352  	return (*TestAllTypes_NestedMessage)(x)
 10353  }
 10354  
 10355  // Range iterates over every populated field in an undefined order,
 10356  // calling f for each field descriptor and value encountered.
 10357  // Range returns immediately if f returns false.
 10358  // While iterating, mutating operations may only be performed
 10359  // on the current field descriptor.
 10360  func (x *fastReflection_TestAllTypes_NestedMessage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 10361  	if x.A != int32(0) {
 10362  		value := protoreflect.ValueOfInt32(x.A)
 10363  		if !f(fd_TestAllTypes_NestedMessage_a, value) {
 10364  			return
 10365  		}
 10366  	}
 10367  	if x.Corecursive != nil {
 10368  		value := protoreflect.ValueOfMessage(x.Corecursive.ProtoReflect())
 10369  		if !f(fd_TestAllTypes_NestedMessage_corecursive, value) {
 10370  			return
 10371  		}
 10372  	}
 10373  }
 10374  
 10375  // Has reports whether a field is populated.
 10376  //
 10377  // Some fields have the property of nullability where it is possible to
 10378  // distinguish between the default value of a field and whether the field
 10379  // was explicitly populated with the default value. Singular message fields,
 10380  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 10381  // fields are populated only if explicitly set.
 10382  //
 10383  // In other cases (aside from the nullable cases above),
 10384  // a proto3 scalar field is populated if it contains a non-zero value, and
 10385  // a repeated field is populated if it is non-empty.
 10386  func (x *fastReflection_TestAllTypes_NestedMessage) Has(fd protoreflect.FieldDescriptor) bool {
 10387  	switch fd.FullName() {
 10388  	case "goproto.proto.test3.TestAllTypes.NestedMessage.a":
 10389  		return x.A != int32(0)
 10390  	case "goproto.proto.test3.TestAllTypes.NestedMessage.corecursive":
 10391  		return x.Corecursive != nil
 10392  	default:
 10393  		if fd.IsExtension() {
 10394  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes.NestedMessage"))
 10395  		}
 10396  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes.NestedMessage does not contain field %s", fd.FullName()))
 10397  	}
 10398  }
 10399  
 10400  // Clear clears the field such that a subsequent Has call reports false.
 10401  //
 10402  // Clearing an extension field clears both the extension type and value
 10403  // associated with the given field number.
 10404  //
 10405  // Clear is a mutating operation and unsafe for concurrent use.
 10406  func (x *fastReflection_TestAllTypes_NestedMessage) Clear(fd protoreflect.FieldDescriptor) {
 10407  	switch fd.FullName() {
 10408  	case "goproto.proto.test3.TestAllTypes.NestedMessage.a":
 10409  		x.A = int32(0)
 10410  	case "goproto.proto.test3.TestAllTypes.NestedMessage.corecursive":
 10411  		x.Corecursive = nil
 10412  	default:
 10413  		if fd.IsExtension() {
 10414  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes.NestedMessage"))
 10415  		}
 10416  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes.NestedMessage does not contain field %s", fd.FullName()))
 10417  	}
 10418  }
 10419  
 10420  // Get retrieves the value for a field.
 10421  //
 10422  // For unpopulated scalars, it returns the default value, where
 10423  // the default value of a bytes scalar is guaranteed to be a copy.
 10424  // For unpopulated composite types, it returns an empty, read-only view
 10425  // of the value; to obtain a mutable reference, use Mutable.
 10426  func (x *fastReflection_TestAllTypes_NestedMessage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 10427  	switch descriptor.FullName() {
 10428  	case "goproto.proto.test3.TestAllTypes.NestedMessage.a":
 10429  		value := x.A
 10430  		return protoreflect.ValueOfInt32(value)
 10431  	case "goproto.proto.test3.TestAllTypes.NestedMessage.corecursive":
 10432  		value := x.Corecursive
 10433  		return protoreflect.ValueOfMessage(value.ProtoReflect())
 10434  	default:
 10435  		if descriptor.IsExtension() {
 10436  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes.NestedMessage"))
 10437  		}
 10438  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes.NestedMessage does not contain field %s", descriptor.FullName()))
 10439  	}
 10440  }
 10441  
 10442  // Set stores the value for a field.
 10443  //
 10444  // For a field belonging to a oneof, it implicitly clears any other field
 10445  // that may be currently set within the same oneof.
 10446  // For extension fields, it implicitly stores the provided ExtensionType.
 10447  // When setting a composite type, it is unspecified whether the stored value
 10448  // aliases the source's memory in any way. If the composite value is an
 10449  // empty, read-only value, then it panics.
 10450  //
 10451  // Set is a mutating operation and unsafe for concurrent use.
 10452  func (x *fastReflection_TestAllTypes_NestedMessage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 10453  	switch fd.FullName() {
 10454  	case "goproto.proto.test3.TestAllTypes.NestedMessage.a":
 10455  		x.A = int32(value.Int())
 10456  	case "goproto.proto.test3.TestAllTypes.NestedMessage.corecursive":
 10457  		x.Corecursive = value.Message().Interface().(*TestAllTypes)
 10458  	default:
 10459  		if fd.IsExtension() {
 10460  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes.NestedMessage"))
 10461  		}
 10462  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes.NestedMessage does not contain field %s", fd.FullName()))
 10463  	}
 10464  }
 10465  
 10466  // Mutable returns a mutable reference to a composite type.
 10467  //
 10468  // If the field is unpopulated, it may allocate a composite value.
 10469  // For a field belonging to a oneof, it implicitly clears any other field
 10470  // that may be currently set within the same oneof.
 10471  // For extension fields, it implicitly stores the provided ExtensionType
 10472  // if not already stored.
 10473  // It panics if the field does not contain a composite type.
 10474  //
 10475  // Mutable is a mutating operation and unsafe for concurrent use.
 10476  func (x *fastReflection_TestAllTypes_NestedMessage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 10477  	switch fd.FullName() {
 10478  	case "goproto.proto.test3.TestAllTypes.NestedMessage.corecursive":
 10479  		if x.Corecursive == nil {
 10480  			x.Corecursive = new(TestAllTypes)
 10481  		}
 10482  		return protoreflect.ValueOfMessage(x.Corecursive.ProtoReflect())
 10483  	case "goproto.proto.test3.TestAllTypes.NestedMessage.a":
 10484  		panic(fmt.Errorf("field a of message goproto.proto.test3.TestAllTypes.NestedMessage is not mutable"))
 10485  	default:
 10486  		if fd.IsExtension() {
 10487  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes.NestedMessage"))
 10488  		}
 10489  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes.NestedMessage does not contain field %s", fd.FullName()))
 10490  	}
 10491  }
 10492  
 10493  // NewField returns a new value that is assignable to the field
 10494  // for the given descriptor. For scalars, this returns the default value.
 10495  // For lists, maps, and messages, this returns a new, empty, mutable value.
 10496  func (x *fastReflection_TestAllTypes_NestedMessage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 10497  	switch fd.FullName() {
 10498  	case "goproto.proto.test3.TestAllTypes.NestedMessage.a":
 10499  		return protoreflect.ValueOfInt32(int32(0))
 10500  	case "goproto.proto.test3.TestAllTypes.NestedMessage.corecursive":
 10501  		m := new(TestAllTypes)
 10502  		return protoreflect.ValueOfMessage(m.ProtoReflect())
 10503  	default:
 10504  		if fd.IsExtension() {
 10505  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.TestAllTypes.NestedMessage"))
 10506  		}
 10507  		panic(fmt.Errorf("message goproto.proto.test3.TestAllTypes.NestedMessage does not contain field %s", fd.FullName()))
 10508  	}
 10509  }
 10510  
 10511  // WhichOneof reports which field within the oneof is populated,
 10512  // returning nil if none are populated.
 10513  // It panics if the oneof descriptor does not belong to this message.
 10514  func (x *fastReflection_TestAllTypes_NestedMessage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 10515  	switch d.FullName() {
 10516  	default:
 10517  		panic(fmt.Errorf("%s is not a oneof field in goproto.proto.test3.TestAllTypes.NestedMessage", d.FullName()))
 10518  	}
 10519  	panic("unreachable")
 10520  }
 10521  
 10522  // GetUnknown retrieves the entire list of unknown fields.
 10523  // The caller may only mutate the contents of the RawFields
 10524  // if the mutated bytes are stored back into the message with SetUnknown.
 10525  func (x *fastReflection_TestAllTypes_NestedMessage) GetUnknown() protoreflect.RawFields {
 10526  	return x.unknownFields
 10527  }
 10528  
 10529  // SetUnknown stores an entire list of unknown fields.
 10530  // The raw fields must be syntactically valid according to the wire format.
 10531  // An implementation may panic if this is not the case.
 10532  // Once stored, the caller must not mutate the content of the RawFields.
 10533  // An empty RawFields may be passed to clear the fields.
 10534  //
 10535  // SetUnknown is a mutating operation and unsafe for concurrent use.
 10536  func (x *fastReflection_TestAllTypes_NestedMessage) SetUnknown(fields protoreflect.RawFields) {
 10537  	x.unknownFields = fields
 10538  }
 10539  
 10540  // IsValid reports whether the message is valid.
 10541  //
 10542  // An invalid message is an empty, read-only value.
 10543  //
 10544  // An invalid message often corresponds to a nil pointer of the concrete
 10545  // message type, but the details are implementation dependent.
 10546  // Validity is not part of the protobuf data model, and may not
 10547  // be preserved in marshaling or other operations.
 10548  func (x *fastReflection_TestAllTypes_NestedMessage) IsValid() bool {
 10549  	return x != nil
 10550  }
 10551  
 10552  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 10553  // This method may return nil.
 10554  //
 10555  // The returned methods type is identical to
 10556  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 10557  // Consult the protoiface package documentation for details.
 10558  func (x *fastReflection_TestAllTypes_NestedMessage) ProtoMethods() *protoiface.Methods {
 10559  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 10560  		x := input.Message.Interface().(*TestAllTypes_NestedMessage)
 10561  		if x == nil {
 10562  			return protoiface.SizeOutput{
 10563  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10564  				Size:              0,
 10565  			}
 10566  		}
 10567  		options := runtime.SizeInputToOptions(input)
 10568  		_ = options
 10569  		var n int
 10570  		var l int
 10571  		_ = l
 10572  		if x.A != 0 {
 10573  			n += 1 + runtime.Sov(uint64(x.A))
 10574  		}
 10575  		if x.Corecursive != nil {
 10576  			l = options.Size(x.Corecursive)
 10577  			n += 1 + l + runtime.Sov(uint64(l))
 10578  		}
 10579  		if x.unknownFields != nil {
 10580  			n += len(x.unknownFields)
 10581  		}
 10582  		return protoiface.SizeOutput{
 10583  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10584  			Size:              n,
 10585  		}
 10586  	}
 10587  
 10588  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 10589  		x := input.Message.Interface().(*TestAllTypes_NestedMessage)
 10590  		if x == nil {
 10591  			return protoiface.MarshalOutput{
 10592  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10593  				Buf:               input.Buf,
 10594  			}, nil
 10595  		}
 10596  		options := runtime.MarshalInputToOptions(input)
 10597  		_ = options
 10598  		size := options.Size(x)
 10599  		dAtA := make([]byte, size)
 10600  		i := len(dAtA)
 10601  		_ = i
 10602  		var l int
 10603  		_ = l
 10604  		if x.unknownFields != nil {
 10605  			i -= len(x.unknownFields)
 10606  			copy(dAtA[i:], x.unknownFields)
 10607  		}
 10608  		if x.Corecursive != nil {
 10609  			encoded, err := options.Marshal(x.Corecursive)
 10610  			if err != nil {
 10611  				return protoiface.MarshalOutput{
 10612  					NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10613  					Buf:               input.Buf,
 10614  				}, err
 10615  			}
 10616  			i -= len(encoded)
 10617  			copy(dAtA[i:], encoded)
 10618  			i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded)))
 10619  			i--
 10620  			dAtA[i] = 0x12
 10621  		}
 10622  		if x.A != 0 {
 10623  			i = runtime.EncodeVarint(dAtA, i, uint64(x.A))
 10624  			i--
 10625  			dAtA[i] = 0x8
 10626  		}
 10627  		if input.Buf != nil {
 10628  			input.Buf = append(input.Buf, dAtA...)
 10629  		} else {
 10630  			input.Buf = dAtA
 10631  		}
 10632  		return protoiface.MarshalOutput{
 10633  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10634  			Buf:               input.Buf,
 10635  		}, nil
 10636  	}
 10637  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 10638  		x := input.Message.Interface().(*TestAllTypes_NestedMessage)
 10639  		if x == nil {
 10640  			return protoiface.UnmarshalOutput{
 10641  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 10642  				Flags:             input.Flags,
 10643  			}, nil
 10644  		}
 10645  		options := runtime.UnmarshalInputToOptions(input)
 10646  		_ = options
 10647  		dAtA := input.Buf
 10648  		l := len(dAtA)
 10649  		iNdEx := 0
 10650  		for iNdEx < l {
 10651  			preIndex := iNdEx
 10652  			var wire uint64
 10653  			for shift := uint(0); ; shift += 7 {
 10654  				if shift >= 64 {
 10655  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10656  				}
 10657  				if iNdEx >= l {
 10658  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10659  				}
 10660  				b := dAtA[iNdEx]
 10661  				iNdEx++
 10662  				wire |= uint64(b&0x7F) << shift
 10663  				if b < 0x80 {
 10664  					break
 10665  				}
 10666  			}
 10667  			fieldNum := int32(wire >> 3)
 10668  			wireType := int(wire & 0x7)
 10669  			if wireType == 4 {
 10670  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestAllTypes_NestedMessage: wiretype end group for non-group")
 10671  			}
 10672  			if fieldNum <= 0 {
 10673  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: TestAllTypes_NestedMessage: illegal tag %d (wire type %d)", fieldNum, wire)
 10674  			}
 10675  			switch fieldNum {
 10676  			case 1:
 10677  				if wireType != 0 {
 10678  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 10679  				}
 10680  				x.A = 0
 10681  				for shift := uint(0); ; shift += 7 {
 10682  					if shift >= 64 {
 10683  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10684  					}
 10685  					if iNdEx >= l {
 10686  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10687  					}
 10688  					b := dAtA[iNdEx]
 10689  					iNdEx++
 10690  					x.A |= int32(b&0x7F) << shift
 10691  					if b < 0x80 {
 10692  						break
 10693  					}
 10694  				}
 10695  			case 2:
 10696  				if wireType != 2 {
 10697  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Corecursive", wireType)
 10698  				}
 10699  				var msglen int
 10700  				for shift := uint(0); ; shift += 7 {
 10701  					if shift >= 64 {
 10702  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 10703  					}
 10704  					if iNdEx >= l {
 10705  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10706  					}
 10707  					b := dAtA[iNdEx]
 10708  					iNdEx++
 10709  					msglen |= int(b&0x7F) << shift
 10710  					if b < 0x80 {
 10711  						break
 10712  					}
 10713  				}
 10714  				if msglen < 0 {
 10715  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10716  				}
 10717  				postIndex := iNdEx + msglen
 10718  				if postIndex < 0 {
 10719  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10720  				}
 10721  				if postIndex > l {
 10722  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10723  				}
 10724  				if x.Corecursive == nil {
 10725  					x.Corecursive = &TestAllTypes{}
 10726  				}
 10727  				if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Corecursive); err != nil {
 10728  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10729  				}
 10730  				iNdEx = postIndex
 10731  			default:
 10732  				iNdEx = preIndex
 10733  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 10734  				if err != nil {
 10735  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 10736  				}
 10737  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 10738  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 10739  				}
 10740  				if (iNdEx + skippy) > l {
 10741  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10742  				}
 10743  				if !options.DiscardUnknown {
 10744  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 10745  				}
 10746  				iNdEx += skippy
 10747  			}
 10748  		}
 10749  
 10750  		if iNdEx > l {
 10751  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 10752  		}
 10753  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 10754  	}
 10755  	return &protoiface.Methods{
 10756  		NoUnkeyedLiterals: struct{}{},
 10757  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 10758  		Size:              size,
 10759  		Marshal:           marshal,
 10760  		Unmarshal:         unmarshal,
 10761  		Merge:             nil,
 10762  		CheckInitialized:  nil,
 10763  	}
 10764  }
 10765  
 10766  var (
 10767  	md_ForeignMessage   protoreflect.MessageDescriptor
 10768  	fd_ForeignMessage_c protoreflect.FieldDescriptor
 10769  	fd_ForeignMessage_d protoreflect.FieldDescriptor
 10770  )
 10771  
 10772  func init() {
 10773  	file_internal_testprotos_test3_test_proto_init()
 10774  	md_ForeignMessage = File_internal_testprotos_test3_test_proto.Messages().ByName("ForeignMessage")
 10775  	fd_ForeignMessage_c = md_ForeignMessage.Fields().ByName("c")
 10776  	fd_ForeignMessage_d = md_ForeignMessage.Fields().ByName("d")
 10777  }
 10778  
 10779  var _ protoreflect.Message = (*fastReflection_ForeignMessage)(nil)
 10780  
 10781  type fastReflection_ForeignMessage ForeignMessage
 10782  
 10783  func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
 10784  	return (*fastReflection_ForeignMessage)(x)
 10785  }
 10786  
 10787  func (x *ForeignMessage) slowProtoReflect() protoreflect.Message {
 10788  	mi := &file_internal_testprotos_test3_test_proto_msgTypes[1]
 10789  	if protoimpl.UnsafeEnabled && x != nil {
 10790  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 10791  		if ms.LoadMessageInfo() == nil {
 10792  			ms.StoreMessageInfo(mi)
 10793  		}
 10794  		return ms
 10795  	}
 10796  	return mi.MessageOf(x)
 10797  }
 10798  
 10799  var _fastReflection_ForeignMessage_messageType fastReflection_ForeignMessage_messageType
 10800  var _ protoreflect.MessageType = fastReflection_ForeignMessage_messageType{}
 10801  
 10802  type fastReflection_ForeignMessage_messageType struct{}
 10803  
 10804  func (x fastReflection_ForeignMessage_messageType) Zero() protoreflect.Message {
 10805  	return (*fastReflection_ForeignMessage)(nil)
 10806  }
 10807  func (x fastReflection_ForeignMessage_messageType) New() protoreflect.Message {
 10808  	return new(fastReflection_ForeignMessage)
 10809  }
 10810  func (x fastReflection_ForeignMessage_messageType) Descriptor() protoreflect.MessageDescriptor {
 10811  	return md_ForeignMessage
 10812  }
 10813  
 10814  // Descriptor returns message descriptor, which contains only the protobuf
 10815  // type information for the message.
 10816  func (x *fastReflection_ForeignMessage) Descriptor() protoreflect.MessageDescriptor {
 10817  	return md_ForeignMessage
 10818  }
 10819  
 10820  // Type returns the message type, which encapsulates both Go and protobuf
 10821  // type information. If the Go type information is not needed,
 10822  // it is recommended that the message descriptor be used instead.
 10823  func (x *fastReflection_ForeignMessage) Type() protoreflect.MessageType {
 10824  	return _fastReflection_ForeignMessage_messageType
 10825  }
 10826  
 10827  // New returns a newly allocated and mutable empty message.
 10828  func (x *fastReflection_ForeignMessage) New() protoreflect.Message {
 10829  	return new(fastReflection_ForeignMessage)
 10830  }
 10831  
 10832  // Interface unwraps the message reflection interface and
 10833  // returns the underlying ProtoMessage interface.
 10834  func (x *fastReflection_ForeignMessage) Interface() protoreflect.ProtoMessage {
 10835  	return (*ForeignMessage)(x)
 10836  }
 10837  
 10838  // Range iterates over every populated field in an undefined order,
 10839  // calling f for each field descriptor and value encountered.
 10840  // Range returns immediately if f returns false.
 10841  // While iterating, mutating operations may only be performed
 10842  // on the current field descriptor.
 10843  func (x *fastReflection_ForeignMessage) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 10844  	if x.C != int32(0) {
 10845  		value := protoreflect.ValueOfInt32(x.C)
 10846  		if !f(fd_ForeignMessage_c, value) {
 10847  			return
 10848  		}
 10849  	}
 10850  	if x.D != int32(0) {
 10851  		value := protoreflect.ValueOfInt32(x.D)
 10852  		if !f(fd_ForeignMessage_d, value) {
 10853  			return
 10854  		}
 10855  	}
 10856  }
 10857  
 10858  // Has reports whether a field is populated.
 10859  //
 10860  // Some fields have the property of nullability where it is possible to
 10861  // distinguish between the default value of a field and whether the field
 10862  // was explicitly populated with the default value. Singular message fields,
 10863  // member fields of a oneof, and proto2 scalar fields are nullable. Such
 10864  // fields are populated only if explicitly set.
 10865  //
 10866  // In other cases (aside from the nullable cases above),
 10867  // a proto3 scalar field is populated if it contains a non-zero value, and
 10868  // a repeated field is populated if it is non-empty.
 10869  func (x *fastReflection_ForeignMessage) Has(fd protoreflect.FieldDescriptor) bool {
 10870  	switch fd.FullName() {
 10871  	case "goproto.proto.test3.ForeignMessage.c":
 10872  		return x.C != int32(0)
 10873  	case "goproto.proto.test3.ForeignMessage.d":
 10874  		return x.D != int32(0)
 10875  	default:
 10876  		if fd.IsExtension() {
 10877  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.ForeignMessage"))
 10878  		}
 10879  		panic(fmt.Errorf("message goproto.proto.test3.ForeignMessage does not contain field %s", fd.FullName()))
 10880  	}
 10881  }
 10882  
 10883  // Clear clears the field such that a subsequent Has call reports false.
 10884  //
 10885  // Clearing an extension field clears both the extension type and value
 10886  // associated with the given field number.
 10887  //
 10888  // Clear is a mutating operation and unsafe for concurrent use.
 10889  func (x *fastReflection_ForeignMessage) Clear(fd protoreflect.FieldDescriptor) {
 10890  	switch fd.FullName() {
 10891  	case "goproto.proto.test3.ForeignMessage.c":
 10892  		x.C = int32(0)
 10893  	case "goproto.proto.test3.ForeignMessage.d":
 10894  		x.D = int32(0)
 10895  	default:
 10896  		if fd.IsExtension() {
 10897  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.ForeignMessage"))
 10898  		}
 10899  		panic(fmt.Errorf("message goproto.proto.test3.ForeignMessage does not contain field %s", fd.FullName()))
 10900  	}
 10901  }
 10902  
 10903  // Get retrieves the value for a field.
 10904  //
 10905  // For unpopulated scalars, it returns the default value, where
 10906  // the default value of a bytes scalar is guaranteed to be a copy.
 10907  // For unpopulated composite types, it returns an empty, read-only view
 10908  // of the value; to obtain a mutable reference, use Mutable.
 10909  func (x *fastReflection_ForeignMessage) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value {
 10910  	switch descriptor.FullName() {
 10911  	case "goproto.proto.test3.ForeignMessage.c":
 10912  		value := x.C
 10913  		return protoreflect.ValueOfInt32(value)
 10914  	case "goproto.proto.test3.ForeignMessage.d":
 10915  		value := x.D
 10916  		return protoreflect.ValueOfInt32(value)
 10917  	default:
 10918  		if descriptor.IsExtension() {
 10919  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.ForeignMessage"))
 10920  		}
 10921  		panic(fmt.Errorf("message goproto.proto.test3.ForeignMessage does not contain field %s", descriptor.FullName()))
 10922  	}
 10923  }
 10924  
 10925  // Set stores the value for a field.
 10926  //
 10927  // For a field belonging to a oneof, it implicitly clears any other field
 10928  // that may be currently set within the same oneof.
 10929  // For extension fields, it implicitly stores the provided ExtensionType.
 10930  // When setting a composite type, it is unspecified whether the stored value
 10931  // aliases the source's memory in any way. If the composite value is an
 10932  // empty, read-only value, then it panics.
 10933  //
 10934  // Set is a mutating operation and unsafe for concurrent use.
 10935  func (x *fastReflection_ForeignMessage) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) {
 10936  	switch fd.FullName() {
 10937  	case "goproto.proto.test3.ForeignMessage.c":
 10938  		x.C = int32(value.Int())
 10939  	case "goproto.proto.test3.ForeignMessage.d":
 10940  		x.D = int32(value.Int())
 10941  	default:
 10942  		if fd.IsExtension() {
 10943  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.ForeignMessage"))
 10944  		}
 10945  		panic(fmt.Errorf("message goproto.proto.test3.ForeignMessage does not contain field %s", fd.FullName()))
 10946  	}
 10947  }
 10948  
 10949  // Mutable returns a mutable reference to a composite type.
 10950  //
 10951  // If the field is unpopulated, it may allocate a composite value.
 10952  // For a field belonging to a oneof, it implicitly clears any other field
 10953  // that may be currently set within the same oneof.
 10954  // For extension fields, it implicitly stores the provided ExtensionType
 10955  // if not already stored.
 10956  // It panics if the field does not contain a composite type.
 10957  //
 10958  // Mutable is a mutating operation and unsafe for concurrent use.
 10959  func (x *fastReflection_ForeignMessage) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 10960  	switch fd.FullName() {
 10961  	case "goproto.proto.test3.ForeignMessage.c":
 10962  		panic(fmt.Errorf("field c of message goproto.proto.test3.ForeignMessage is not mutable"))
 10963  	case "goproto.proto.test3.ForeignMessage.d":
 10964  		panic(fmt.Errorf("field d of message goproto.proto.test3.ForeignMessage is not mutable"))
 10965  	default:
 10966  		if fd.IsExtension() {
 10967  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.ForeignMessage"))
 10968  		}
 10969  		panic(fmt.Errorf("message goproto.proto.test3.ForeignMessage does not contain field %s", fd.FullName()))
 10970  	}
 10971  }
 10972  
 10973  // NewField returns a new value that is assignable to the field
 10974  // for the given descriptor. For scalars, this returns the default value.
 10975  // For lists, maps, and messages, this returns a new, empty, mutable value.
 10976  func (x *fastReflection_ForeignMessage) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 10977  	switch fd.FullName() {
 10978  	case "goproto.proto.test3.ForeignMessage.c":
 10979  		return protoreflect.ValueOfInt32(int32(0))
 10980  	case "goproto.proto.test3.ForeignMessage.d":
 10981  		return protoreflect.ValueOfInt32(int32(0))
 10982  	default:
 10983  		if fd.IsExtension() {
 10984  			panic(fmt.Errorf("proto3 declared messages do not support extensions: goproto.proto.test3.ForeignMessage"))
 10985  		}
 10986  		panic(fmt.Errorf("message goproto.proto.test3.ForeignMessage does not contain field %s", fd.FullName()))
 10987  	}
 10988  }
 10989  
 10990  // WhichOneof reports which field within the oneof is populated,
 10991  // returning nil if none are populated.
 10992  // It panics if the oneof descriptor does not belong to this message.
 10993  func (x *fastReflection_ForeignMessage) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 10994  	switch d.FullName() {
 10995  	default:
 10996  		panic(fmt.Errorf("%s is not a oneof field in goproto.proto.test3.ForeignMessage", d.FullName()))
 10997  	}
 10998  	panic("unreachable")
 10999  }
 11000  
 11001  // GetUnknown retrieves the entire list of unknown fields.
 11002  // The caller may only mutate the contents of the RawFields
 11003  // if the mutated bytes are stored back into the message with SetUnknown.
 11004  func (x *fastReflection_ForeignMessage) GetUnknown() protoreflect.RawFields {
 11005  	return x.unknownFields
 11006  }
 11007  
 11008  // SetUnknown stores an entire list of unknown fields.
 11009  // The raw fields must be syntactically valid according to the wire format.
 11010  // An implementation may panic if this is not the case.
 11011  // Once stored, the caller must not mutate the content of the RawFields.
 11012  // An empty RawFields may be passed to clear the fields.
 11013  //
 11014  // SetUnknown is a mutating operation and unsafe for concurrent use.
 11015  func (x *fastReflection_ForeignMessage) SetUnknown(fields protoreflect.RawFields) {
 11016  	x.unknownFields = fields
 11017  }
 11018  
 11019  // IsValid reports whether the message is valid.
 11020  //
 11021  // An invalid message is an empty, read-only value.
 11022  //
 11023  // An invalid message often corresponds to a nil pointer of the concrete
 11024  // message type, but the details are implementation dependent.
 11025  // Validity is not part of the protobuf data model, and may not
 11026  // be preserved in marshaling or other operations.
 11027  func (x *fastReflection_ForeignMessage) IsValid() bool {
 11028  	return x != nil
 11029  }
 11030  
 11031  // ProtoMethods returns optional fastReflectionFeature-path implementations of various operations.
 11032  // This method may return nil.
 11033  //
 11034  // The returned methods type is identical to
 11035  // "google.golang.org/protobuf/runtime/protoiface".Methods.
 11036  // Consult the protoiface package documentation for details.
 11037  func (x *fastReflection_ForeignMessage) ProtoMethods() *protoiface.Methods {
 11038  	size := func(input protoiface.SizeInput) protoiface.SizeOutput {
 11039  		x := input.Message.Interface().(*ForeignMessage)
 11040  		if x == nil {
 11041  			return protoiface.SizeOutput{
 11042  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11043  				Size:              0,
 11044  			}
 11045  		}
 11046  		options := runtime.SizeInputToOptions(input)
 11047  		_ = options
 11048  		var n int
 11049  		var l int
 11050  		_ = l
 11051  		if x.C != 0 {
 11052  			n += 1 + runtime.Sov(uint64(x.C))
 11053  		}
 11054  		if x.D != 0 {
 11055  			n += 1 + runtime.Sov(uint64(x.D))
 11056  		}
 11057  		if x.unknownFields != nil {
 11058  			n += len(x.unknownFields)
 11059  		}
 11060  		return protoiface.SizeOutput{
 11061  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11062  			Size:              n,
 11063  		}
 11064  	}
 11065  
 11066  	marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
 11067  		x := input.Message.Interface().(*ForeignMessage)
 11068  		if x == nil {
 11069  			return protoiface.MarshalOutput{
 11070  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11071  				Buf:               input.Buf,
 11072  			}, nil
 11073  		}
 11074  		options := runtime.MarshalInputToOptions(input)
 11075  		_ = options
 11076  		size := options.Size(x)
 11077  		dAtA := make([]byte, size)
 11078  		i := len(dAtA)
 11079  		_ = i
 11080  		var l int
 11081  		_ = l
 11082  		if x.unknownFields != nil {
 11083  			i -= len(x.unknownFields)
 11084  			copy(dAtA[i:], x.unknownFields)
 11085  		}
 11086  		if x.D != 0 {
 11087  			i = runtime.EncodeVarint(dAtA, i, uint64(x.D))
 11088  			i--
 11089  			dAtA[i] = 0x10
 11090  		}
 11091  		if x.C != 0 {
 11092  			i = runtime.EncodeVarint(dAtA, i, uint64(x.C))
 11093  			i--
 11094  			dAtA[i] = 0x8
 11095  		}
 11096  		if input.Buf != nil {
 11097  			input.Buf = append(input.Buf, dAtA...)
 11098  		} else {
 11099  			input.Buf = dAtA
 11100  		}
 11101  		return protoiface.MarshalOutput{
 11102  			NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11103  			Buf:               input.Buf,
 11104  		}, nil
 11105  	}
 11106  	unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
 11107  		x := input.Message.Interface().(*ForeignMessage)
 11108  		if x == nil {
 11109  			return protoiface.UnmarshalOutput{
 11110  				NoUnkeyedLiterals: input.NoUnkeyedLiterals,
 11111  				Flags:             input.Flags,
 11112  			}, nil
 11113  		}
 11114  		options := runtime.UnmarshalInputToOptions(input)
 11115  		_ = options
 11116  		dAtA := input.Buf
 11117  		l := len(dAtA)
 11118  		iNdEx := 0
 11119  		for iNdEx < l {
 11120  			preIndex := iNdEx
 11121  			var wire uint64
 11122  			for shift := uint(0); ; shift += 7 {
 11123  				if shift >= 64 {
 11124  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11125  				}
 11126  				if iNdEx >= l {
 11127  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11128  				}
 11129  				b := dAtA[iNdEx]
 11130  				iNdEx++
 11131  				wire |= uint64(b&0x7F) << shift
 11132  				if b < 0x80 {
 11133  					break
 11134  				}
 11135  			}
 11136  			fieldNum := int32(wire >> 3)
 11137  			wireType := int(wire & 0x7)
 11138  			if wireType == 4 {
 11139  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ForeignMessage: wiretype end group for non-group")
 11140  			}
 11141  			if fieldNum <= 0 {
 11142  				return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ForeignMessage: illegal tag %d (wire type %d)", fieldNum, wire)
 11143  			}
 11144  			switch fieldNum {
 11145  			case 1:
 11146  				if wireType != 0 {
 11147  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 11148  				}
 11149  				x.C = 0
 11150  				for shift := uint(0); ; shift += 7 {
 11151  					if shift >= 64 {
 11152  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11153  					}
 11154  					if iNdEx >= l {
 11155  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11156  					}
 11157  					b := dAtA[iNdEx]
 11158  					iNdEx++
 11159  					x.C |= int32(b&0x7F) << shift
 11160  					if b < 0x80 {
 11161  						break
 11162  					}
 11163  				}
 11164  			case 2:
 11165  				if wireType != 0 {
 11166  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
 11167  				}
 11168  				x.D = 0
 11169  				for shift := uint(0); ; shift += 7 {
 11170  					if shift >= 64 {
 11171  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
 11172  					}
 11173  					if iNdEx >= l {
 11174  						return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11175  					}
 11176  					b := dAtA[iNdEx]
 11177  					iNdEx++
 11178  					x.D |= int32(b&0x7F) << shift
 11179  					if b < 0x80 {
 11180  						break
 11181  					}
 11182  				}
 11183  			default:
 11184  				iNdEx = preIndex
 11185  				skippy, err := runtime.Skip(dAtA[iNdEx:])
 11186  				if err != nil {
 11187  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
 11188  				}
 11189  				if (skippy < 0) || (iNdEx+skippy) < 0 {
 11190  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
 11191  				}
 11192  				if (iNdEx + skippy) > l {
 11193  					return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11194  				}
 11195  				if !options.DiscardUnknown {
 11196  					x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...)
 11197  				}
 11198  				iNdEx += skippy
 11199  			}
 11200  		}
 11201  
 11202  		if iNdEx > l {
 11203  			return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
 11204  		}
 11205  		return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil
 11206  	}
 11207  	return &protoiface.Methods{
 11208  		NoUnkeyedLiterals: struct{}{},
 11209  		Flags:             protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown,
 11210  		Size:              size,
 11211  		Marshal:           marshal,
 11212  		Unmarshal:         unmarshal,
 11213  		Merge:             nil,
 11214  		CheckInitialized:  nil,
 11215  	}
 11216  }
 11217  
 11218  // Copyright 2018 The Go Authors. All rights reserved.
 11219  // Use of this source code is governed by a BSD-style
 11220  // license that can be found in the LICENSE file.
 11221  
 11222  // Code generated by protoc-gen-go. DO NOT EDIT.
 11223  // versions:
 11224  // 	protoc-gen-go v1.27.0
 11225  // 	protoc        v3.18.1
 11226  // source: internal/testprotos/test3/test.proto
 11227  
 11228  const (
 11229  	// Verify that this generated code is sufficiently up-to-date.
 11230  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
 11231  	// Verify that runtime/protoimpl is sufficiently up-to-date.
 11232  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 11233  )
 11234  
 11235  type ForeignEnum int32
 11236  
 11237  const (
 11238  	ForeignEnum_FOREIGN_ZERO ForeignEnum = 0
 11239  	ForeignEnum_FOREIGN_FOO  ForeignEnum = 4
 11240  	ForeignEnum_FOREIGN_BAR  ForeignEnum = 5
 11241  	ForeignEnum_FOREIGN_BAZ  ForeignEnum = 6
 11242  )
 11243  
 11244  // Enum value maps for ForeignEnum.
 11245  var (
 11246  	ForeignEnum_name = map[int32]string{
 11247  		0: "FOREIGN_ZERO",
 11248  		4: "FOREIGN_FOO",
 11249  		5: "FOREIGN_BAR",
 11250  		6: "FOREIGN_BAZ",
 11251  	}
 11252  	ForeignEnum_value = map[string]int32{
 11253  		"FOREIGN_ZERO": 0,
 11254  		"FOREIGN_FOO":  4,
 11255  		"FOREIGN_BAR":  5,
 11256  		"FOREIGN_BAZ":  6,
 11257  	}
 11258  )
 11259  
 11260  func (x ForeignEnum) Enum() *ForeignEnum {
 11261  	p := new(ForeignEnum)
 11262  	*p = x
 11263  	return p
 11264  }
 11265  
 11266  func (x ForeignEnum) String() string {
 11267  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 11268  }
 11269  
 11270  func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor {
 11271  	return file_internal_testprotos_test3_test_proto_enumTypes[0].Descriptor()
 11272  }
 11273  
 11274  func (ForeignEnum) Type() protoreflect.EnumType {
 11275  	return &file_internal_testprotos_test3_test_proto_enumTypes[0]
 11276  }
 11277  
 11278  func (x ForeignEnum) Number() protoreflect.EnumNumber {
 11279  	return protoreflect.EnumNumber(x)
 11280  }
 11281  
 11282  // Deprecated: Use ForeignEnum.Descriptor instead.
 11283  func (ForeignEnum) EnumDescriptor() ([]byte, []int) {
 11284  	return file_internal_testprotos_test3_test_proto_rawDescGZIP(), []int{0}
 11285  }
 11286  
 11287  // NestedEnum should eventually become nested when fast-reflection supports it.
 11288  type TestAllTypes_NestedEnum int32
 11289  
 11290  const (
 11291  	TestAllTypes_FOO TestAllTypes_NestedEnum = 0
 11292  	TestAllTypes_BAR TestAllTypes_NestedEnum = 1
 11293  	TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
 11294  	TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative.
 11295  )
 11296  
 11297  // Enum value maps for TestAllTypes_NestedEnum.
 11298  var (
 11299  	TestAllTypes_NestedEnum_name = map[int32]string{
 11300  		0:  "FOO",
 11301  		1:  "BAR",
 11302  		2:  "BAZ",
 11303  		-1: "NEG",
 11304  	}
 11305  	TestAllTypes_NestedEnum_value = map[string]int32{
 11306  		"FOO": 0,
 11307  		"BAR": 1,
 11308  		"BAZ": 2,
 11309  		"NEG": -1,
 11310  	}
 11311  )
 11312  
 11313  func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
 11314  	p := new(TestAllTypes_NestedEnum)
 11315  	*p = x
 11316  	return p
 11317  }
 11318  
 11319  func (x TestAllTypes_NestedEnum) String() string {
 11320  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 11321  }
 11322  
 11323  func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
 11324  	return file_internal_testprotos_test3_test_proto_enumTypes[1].Descriptor()
 11325  }
 11326  
 11327  func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
 11328  	return &file_internal_testprotos_test3_test_proto_enumTypes[1]
 11329  }
 11330  
 11331  func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
 11332  	return protoreflect.EnumNumber(x)
 11333  }
 11334  
 11335  // Deprecated: Use TestAllTypes_NestedEnum.Descriptor instead.
 11336  func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) {
 11337  	return file_internal_testprotos_test3_test_proto_rawDescGZIP(), []int{0, 0}
 11338  }
 11339  
 11340  type TestAllTypes struct {
 11341  	state         protoimpl.MessageState
 11342  	sizeCache     protoimpl.SizeCache
 11343  	unknownFields protoimpl.UnknownFields
 11344  
 11345  	SingularInt32          int32                                  `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"`
 11346  	SingularInt64          int64                                  `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"`
 11347  	SingularUint32         uint32                                 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"`
 11348  	SingularUint64         uint64                                 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"`
 11349  	SingularSint32         int32                                  `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"`
 11350  	SingularSint64         int64                                  `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"`
 11351  	SingularFixed32        uint32                                 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"`
 11352  	SingularFixed64        uint64                                 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"`
 11353  	SingularSfixed32       int32                                  `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"`
 11354  	SingularSfixed64       int64                                  `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"`
 11355  	SingularFloat          float32                                `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"`
 11356  	SingularDouble         float64                                `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"`
 11357  	SingularBool           bool                                   `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"`
 11358  	SingularString         string                                 `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"`
 11359  	SingularBytes          []byte                                 `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"`
 11360  	SingularNestedMessage  *TestAllTypes_NestedMessage            `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"`
 11361  	SingularForeignMessage *ForeignMessage                        `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"`
 11362  	SingularImportMessage  *ImportMessage                         `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"`
 11363  	SingularNestedEnum     TestAllTypes_NestedEnum                `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"`
 11364  	SingularForeignEnum    ForeignEnum                            `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"`
 11365  	SingularImportEnum     ImportEnum                             `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"`
 11366  	RepeatedInt32          []int32                                `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"`
 11367  	RepeatedInt64          []int64                                `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"`
 11368  	RepeatedUint32         []uint32                               `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"`
 11369  	RepeatedUint64         []uint64                               `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"`
 11370  	RepeatedSint32         []int32                                `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"`
 11371  	RepeatedSint64         []int64                                `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"`
 11372  	RepeatedFixed32        []uint32                               `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"`
 11373  	RepeatedFixed64        []uint64                               `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"`
 11374  	RepeatedSfixed32       []int32                                `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"`
 11375  	RepeatedSfixed64       []int64                                `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"`
 11376  	RepeatedFloat          []float32                              `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"`
 11377  	RepeatedDouble         []float64                              `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"`
 11378  	RepeatedBool           []bool                                 `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"`
 11379  	RepeatedString         []string                               `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"`
 11380  	RepeatedBytes          [][]byte                               `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"`
 11381  	RepeatedNestedMessage  []*TestAllTypes_NestedMessage          `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"`
 11382  	RepeatedForeignMessage []*ForeignMessage                      `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"`
 11383  	RepeatedImportmessage  []*ImportMessage                       `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"`
 11384  	RepeatedNestedEnum     []TestAllTypes_NestedEnum              `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
 11385  	RepeatedForeignEnum    []ForeignEnum                          `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
 11386  	RepeatedImportenum     []ImportEnum                           `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"`
 11387  	MapInt32Int32          map[int32]int32                        `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32,proto3" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
 11388  	MapInt64Int64          map[int64]int64                        `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64,proto3" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
 11389  	MapUint32Uint32        map[uint32]uint32                      `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32,proto3" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
 11390  	MapUint64Uint64        map[uint64]uint64                      `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64,proto3" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
 11391  	MapSint32Sint32        map[int32]int32                        `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32,proto3" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key,proto3" protobuf_val:"zigzag32,2,opt,name=value,proto3"`
 11392  	MapSint64Sint64        map[int64]int64                        `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64,proto3" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key,proto3" protobuf_val:"zigzag64,2,opt,name=value,proto3"`
 11393  	MapFixed32Fixed32      map[uint32]uint32                      `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32,proto3" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
 11394  	MapFixed64Fixed64      map[uint64]uint64                      `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64,proto3" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
 11395  	MapSfixed32Sfixed32    map[int32]int32                        `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32,proto3" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
 11396  	MapSfixed64Sfixed64    map[int64]int64                        `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64,proto3" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
 11397  	MapInt32Float          map[int32]float32                      `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float,proto3" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed32,2,opt,name=value,proto3"`
 11398  	MapInt32Double         map[int32]float64                      `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double,proto3" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
 11399  	MapBoolBool            map[bool]bool                          `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool,proto3" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
 11400  	MapStringString        map[string]string                      `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString,proto3" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 11401  	MapStringBytes         map[string][]byte                      `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes,proto3" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 11402  	MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage,proto3" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
 11403  	MapStringNestedEnum    map[string]TestAllTypes_NestedEnum     `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum,proto3" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=goproto.proto.test3.TestAllTypes_NestedEnum"`
 11404  	// Types that are assignable to OneofField:
 11405  	//	*TestAllTypes_OneofUint32
 11406  	//	*TestAllTypes_OneofNestedMessage
 11407  	//	*TestAllTypes_OneofString
 11408  	//	*TestAllTypes_OneofBytes
 11409  	//	*TestAllTypes_OneofBool
 11410  	//	*TestAllTypes_OneofUint64
 11411  	//	*TestAllTypes_OneofFloat
 11412  	//	*TestAllTypes_OneofDouble
 11413  	//	*TestAllTypes_OneofEnum
 11414  	OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"`
 11415  }
 11416  
 11417  func (x *TestAllTypes) Reset() {
 11418  	*x = TestAllTypes{}
 11419  	if protoimpl.UnsafeEnabled {
 11420  		mi := &file_internal_testprotos_test3_test_proto_msgTypes[0]
 11421  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 11422  		ms.StoreMessageInfo(mi)
 11423  	}
 11424  }
 11425  
 11426  func (x *TestAllTypes) String() string {
 11427  	return protoimpl.X.MessageStringOf(x)
 11428  }
 11429  
 11430  func (*TestAllTypes) ProtoMessage() {}
 11431  
 11432  // Deprecated: Use TestAllTypes.ProtoReflect.Descriptor instead.
 11433  func (*TestAllTypes) Descriptor() ([]byte, []int) {
 11434  	return file_internal_testprotos_test3_test_proto_rawDescGZIP(), []int{0}
 11435  }
 11436  
 11437  func (x *TestAllTypes) GetSingularInt32() int32 {
 11438  	if x != nil {
 11439  		return x.SingularInt32
 11440  	}
 11441  	return 0
 11442  }
 11443  
 11444  func (x *TestAllTypes) GetSingularInt64() int64 {
 11445  	if x != nil {
 11446  		return x.SingularInt64
 11447  	}
 11448  	return 0
 11449  }
 11450  
 11451  func (x *TestAllTypes) GetSingularUint32() uint32 {
 11452  	if x != nil {
 11453  		return x.SingularUint32
 11454  	}
 11455  	return 0
 11456  }
 11457  
 11458  func (x *TestAllTypes) GetSingularUint64() uint64 {
 11459  	if x != nil {
 11460  		return x.SingularUint64
 11461  	}
 11462  	return 0
 11463  }
 11464  
 11465  func (x *TestAllTypes) GetSingularSint32() int32 {
 11466  	if x != nil {
 11467  		return x.SingularSint32
 11468  	}
 11469  	return 0
 11470  }
 11471  
 11472  func (x *TestAllTypes) GetSingularSint64() int64 {
 11473  	if x != nil {
 11474  		return x.SingularSint64
 11475  	}
 11476  	return 0
 11477  }
 11478  
 11479  func (x *TestAllTypes) GetSingularFixed32() uint32 {
 11480  	if x != nil {
 11481  		return x.SingularFixed32
 11482  	}
 11483  	return 0
 11484  }
 11485  
 11486  func (x *TestAllTypes) GetSingularFixed64() uint64 {
 11487  	if x != nil {
 11488  		return x.SingularFixed64
 11489  	}
 11490  	return 0
 11491  }
 11492  
 11493  func (x *TestAllTypes) GetSingularSfixed32() int32 {
 11494  	if x != nil {
 11495  		return x.SingularSfixed32
 11496  	}
 11497  	return 0
 11498  }
 11499  
 11500  func (x *TestAllTypes) GetSingularSfixed64() int64 {
 11501  	if x != nil {
 11502  		return x.SingularSfixed64
 11503  	}
 11504  	return 0
 11505  }
 11506  
 11507  func (x *TestAllTypes) GetSingularFloat() float32 {
 11508  	if x != nil {
 11509  		return x.SingularFloat
 11510  	}
 11511  	return 0
 11512  }
 11513  
 11514  func (x *TestAllTypes) GetSingularDouble() float64 {
 11515  	if x != nil {
 11516  		return x.SingularDouble
 11517  	}
 11518  	return 0
 11519  }
 11520  
 11521  func (x *TestAllTypes) GetSingularBool() bool {
 11522  	if x != nil {
 11523  		return x.SingularBool
 11524  	}
 11525  	return false
 11526  }
 11527  
 11528  func (x *TestAllTypes) GetSingularString() string {
 11529  	if x != nil {
 11530  		return x.SingularString
 11531  	}
 11532  	return ""
 11533  }
 11534  
 11535  func (x *TestAllTypes) GetSingularBytes() []byte {
 11536  	if x != nil {
 11537  		return x.SingularBytes
 11538  	}
 11539  	return nil
 11540  }
 11541  
 11542  func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage {
 11543  	if x != nil {
 11544  		return x.SingularNestedMessage
 11545  	}
 11546  	return nil
 11547  }
 11548  
 11549  func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage {
 11550  	if x != nil {
 11551  		return x.SingularForeignMessage
 11552  	}
 11553  	return nil
 11554  }
 11555  
 11556  func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage {
 11557  	if x != nil {
 11558  		return x.SingularImportMessage
 11559  	}
 11560  	return nil
 11561  }
 11562  
 11563  func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum {
 11564  	if x != nil {
 11565  		return x.SingularNestedEnum
 11566  	}
 11567  	return TestAllTypes_FOO
 11568  }
 11569  
 11570  func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum {
 11571  	if x != nil {
 11572  		return x.SingularForeignEnum
 11573  	}
 11574  	return ForeignEnum_FOREIGN_ZERO
 11575  }
 11576  
 11577  func (x *TestAllTypes) GetSingularImportEnum() ImportEnum {
 11578  	if x != nil {
 11579  		return x.SingularImportEnum
 11580  	}
 11581  	return ImportEnum_IMPORT_ZERO
 11582  }
 11583  
 11584  func (x *TestAllTypes) GetRepeatedInt32() []int32 {
 11585  	if x != nil {
 11586  		return x.RepeatedInt32
 11587  	}
 11588  	return nil
 11589  }
 11590  
 11591  func (x *TestAllTypes) GetRepeatedInt64() []int64 {
 11592  	if x != nil {
 11593  		return x.RepeatedInt64
 11594  	}
 11595  	return nil
 11596  }
 11597  
 11598  func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
 11599  	if x != nil {
 11600  		return x.RepeatedUint32
 11601  	}
 11602  	return nil
 11603  }
 11604  
 11605  func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
 11606  	if x != nil {
 11607  		return x.RepeatedUint64
 11608  	}
 11609  	return nil
 11610  }
 11611  
 11612  func (x *TestAllTypes) GetRepeatedSint32() []int32 {
 11613  	if x != nil {
 11614  		return x.RepeatedSint32
 11615  	}
 11616  	return nil
 11617  }
 11618  
 11619  func (x *TestAllTypes) GetRepeatedSint64() []int64 {
 11620  	if x != nil {
 11621  		return x.RepeatedSint64
 11622  	}
 11623  	return nil
 11624  }
 11625  
 11626  func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
 11627  	if x != nil {
 11628  		return x.RepeatedFixed32
 11629  	}
 11630  	return nil
 11631  }
 11632  
 11633  func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
 11634  	if x != nil {
 11635  		return x.RepeatedFixed64
 11636  	}
 11637  	return nil
 11638  }
 11639  
 11640  func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
 11641  	if x != nil {
 11642  		return x.RepeatedSfixed32
 11643  	}
 11644  	return nil
 11645  }
 11646  
 11647  func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
 11648  	if x != nil {
 11649  		return x.RepeatedSfixed64
 11650  	}
 11651  	return nil
 11652  }
 11653  
 11654  func (x *TestAllTypes) GetRepeatedFloat() []float32 {
 11655  	if x != nil {
 11656  		return x.RepeatedFloat
 11657  	}
 11658  	return nil
 11659  }
 11660  
 11661  func (x *TestAllTypes) GetRepeatedDouble() []float64 {
 11662  	if x != nil {
 11663  		return x.RepeatedDouble
 11664  	}
 11665  	return nil
 11666  }
 11667  
 11668  func (x *TestAllTypes) GetRepeatedBool() []bool {
 11669  	if x != nil {
 11670  		return x.RepeatedBool
 11671  	}
 11672  	return nil
 11673  }
 11674  
 11675  func (x *TestAllTypes) GetRepeatedString() []string {
 11676  	if x != nil {
 11677  		return x.RepeatedString
 11678  	}
 11679  	return nil
 11680  }
 11681  
 11682  func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
 11683  	if x != nil {
 11684  		return x.RepeatedBytes
 11685  	}
 11686  	return nil
 11687  }
 11688  
 11689  func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
 11690  	if x != nil {
 11691  		return x.RepeatedNestedMessage
 11692  	}
 11693  	return nil
 11694  }
 11695  
 11696  func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage {
 11697  	if x != nil {
 11698  		return x.RepeatedForeignMessage
 11699  	}
 11700  	return nil
 11701  }
 11702  
 11703  func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage {
 11704  	if x != nil {
 11705  		return x.RepeatedImportmessage
 11706  	}
 11707  	return nil
 11708  }
 11709  
 11710  func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
 11711  	if x != nil {
 11712  		return x.RepeatedNestedEnum
 11713  	}
 11714  	return nil
 11715  }
 11716  
 11717  func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum {
 11718  	if x != nil {
 11719  		return x.RepeatedForeignEnum
 11720  	}
 11721  	return nil
 11722  }
 11723  
 11724  func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum {
 11725  	if x != nil {
 11726  		return x.RepeatedImportenum
 11727  	}
 11728  	return nil
 11729  }
 11730  
 11731  func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
 11732  	if x != nil {
 11733  		return x.MapInt32Int32
 11734  	}
 11735  	return nil
 11736  }
 11737  
 11738  func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
 11739  	if x != nil {
 11740  		return x.MapInt64Int64
 11741  	}
 11742  	return nil
 11743  }
 11744  
 11745  func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
 11746  	if x != nil {
 11747  		return x.MapUint32Uint32
 11748  	}
 11749  	return nil
 11750  }
 11751  
 11752  func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
 11753  	if x != nil {
 11754  		return x.MapUint64Uint64
 11755  	}
 11756  	return nil
 11757  }
 11758  
 11759  func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 {
 11760  	if x != nil {
 11761  		return x.MapSint32Sint32
 11762  	}
 11763  	return nil
 11764  }
 11765  
 11766  func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 {
 11767  	if x != nil {
 11768  		return x.MapSint64Sint64
 11769  	}
 11770  	return nil
 11771  }
 11772  
 11773  func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 {
 11774  	if x != nil {
 11775  		return x.MapFixed32Fixed32
 11776  	}
 11777  	return nil
 11778  }
 11779  
 11780  func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 {
 11781  	if x != nil {
 11782  		return x.MapFixed64Fixed64
 11783  	}
 11784  	return nil
 11785  }
 11786  
 11787  func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 {
 11788  	if x != nil {
 11789  		return x.MapSfixed32Sfixed32
 11790  	}
 11791  	return nil
 11792  }
 11793  
 11794  func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 {
 11795  	if x != nil {
 11796  		return x.MapSfixed64Sfixed64
 11797  	}
 11798  	return nil
 11799  }
 11800  
 11801  func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
 11802  	if x != nil {
 11803  		return x.MapInt32Float
 11804  	}
 11805  	return nil
 11806  }
 11807  
 11808  func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
 11809  	if x != nil {
 11810  		return x.MapInt32Double
 11811  	}
 11812  	return nil
 11813  }
 11814  
 11815  func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
 11816  	if x != nil {
 11817  		return x.MapBoolBool
 11818  	}
 11819  	return nil
 11820  }
 11821  
 11822  func (x *TestAllTypes) GetMapStringString() map[string]string {
 11823  	if x != nil {
 11824  		return x.MapStringString
 11825  	}
 11826  	return nil
 11827  }
 11828  
 11829  func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
 11830  	if x != nil {
 11831  		return x.MapStringBytes
 11832  	}
 11833  	return nil
 11834  }
 11835  
 11836  func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage {
 11837  	if x != nil {
 11838  		return x.MapStringNestedMessage
 11839  	}
 11840  	return nil
 11841  }
 11842  
 11843  func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum {
 11844  	if x != nil {
 11845  		return x.MapStringNestedEnum
 11846  	}
 11847  	return nil
 11848  }
 11849  
 11850  func (x *TestAllTypes) GetOneofField() isTestAllTypes_OneofField {
 11851  	if x != nil {
 11852  		return x.OneofField
 11853  	}
 11854  	return nil
 11855  }
 11856  
 11857  func (x *TestAllTypes) GetOneofUint32() uint32 {
 11858  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofUint32); ok {
 11859  		return x.OneofUint32
 11860  	}
 11861  	return 0
 11862  }
 11863  
 11864  func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage {
 11865  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofNestedMessage); ok {
 11866  		return x.OneofNestedMessage
 11867  	}
 11868  	return nil
 11869  }
 11870  
 11871  func (x *TestAllTypes) GetOneofString() string {
 11872  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofString); ok {
 11873  		return x.OneofString
 11874  	}
 11875  	return ""
 11876  }
 11877  
 11878  func (x *TestAllTypes) GetOneofBytes() []byte {
 11879  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofBytes); ok {
 11880  		return x.OneofBytes
 11881  	}
 11882  	return nil
 11883  }
 11884  
 11885  func (x *TestAllTypes) GetOneofBool() bool {
 11886  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofBool); ok {
 11887  		return x.OneofBool
 11888  	}
 11889  	return false
 11890  }
 11891  
 11892  func (x *TestAllTypes) GetOneofUint64() uint64 {
 11893  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofUint64); ok {
 11894  		return x.OneofUint64
 11895  	}
 11896  	return 0
 11897  }
 11898  
 11899  func (x *TestAllTypes) GetOneofFloat() float32 {
 11900  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofFloat); ok {
 11901  		return x.OneofFloat
 11902  	}
 11903  	return 0
 11904  }
 11905  
 11906  func (x *TestAllTypes) GetOneofDouble() float64 {
 11907  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofDouble); ok {
 11908  		return x.OneofDouble
 11909  	}
 11910  	return 0
 11911  }
 11912  
 11913  func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum {
 11914  	if x, ok := x.GetOneofField().(*TestAllTypes_OneofEnum); ok {
 11915  		return x.OneofEnum
 11916  	}
 11917  	return TestAllTypes_FOO
 11918  }
 11919  
 11920  type isTestAllTypes_OneofField interface {
 11921  	isTestAllTypes_OneofField()
 11922  }
 11923  
 11924  type TestAllTypes_OneofUint32 struct {
 11925  	OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"`
 11926  }
 11927  
 11928  type TestAllTypes_OneofNestedMessage struct {
 11929  	OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"`
 11930  }
 11931  
 11932  type TestAllTypes_OneofString struct {
 11933  	OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"`
 11934  }
 11935  
 11936  type TestAllTypes_OneofBytes struct {
 11937  	OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"`
 11938  }
 11939  
 11940  type TestAllTypes_OneofBool struct {
 11941  	OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"`
 11942  }
 11943  
 11944  type TestAllTypes_OneofUint64 struct {
 11945  	OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"`
 11946  }
 11947  
 11948  type TestAllTypes_OneofFloat struct {
 11949  	OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"`
 11950  }
 11951  
 11952  type TestAllTypes_OneofDouble struct {
 11953  	OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"`
 11954  }
 11955  
 11956  type TestAllTypes_OneofEnum struct {
 11957  	OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=goproto.proto.test3.TestAllTypes_NestedEnum,oneof"`
 11958  }
 11959  
 11960  func (*TestAllTypes_OneofUint32) isTestAllTypes_OneofField() {}
 11961  
 11962  func (*TestAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {}
 11963  
 11964  func (*TestAllTypes_OneofString) isTestAllTypes_OneofField() {}
 11965  
 11966  func (*TestAllTypes_OneofBytes) isTestAllTypes_OneofField() {}
 11967  
 11968  func (*TestAllTypes_OneofBool) isTestAllTypes_OneofField() {}
 11969  
 11970  func (*TestAllTypes_OneofUint64) isTestAllTypes_OneofField() {}
 11971  
 11972  func (*TestAllTypes_OneofFloat) isTestAllTypes_OneofField() {}
 11973  
 11974  func (*TestAllTypes_OneofDouble) isTestAllTypes_OneofField() {}
 11975  
 11976  func (*TestAllTypes_OneofEnum) isTestAllTypes_OneofField() {}
 11977  
 11978  type ForeignMessage struct {
 11979  	state         protoimpl.MessageState
 11980  	sizeCache     protoimpl.SizeCache
 11981  	unknownFields protoimpl.UnknownFields
 11982  
 11983  	C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"`
 11984  	D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"`
 11985  }
 11986  
 11987  func (x *ForeignMessage) Reset() {
 11988  	*x = ForeignMessage{}
 11989  	if protoimpl.UnsafeEnabled {
 11990  		mi := &file_internal_testprotos_test3_test_proto_msgTypes[1]
 11991  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 11992  		ms.StoreMessageInfo(mi)
 11993  	}
 11994  }
 11995  
 11996  func (x *ForeignMessage) String() string {
 11997  	return protoimpl.X.MessageStringOf(x)
 11998  }
 11999  
 12000  func (*ForeignMessage) ProtoMessage() {}
 12001  
 12002  // Deprecated: Use ForeignMessage.ProtoReflect.Descriptor instead.
 12003  func (*ForeignMessage) Descriptor() ([]byte, []int) {
 12004  	return file_internal_testprotos_test3_test_proto_rawDescGZIP(), []int{1}
 12005  }
 12006  
 12007  func (x *ForeignMessage) GetC() int32 {
 12008  	if x != nil {
 12009  		return x.C
 12010  	}
 12011  	return 0
 12012  }
 12013  
 12014  func (x *ForeignMessage) GetD() int32 {
 12015  	if x != nil {
 12016  		return x.D
 12017  	}
 12018  	return 0
 12019  }
 12020  
 12021  // NestedMessage should eventually become nested when fast-reflection supports it
 12022  type TestAllTypes_NestedMessage struct {
 12023  	state         protoimpl.MessageState
 12024  	sizeCache     protoimpl.SizeCache
 12025  	unknownFields protoimpl.UnknownFields
 12026  
 12027  	A           int32         `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"`
 12028  	Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"`
 12029  }
 12030  
 12031  func (x *TestAllTypes_NestedMessage) Reset() {
 12032  	*x = TestAllTypes_NestedMessage{}
 12033  	if protoimpl.UnsafeEnabled {
 12034  		mi := &file_internal_testprotos_test3_test_proto_msgTypes[2]
 12035  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 12036  		ms.StoreMessageInfo(mi)
 12037  	}
 12038  }
 12039  
 12040  func (x *TestAllTypes_NestedMessage) String() string {
 12041  	return protoimpl.X.MessageStringOf(x)
 12042  }
 12043  
 12044  func (*TestAllTypes_NestedMessage) ProtoMessage() {}
 12045  
 12046  // Deprecated: Use TestAllTypes_NestedMessage.ProtoReflect.Descriptor instead.
 12047  func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) {
 12048  	return file_internal_testprotos_test3_test_proto_rawDescGZIP(), []int{0, 0}
 12049  }
 12050  
 12051  func (x *TestAllTypes_NestedMessage) GetA() int32 {
 12052  	if x != nil {
 12053  		return x.A
 12054  	}
 12055  	return 0
 12056  }
 12057  
 12058  func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes {
 12059  	if x != nil {
 12060  		return x.Corecursive
 12061  	}
 12062  	return nil
 12063  }
 12064  
 12065  var File_internal_testprotos_test3_test_proto protoreflect.FileDescriptor
 12066  
 12067  var file_internal_testprotos_test3_test_proto_rawDesc = []byte{
 12068  	0x0a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
 12069  	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74,
 12070  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12071  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x2b, 0x69, 0x6e, 0x74,
 12072  	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73,
 12073  	0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f,
 12074  	0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc6, 0x2e, 0x0a, 0x0c, 0x54, 0x65, 0x73,
 12075  	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e,
 12076  	0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28,
 12077  	0x05, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32,
 12078  	0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74,
 12079  	0x36, 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
 12080  	0x61, 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75,
 12081  	0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d,
 12082  	0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
 12083  	0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e,
 12084  	0x74, 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75,
 12085  	0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e,
 12086  	0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01,
 12087  	0x28, 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74,
 12088  	0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73,
 12089  	0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e,
 12090  	0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73,
 12091  	0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18,
 12092  	0x57, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46,
 12093  	0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c,
 12094  	0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06,
 12095  	0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36,
 12096  	0x34, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66,
 12097  	0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69,
 12098  	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b,
 12099  	0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65,
 12100  	0x64, 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75,
 12101  	0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73,
 12102  	0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20,
 12103  	0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f,
 12104  	0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64,
 12105  	0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e,
 12106  	0x67, 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73,
 12107  	0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01,
 12108  	0x28, 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c,
 12109  	0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72,
 12110  	0x69, 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75,
 12111  	0x6c, 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e,
 12112  	0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28,
 12113  	0x0c, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73,
 12114  	0x12, 0x67, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73,
 12115  	0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28,
 12116  	0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 12117  	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
 12118  	0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
 12119  	0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74,
 12120  	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x18, 0x73, 0x69, 0x6e,
 12121  	0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65,
 12122  	0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f,
 12123  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
 12124  	0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 12125  	0x52, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
 12126  	0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5a, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67,
 12127  	0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73,
 12128  	0x61, 0x67, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x70, 0x72,
 12129  	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
 12130  	0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73,
 12131  	0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73,
 12132  	0x73, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
 12133  	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x65, 0x20, 0x01,
 12134  	0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
 12135  	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
 12136  	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
 12137  	0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
 12138  	0x45, 0x6e, 0x75, 0x6d, 0x12, 0x54, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72,
 12139  	0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20,
 12140  	0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
 12141  	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
 12142  	0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46,
 12143  	0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x51, 0x0a, 0x14, 0x73, 0x69,
 12144  	0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e,
 12145  	0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
 12146  	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49,
 12147  	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75,
 12148  	0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x25, 0x0a,
 12149  	0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
 12150  	0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49,
 12151  	0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12152  	0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65,
 12153  	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72,
 12154  	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21,
 12155  	0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69,
 12156  	0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12157  	0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72,
 12158  	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a,
 12159  	0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32,
 12160  	0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12161  	0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
 12162  	0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52,
 12163  	0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
 12164  	0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65,
 12165  	0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61,
 12166  	0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65,
 12167  	0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26,
 12168  	0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69,
 12169  	0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
 12170  	0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f,
 12171  	0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64,
 12172  	0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
 12173  	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72,
 12174  	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
 12175  	0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61,
 12176  	0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
 12177  	0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
 12178  	0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52,
 12179  	0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
 12180  	0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c,
 12181  	0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12182  	0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12183  	0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72,
 12184  	0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a,
 12185  	0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
 12186  	0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
 12187  	0x79, 0x74, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12188  	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
 12189  	0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12190  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
 12191  	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
 12192  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 12193  	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a,
 12194  	0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67,
 12195  	0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32,
 12196  	0x23, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12197  	0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73,
 12198  	0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f,
 12199  	0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x16,
 12200  	0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d,
 12201  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
 12202  	0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
 12203  	0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 12204  	0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
 12205  	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5e, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61,
 12206  	0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18,
 12207  	0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12208  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
 12209  	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
 12210  	0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73,
 12211  	0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x54, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61,
 12212  	0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
 12213  	0x18, 0x34, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 12214  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72,
 12215  	0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
 12216  	0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x50, 0x0a,
 12217  	0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
 12218  	0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70,
 12219  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33,
 12220  	0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70,
 12221  	0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12,
 12222  	0x5c, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74,
 12223  	0x33, 0x32, 0x18, 0x38, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
 12224  	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54,
 12225  	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
 12226  	0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
 12227  	0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x5c, 0x0a,
 12228  	0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34,
 12229  	0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 12230  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
 12231  	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74,
 12232  	0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61,
 12233  	0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x62, 0x0a, 0x11, 0x6d,
 12234  	0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
 12235  	0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 12236  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73,
 12237  	0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e,
 12238  	0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f,
 12239  	0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
 12240  	0x62, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69,
 12241  	0x6e, 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x70,
 12242  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33,
 12243  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61,
 12244  	0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74,
 12245  	0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e,
 12246  	0x74, 0x36, 0x34, 0x12, 0x62, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33,
 12247  	0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36,
 12248  	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
 12249  	0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
 12250  	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33,
 12251  	0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33,
 12252  	0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x62, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73,
 12253  	0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03,
 12254  	0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
 12255  	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
 12256  	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53,
 12257  	0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53,
 12258  	0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x68, 0x0a, 0x13, 0x6d,
 12259  	0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
 12260  	0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
 12261  	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54,
 12262  	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46,
 12263  	0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74,
 12264  	0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69,
 12265  	0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x68, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78,
 12266  	0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03,
 12267  	0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
 12268  	0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
 12269  	0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
 12270  	0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61,
 12271  	0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
 12272  	0x6e, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f,
 12273  	0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a,
 12274  	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
 12275  	0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
 12276  	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69,
 12277  	0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53,
 12278  	0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12,
 12279  	0x6e, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f,
 12280  	0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a,
 12281  	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
 12282  	0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
 12283  	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69,
 12284  	0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53,
 12285  	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
 12286  	0x5c, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f,
 12287  	0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
 12288  	0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54,
 12289  	0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49,
 12290  	0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
 12291  	0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x5f, 0x0a,
 12292  	0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
 12293  	0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
 12294  	0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65,
 12295  	0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e,
 12296  	0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e,
 12297  	0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x56,
 12298  	0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18,
 12299  	0x44, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12300  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
 12301  	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c,
 12302  	0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x42, 0x6f,
 12303  	0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x62, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74,
 12304  	0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x45, 0x20, 0x03, 0x28,
 12305  	0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 12306  	0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
 12307  	0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74,
 12308  	0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74,
 12309  	0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5f, 0x0a, 0x10, 0x6d, 0x61,
 12310  	0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46,
 12311  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
 12312  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
 12313  	0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e,
 12314  	0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70,
 12315  	0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x19, 0x6d,
 12316  	0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
 12317  	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d,
 12318  	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
 12319  	0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
 12320  	0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65,
 12321  	0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d,
 12322  	0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65,
 12323  	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6f, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72,
 12324  	0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18,
 12325  	0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12326  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
 12327  	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
 12328  	0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72,
 12329  	0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74,
 12330  	0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
 12331  	0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b,
 12332  	0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63, 0x0a, 0x14, 0x6f,
 12333  	0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
 12334  	0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x70, 0x72,
 12335  	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
 12336  	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73,
 12337  	0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e,
 12338  	0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 12339  	0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
 12340  	0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53,
 12341  	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62,
 12342  	0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e,
 12343  	0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f,
 12344  	0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09,
 12345  	0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65,
 12346  	0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48,
 12347  	0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21,
 12348  	0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20,
 12349  	0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61,
 12350  	0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
 12351  	0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66,
 12352  	0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
 12353  	0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x70,
 12354  	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33,
 12355  	0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65,
 12356  	0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f,
 12357  	0x66, 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x62, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
 12358  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28,
 12359  	0x05, 0x52, 0x01, 0x61, 0x12, 0x43, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73,
 12360  	0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x70, 0x72,
 12361  	0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e,
 12362  	0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f,
 12363  	0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
 12364  	0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
 12365  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
 12366  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
 12367  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d,
 12368  	0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72,
 12369  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03,
 12370  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
 12371  	0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
 12372  	0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32,
 12373  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
 12374  	0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
 12375  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
 12376  	0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69,
 12377  	0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
 12378  	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
 12379  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
 12380  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74,
 12381  	0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
 12382  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
 12383  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05,
 12384  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70,
 12385  	0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72,
 12386  	0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03,
 12387  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
 12388  	0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a,
 12389  	0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64,
 12390  	0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
 12391  	0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
 12392  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
 12393  	0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36,
 12394  	0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
 12395  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
 12396  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05,
 12397  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70,
 12398  	0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
 12399  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
 12400  	0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
 12401  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
 12402  	0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
 12403  	0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
 12404  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
 12405  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, 0x52, 0x05,
 12406  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70,
 12407  	0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
 12408  	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
 12409  	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
 12410  	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d,
 12411  	0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74,
 12412  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
 12413  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
 12414  	0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e,
 12415  	0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74,
 12416  	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
 12417  	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
 12418  	0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42,
 12419  	0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e,
 12420  	0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
 12421  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
 12422  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
 12423  	0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
 12424  	0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
 12425  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
 12426  	0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
 12427  	0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7a, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69,
 12428  	0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45,
 12429  	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
 12430  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
 12431  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
 12432  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74,
 12433  	0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
 12434  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
 12435  	0x01, 0x1a, 0x74, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65,
 12436  	0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
 12437  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
 12438  	0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c,
 12439  	0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
 12440  	0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
 12441  	0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61,
 12442  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65,
 12443  	0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07,
 12444  	0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x5a, 0x10, 0x02,
 12445  	0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
 12446  	0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c,
 12447  	0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73,
 12448  	0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
 12449  	0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x64, 0x2a,
 12450  	0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x10,
 12451  	0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00,
 12452  	0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, 0x4f, 0x10,
 12453  	0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x52,
 12454  	0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41,
 12455  	0x5a, 0x10, 0x06, 0x42, 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
 12456  	0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d,
 12457  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74,
 12458  	0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x62,
 12459  	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 12460  }
 12461  
 12462  var (
 12463  	file_internal_testprotos_test3_test_proto_rawDescOnce sync.Once
 12464  	file_internal_testprotos_test3_test_proto_rawDescData = file_internal_testprotos_test3_test_proto_rawDesc
 12465  )
 12466  
 12467  func file_internal_testprotos_test3_test_proto_rawDescGZIP() []byte {
 12468  	file_internal_testprotos_test3_test_proto_rawDescOnce.Do(func() {
 12469  		file_internal_testprotos_test3_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_testprotos_test3_test_proto_rawDescData)
 12470  	})
 12471  	return file_internal_testprotos_test3_test_proto_rawDescData
 12472  }
 12473  
 12474  var file_internal_testprotos_test3_test_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
 12475  var file_internal_testprotos_test3_test_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
 12476  var file_internal_testprotos_test3_test_proto_goTypes = []interface{}{
 12477  	(ForeignEnum)(0),                   // 0: goproto.proto.test3.ForeignEnum
 12478  	(TestAllTypes_NestedEnum)(0),       // 1: goproto.proto.test3.TestAllTypes.NestedEnum
 12479  	(*TestAllTypes)(nil),               // 2: goproto.proto.test3.TestAllTypes
 12480  	(*ForeignMessage)(nil),             // 3: goproto.proto.test3.ForeignMessage
 12481  	(*TestAllTypes_NestedMessage)(nil), // 4: goproto.proto.test3.TestAllTypes.NestedMessage
 12482  	nil,                                // 5: goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
 12483  	nil,                                // 6: goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
 12484  	nil,                                // 7: goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
 12485  	nil,                                // 8: goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
 12486  	nil,                                // 9: goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
 12487  	nil,                                // 10: goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
 12488  	nil,                                // 11: goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
 12489  	nil,                                // 12: goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
 12490  	nil,                                // 13: goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
 12491  	nil,                                // 14: goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
 12492  	nil,                                // 15: goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
 12493  	nil,                                // 16: goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
 12494  	nil,                                // 17: goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
 12495  	nil,                                // 18: goproto.proto.test3.TestAllTypes.MapStringStringEntry
 12496  	nil,                                // 19: goproto.proto.test3.TestAllTypes.MapStringBytesEntry
 12497  	nil,                                // 20: goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
 12498  	nil,                                // 21: goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
 12499  	(*ImportMessage)(nil),              // 22: goproto.proto.test3.ImportMessage
 12500  	(ImportEnum)(0),                    // 23: goproto.proto.test3.ImportEnum
 12501  }
 12502  var file_internal_testprotos_test3_test_proto_depIdxs = []int32{
 12503  	4,  // 0: goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> goproto.proto.test3.TestAllTypes.NestedMessage
 12504  	3,  // 1: goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> goproto.proto.test3.ForeignMessage
 12505  	22, // 2: goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> goproto.proto.test3.ImportMessage
 12506  	1,  // 3: goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> goproto.proto.test3.TestAllTypes.NestedEnum
 12507  	0,  // 4: goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> goproto.proto.test3.ForeignEnum
 12508  	23, // 5: goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> goproto.proto.test3.ImportEnum
 12509  	4,  // 6: goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> goproto.proto.test3.TestAllTypes.NestedMessage
 12510  	3,  // 7: goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> goproto.proto.test3.ForeignMessage
 12511  	22, // 8: goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> goproto.proto.test3.ImportMessage
 12512  	1,  // 9: goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> goproto.proto.test3.TestAllTypes.NestedEnum
 12513  	0,  // 10: goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> goproto.proto.test3.ForeignEnum
 12514  	23, // 11: goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> goproto.proto.test3.ImportEnum
 12515  	5,  // 12: goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> goproto.proto.test3.TestAllTypes.MapInt32Int32Entry
 12516  	6,  // 13: goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> goproto.proto.test3.TestAllTypes.MapInt64Int64Entry
 12517  	7,  // 14: goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry
 12518  	8,  // 15: goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry
 12519  	9,  // 16: goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry
 12520  	10, // 17: goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry
 12521  	11, // 18: goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry
 12522  	12, // 19: goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry
 12523  	13, // 20: goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry
 12524  	14, // 21: goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry
 12525  	15, // 22: goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> goproto.proto.test3.TestAllTypes.MapInt32FloatEntry
 12526  	16, // 23: goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry
 12527  	17, // 24: goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> goproto.proto.test3.TestAllTypes.MapBoolBoolEntry
 12528  	18, // 25: goproto.proto.test3.TestAllTypes.map_string_string:type_name -> goproto.proto.test3.TestAllTypes.MapStringStringEntry
 12529  	19, // 26: goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> goproto.proto.test3.TestAllTypes.MapStringBytesEntry
 12530  	20, // 27: goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry
 12531  	21, // 28: goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry
 12532  	4,  // 29: goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> goproto.proto.test3.TestAllTypes.NestedMessage
 12533  	1,  // 30: goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> goproto.proto.test3.TestAllTypes.NestedEnum
 12534  	2,  // 31: goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> goproto.proto.test3.TestAllTypes
 12535  	4,  // 32: goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> goproto.proto.test3.TestAllTypes.NestedMessage
 12536  	1,  // 33: goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> goproto.proto.test3.TestAllTypes.NestedEnum
 12537  	34, // [34:34] is the sub-list for method output_type
 12538  	34, // [34:34] is the sub-list for method input_type
 12539  	34, // [34:34] is the sub-list for extension type_name
 12540  	34, // [34:34] is the sub-list for extension extendee
 12541  	0,  // [0:34] is the sub-list for field type_name
 12542  }
 12543  
 12544  func init() { file_internal_testprotos_test3_test_proto_init() }
 12545  func file_internal_testprotos_test3_test_proto_init() {
 12546  	if File_internal_testprotos_test3_test_proto != nil {
 12547  		return
 12548  	}
 12549  	file_internal_testprotos_test3_test_import_proto_init()
 12550  	if !protoimpl.UnsafeEnabled {
 12551  		file_internal_testprotos_test3_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 12552  			switch v := v.(*TestAllTypes); i {
 12553  			case 0:
 12554  				return &v.state
 12555  			case 1:
 12556  				return &v.sizeCache
 12557  			case 2:
 12558  				return &v.unknownFields
 12559  			default:
 12560  				return nil
 12561  			}
 12562  		}
 12563  		file_internal_testprotos_test3_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 12564  			switch v := v.(*ForeignMessage); i {
 12565  			case 0:
 12566  				return &v.state
 12567  			case 1:
 12568  				return &v.sizeCache
 12569  			case 2:
 12570  				return &v.unknownFields
 12571  			default:
 12572  				return nil
 12573  			}
 12574  		}
 12575  		file_internal_testprotos_test3_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 12576  			switch v := v.(*TestAllTypes_NestedMessage); i {
 12577  			case 0:
 12578  				return &v.state
 12579  			case 1:
 12580  				return &v.sizeCache
 12581  			case 2:
 12582  				return &v.unknownFields
 12583  			default:
 12584  				return nil
 12585  			}
 12586  		}
 12587  	}
 12588  	file_internal_testprotos_test3_test_proto_msgTypes[0].OneofWrappers = []interface{}{
 12589  		(*TestAllTypes_OneofUint32)(nil),
 12590  		(*TestAllTypes_OneofNestedMessage)(nil),
 12591  		(*TestAllTypes_OneofString)(nil),
 12592  		(*TestAllTypes_OneofBytes)(nil),
 12593  		(*TestAllTypes_OneofBool)(nil),
 12594  		(*TestAllTypes_OneofUint64)(nil),
 12595  		(*TestAllTypes_OneofFloat)(nil),
 12596  		(*TestAllTypes_OneofDouble)(nil),
 12597  		(*TestAllTypes_OneofEnum)(nil),
 12598  	}
 12599  	type x struct{}
 12600  	out := protoimpl.TypeBuilder{
 12601  		File: protoimpl.DescBuilder{
 12602  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 12603  			RawDescriptor: file_internal_testprotos_test3_test_proto_rawDesc,
 12604  			NumEnums:      2,
 12605  			NumMessages:   20,
 12606  			NumExtensions: 0,
 12607  			NumServices:   0,
 12608  		},
 12609  		GoTypes:           file_internal_testprotos_test3_test_proto_goTypes,
 12610  		DependencyIndexes: file_internal_testprotos_test3_test_proto_depIdxs,
 12611  		EnumInfos:         file_internal_testprotos_test3_test_proto_enumTypes,
 12612  		MessageInfos:      file_internal_testprotos_test3_test_proto_msgTypes,
 12613  	}.Build()
 12614  	File_internal_testprotos_test3_test_proto = out.File
 12615  	file_internal_testprotos_test3_test_proto_rawDesc = nil
 12616  	file_internal_testprotos_test3_test_proto_goTypes = nil
 12617  	file_internal_testprotos_test3_test_proto_depIdxs = nil
 12618  }