From 8878926ea7902e940d3a9a8b1d194a4140348ca8 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 23 Dec 2024 14:13:09 +0100 Subject: [PATCH] internal/impl: fix WhichOneof() to work with synthetic oneofs This is the equivalent of CL 638495, but for the Opaque API. While the behavior is the same for non-synthetic oneofs between the Open Struct API and Opaque API, the behavior for synthetic oneofs is not the same: Because the Opaque API uses a bitfield to store presence, we need to use the Opaque presence check in WhichOneof(). This CL extends the testproto generator to use the protoc command-line flag for the test3 testproto (which specifies syntax = "proto3";), as the in-file api_level is only available in .proto files using editions (but editions does not use synthetic oneofs for optional fields, only proto3 does). For golang/protobuf#1659 Change-Id: I0a1fd6e5fc6f96eeab043f966728ce2a14dbd446 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/638515 LUCI-TryBot-Result: Go LUCI Reviewed-by: Chressie Himpel --- internal/cmd/generate-protos/main.go | 34 +- internal/impl/message_opaque.go | 24 +- .../test3/test3_hybrid/test.hybrid.pb.go | 2762 ++++++++++++++++ .../test3/test3_hybrid/test.hybrid.proto | 134 + .../test.hybrid_protoopaque.pb.go | 2851 +++++++++++++++++ .../test3_hybrid/test_import.hybrid.pb.go | 156 + .../test3_hybrid/test_import.hybrid.proto | 16 + .../test_import.hybrid_protoopaque.pb.go | 156 + .../test3/test3_opaque/test.opaque.pb.go | 2849 ++++++++++++++++ .../test3/test3_opaque/test.opaque.proto | 134 + .../test3_opaque/test_import.opaque.pb.go | 154 + .../test3_opaque/test_import.opaque.proto | 16 + proto/oneof_which_test.go | 42 +- 13 files changed, 9321 insertions(+), 7 deletions(-) create mode 100644 internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go create mode 100644 internal/testprotos/test3/test3_hybrid/test.hybrid.proto create mode 100644 internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go create mode 100644 internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go create mode 100644 internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto create mode 100644 internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go create mode 100644 internal/testprotos/test3/test3_opaque/test.opaque.pb.go create mode 100644 internal/testprotos/test3/test3_opaque/test.opaque.proto create mode 100644 internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go create mode 100644 internal/testprotos/test3/test3_opaque/test_import.opaque.proto diff --git a/internal/cmd/generate-protos/main.go b/internal/cmd/generate-protos/main.go index 5d95201e..c42f9082 100644 --- a/internal/cmd/generate-protos/main.go +++ b/internal/cmd/generate-protos/main.go @@ -182,7 +182,13 @@ func generateOpaqueDotProto(repoRoot, tmpDir, relPath string) { if matches := goPackageRe.FindStringSubmatch(line); matches != nil { goPkg := matches[1] hybridGoPkg := strings.TrimSuffix(goPkg, "/") + "/" + filepath.Base(goPkg) + "_hybrid" - return `option go_package = "` + hybridGoPkg + `";` + "\n" + + goPackage := `option go_package = "` + hybridGoPkg + `";` + "\n" + if strings.HasPrefix(relPath, "internal/testprotos/test3/") { + // The test3 testproto must remain on syntax = "proto3"; + // and therefore cannot use the editions-only api_level. + return goPackage + } + return goPackage + `import "google/protobuf/go_features.proto";` + "\n" + `option features.(pb.go).api_level = API_HYBRID;` } @@ -211,7 +217,13 @@ func generateOpaqueDotProto(repoRoot, tmpDir, relPath string) { if matches := goPackageRe.FindStringSubmatch(line); matches != nil { goPkg := matches[1] opaqueGoPkg := strings.TrimSuffix(goPkg, "/") + "/" + filepath.Base(goPkg) + "_opaque" - return `option go_package = "` + opaqueGoPkg + `";` + "\n" + + goPackage := `option go_package = "` + opaqueGoPkg + `";` + "\n" + if strings.HasPrefix(relPath, "internal/testprotos/test3/") { + // The test3 testproto must remain on syntax = "proto3"; + // and therefore cannot use the editions-only api_level. + return goPackage + } + return goPackage + `import "google/protobuf/go_features.proto";` + "\n" + `option features.(pb.go).api_level = API_OPAQUE;` } @@ -248,6 +260,12 @@ func generateOpaqueTestprotos() { }{ {path: "internal/testprotos/required"}, {path: "internal/testprotos/testeditions"}, + { + path: "internal/testprotos/test3", + exclude: map[string]bool{ + "internal/testprotos/test3/test_extension.proto": true, + }, + }, {path: "internal/testprotos/enums"}, {path: "internal/testprotos/textpbeditions"}, {path: "internal/testprotos/messageset"}, @@ -359,6 +377,18 @@ func generateLocalProtos() { if d.annotate[filepath.ToSlash(relPath)] { opts += ",annotate_code" } + if strings.HasPrefix(relPath, "internal/testprotos/test3/") { + variant := strings.TrimPrefix(relPath, "internal/testprotos/test3/") + if idx := strings.IndexByte(variant, '/'); idx > -1 { + variant = variant[:idx] + } + switch variant { + case "test3_hybrid": + opts += fmt.Sprintf(",apilevelM%v=%v", relPath, "API_HYBRID") + case "test3_opaque": + opts += fmt.Sprintf(",apilevelM%v=%v", relPath, "API_OPAQUE") + } + } protoc("-I"+filepath.Join(repoRoot, "src"), "-I"+filepath.Join(protoRoot, "src"), "-I"+repoRoot, "--go_out="+opts+":"+tmpDir, filepath.Join(repoRoot, relPath)) return nil }) diff --git a/internal/impl/message_opaque.go b/internal/impl/message_opaque.go index d407dd79..d7ec53f0 100644 --- a/internal/impl/message_opaque.go +++ b/internal/impl/message_opaque.go @@ -88,9 +88,7 @@ func opaqueInitHook(mi *MessageInfo) bool { mi.oneofs = map[protoreflect.Name]*oneofInfo{} for i := 0; i < mi.Desc.Oneofs().Len(); i++ { od := mi.Desc.Oneofs().Get(i) - if !od.IsSynthetic() { - mi.oneofs[od.Name()] = makeOneofInfo(od, si.structInfo, mi.Exporter) - } + mi.oneofs[od.Name()] = makeOneofInfoOpaque(mi, od, si.structInfo, mi.Exporter) } mi.denseFields = make([]*fieldInfo, fds.Len()*2) @@ -119,6 +117,26 @@ func opaqueInitHook(mi *MessageInfo) bool { return true } +func makeOneofInfoOpaque(mi *MessageInfo, od protoreflect.OneofDescriptor, si structInfo, x exporter) *oneofInfo { + oi := &oneofInfo{oneofDesc: od} + if od.IsSynthetic() { + fd := od.Fields().Get(0) + index, _ := presenceIndex(mi.Desc, fd) + oi.which = func(p pointer) protoreflect.FieldNumber { + if p.IsNil() { + return 0 + } + if !mi.present(p, index) { + return 0 + } + return od.Fields().Get(0).Number() + } + return oi + } + // Dispatch to non-opaque oneof implementation for non-synthetic oneofs. + return makeOneofInfo(od, si, x) +} + func (mi *MessageInfo) fieldInfoForMapOpaque(si opaqueStructInfo, fd protoreflect.FieldDescriptor, fs reflect.StructField) fieldInfo { ft := fs.Type if ft.Kind() != reflect.Map { diff --git a/internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go b/internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go new file mode 100644 index 00000000..2188403e --- /dev/null +++ b/internal/testprotos/test3/test3_hybrid/test.hybrid.pb.go @@ -0,0 +1,2762 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/test3/test3_hybrid/test.hybrid.proto + +//go:build !protoopaque + +package test3_hybrid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +type ForeignEnum int32 + +const ( + ForeignEnum_FOREIGN_ZERO ForeignEnum = 0 + ForeignEnum_FOREIGN_FOO ForeignEnum = 4 + ForeignEnum_FOREIGN_BAR ForeignEnum = 5 + ForeignEnum_FOREIGN_BAZ ForeignEnum = 6 +) + +// Enum value maps for ForeignEnum. +var ( + ForeignEnum_name = map[int32]string{ + 0: "FOREIGN_ZERO", + 4: "FOREIGN_FOO", + 5: "FOREIGN_BAR", + 6: "FOREIGN_BAZ", + } + ForeignEnum_value = map[string]int32{ + "FOREIGN_ZERO": 0, + "FOREIGN_FOO": 4, + "FOREIGN_BAR": 5, + "FOREIGN_BAZ": 6, + } +) + +func (x ForeignEnum) Enum() *ForeignEnum { + p := new(ForeignEnum) + *p = x + return p +} + +func (x ForeignEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0].Descriptor() +} + +func (ForeignEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0] +} + +func (x ForeignEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type TestAllTypes_NestedEnum int32 + +const ( + TestAllTypes_FOO TestAllTypes_NestedEnum = 0 + TestAllTypes_BAR TestAllTypes_NestedEnum = 1 + TestAllTypes_BAZ TestAllTypes_NestedEnum = 2 + TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative. +) + +// Enum value maps for TestAllTypes_NestedEnum. +var ( + TestAllTypes_NestedEnum_name = map[int32]string{ + 0: "FOO", + 1: "BAR", + 2: "BAZ", + -1: "NEG", + } + TestAllTypes_NestedEnum_value = map[string]int32{ + "FOO": 0, + "BAR": 1, + "BAZ": 2, + "NEG": -1, + } +) + +func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum { + p := new(TestAllTypes_NestedEnum) + *p = x + return p +} + +func (x TestAllTypes_NestedEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1].Descriptor() +} + +func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1] +} + +func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type TestAllTypes struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + SingularInt32 int32 `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"` + SingularInt64 int64 `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"` + SingularUint32 uint32 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"` + SingularUint64 uint64 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"` + SingularSint32 int32 `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"` + SingularSint64 int64 `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"` + SingularFixed32 uint32 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"` + SingularFixed64 uint64 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"` + SingularSfixed32 int32 `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"` + SingularSfixed64 int64 `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"` + SingularFloat float32 `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"` + SingularDouble float64 `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"` + SingularBool bool `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"` + SingularString string `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"` + SingularBytes []byte `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"` + SingularNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"` + SingularForeignMessage *ForeignMessage `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"` + SingularImportMessage *ImportMessage `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"` + SingularNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"` + SingularForeignEnum ForeignEnum `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"` + SingularImportEnum ImportEnum `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"` + OptionalInt32 *int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3,oneof" json:"optional_int32,omitempty"` + OptionalInt64 *int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3,oneof" json:"optional_int64,omitempty"` + OptionalUint32 *uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3,oneof" json:"optional_uint32,omitempty"` + OptionalUint64 *uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3,oneof" json:"optional_uint64,omitempty"` + OptionalSint32 *int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3,oneof" json:"optional_sint32,omitempty"` + OptionalSint64 *int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3,oneof" json:"optional_sint64,omitempty"` + OptionalFixed32 *uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3,oneof" json:"optional_fixed32,omitempty"` + OptionalFixed64 *uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3,oneof" json:"optional_fixed64,omitempty"` + OptionalSfixed32 *int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3,oneof" json:"optional_sfixed32,omitempty"` + OptionalSfixed64 *int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3,oneof" json:"optional_sfixed64,omitempty"` + OptionalFloat *float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3,oneof" json:"optional_float,omitempty"` + OptionalDouble *float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3,oneof" json:"optional_double,omitempty"` + OptionalBool *bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"` + OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"` + OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3,oneof" json:"optional_bytes,omitempty"` + OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3,oneof" json:"optional_nested_message,omitempty"` + OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3,oneof" json:"optional_foreign_message,omitempty"` + OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage,proto3,oneof" json:"optional_import_message,omitempty"` + OptionalNestedEnum *TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof" json:"optional_nested_enum,omitempty"` + OptionalForeignEnum *ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum,oneof" json:"optional_foreign_enum,omitempty"` + OptionalImportEnum *ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum,oneof" json:"optional_import_enum,omitempty"` + RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"` + RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"` + RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"` + RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"` + RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"` + RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"` + RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"` + RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"` + RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"` + RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"` + RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"` + RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"` + RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"` + RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"` + RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"` + RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"` + RepeatedForeignMessage []*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"` + RepeatedImportmessage []*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"` + RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"` + RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"` + RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"` + 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" protobuf_val:"varint,2,opt,name=value"` + 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" protobuf_val:"varint,2,opt,name=value"` + 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" protobuf_val:"varint,2,opt,name=value"` + 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" protobuf_val:"varint,2,opt,name=value"` + 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" protobuf_val:"zigzag32,2,opt,name=value"` + 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" protobuf_val:"zigzag64,2,opt,name=value"` + 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" protobuf_val:"fixed32,2,opt,name=value"` + 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" protobuf_val:"fixed64,2,opt,name=value"` + 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" protobuf_val:"fixed32,2,opt,name=value"` + 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" protobuf_val:"fixed64,2,opt,name=value"` + 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" protobuf_val:"fixed32,2,opt,name=value"` + 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" protobuf_val:"fixed64,2,opt,name=value"` + 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" protobuf_val:"varint,2,opt,name=value"` + 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" protobuf_val:"bytes,2,opt,name=value"` + 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" protobuf_val:"bytes,2,opt,name=value"` + 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" protobuf_val:"bytes,2,opt,name=value"` + 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" protobuf_val:"varint,2,opt,name=value,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum"` + // Types that are valid to be assigned to OneofField: + // + // *TestAllTypes_OneofUint32 + // *TestAllTypes_OneofNestedMessage + // *TestAllTypes_OneofString + // *TestAllTypes_OneofBytes + // *TestAllTypes_OneofBool + // *TestAllTypes_OneofUint64 + // *TestAllTypes_OneofFloat + // *TestAllTypes_OneofDouble + // *TestAllTypes_OneofEnum + OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes) Reset() { + *x = TestAllTypes{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes) ProtoMessage() {} + +func (x *TestAllTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TestAllTypes) GetSingularInt32() int32 { + if x != nil { + return x.SingularInt32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularInt64() int64 { + if x != nil { + return x.SingularInt64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularUint32() uint32 { + if x != nil { + return x.SingularUint32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularUint64() uint64 { + if x != nil { + return x.SingularUint64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSint32() int32 { + if x != nil { + return x.SingularSint32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSint64() int64 { + if x != nil { + return x.SingularSint64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFixed32() uint32 { + if x != nil { + return x.SingularFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFixed64() uint64 { + if x != nil { + return x.SingularFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSfixed32() int32 { + if x != nil { + return x.SingularSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSfixed64() int64 { + if x != nil { + return x.SingularSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFloat() float32 { + if x != nil { + return x.SingularFloat + } + return 0 +} + +func (x *TestAllTypes) GetSingularDouble() float64 { + if x != nil { + return x.SingularDouble + } + return 0 +} + +func (x *TestAllTypes) GetSingularBool() bool { + if x != nil { + return x.SingularBool + } + return false +} + +func (x *TestAllTypes) GetSingularString() string { + if x != nil { + return x.SingularString + } + return "" +} + +func (x *TestAllTypes) GetSingularBytes() []byte { + if x != nil { + return x.SingularBytes + } + return nil +} + +func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.SingularNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage { + if x != nil { + return x.SingularForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage { + if x != nil { + return x.SingularImportMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum { + if x != nil { + return x.SingularNestedEnum + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum { + if x != nil { + return x.SingularForeignEnum + } + return ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) GetSingularImportEnum() ImportEnum { + if x != nil { + return x.SingularImportEnum + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetOptionalInt32() int32 { + if x != nil && x.OptionalInt32 != nil { + return *x.OptionalInt32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalInt64() int64 { + if x != nil && x.OptionalInt64 != nil { + return *x.OptionalInt64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint32() uint32 { + if x != nil && x.OptionalUint32 != nil { + return *x.OptionalUint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint64() uint64 { + if x != nil && x.OptionalUint64 != nil { + return *x.OptionalUint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint32() int32 { + if x != nil && x.OptionalSint32 != nil { + return *x.OptionalSint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint64() int64 { + if x != nil && x.OptionalSint64 != nil { + return *x.OptionalSint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed32() uint32 { + if x != nil && x.OptionalFixed32 != nil { + return *x.OptionalFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed64() uint64 { + if x != nil && x.OptionalFixed64 != nil { + return *x.OptionalFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed32() int32 { + if x != nil && x.OptionalSfixed32 != nil { + return *x.OptionalSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed64() int64 { + if x != nil && x.OptionalSfixed64 != nil { + return *x.OptionalSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFloat() float32 { + if x != nil && x.OptionalFloat != nil { + return *x.OptionalFloat + } + return 0 +} + +func (x *TestAllTypes) GetOptionalDouble() float64 { + if x != nil && x.OptionalDouble != nil { + return *x.OptionalDouble + } + return 0 +} + +func (x *TestAllTypes) GetOptionalBool() bool { + if x != nil && x.OptionalBool != nil { + return *x.OptionalBool + } + return false +} + +func (x *TestAllTypes) GetOptionalString() string { + if x != nil && x.OptionalString != nil { + return *x.OptionalString + } + return "" +} + +func (x *TestAllTypes) GetOptionalBytes() []byte { + if x != nil { + return x.OptionalBytes + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.OptionalNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage { + if x != nil { + return x.OptionalForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage { + if x != nil { + return x.OptionalImportMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum { + if x != nil && x.OptionalNestedEnum != nil { + return *x.OptionalNestedEnum + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum { + if x != nil && x.OptionalForeignEnum != nil { + return *x.OptionalForeignEnum + } + return ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum { + if x != nil && x.OptionalImportEnum != nil { + return *x.OptionalImportEnum + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetRepeatedInt32() []int32 { + if x != nil { + return x.RepeatedInt32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedInt64() []int64 { + if x != nil { + return x.RepeatedInt64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint32() []uint32 { + if x != nil { + return x.RepeatedUint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint64() []uint64 { + if x != nil { + return x.RepeatedUint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint32() []int32 { + if x != nil { + return x.RepeatedSint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint64() []int64 { + if x != nil { + return x.RepeatedSint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed32() []uint32 { + if x != nil { + return x.RepeatedFixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed64() []uint64 { + if x != nil { + return x.RepeatedFixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed32() []int32 { + if x != nil { + return x.RepeatedSfixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed64() []int64 { + if x != nil { + return x.RepeatedSfixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFloat() []float32 { + if x != nil { + return x.RepeatedFloat + } + return nil +} + +func (x *TestAllTypes) GetRepeatedDouble() []float64 { + if x != nil { + return x.RepeatedDouble + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBool() []bool { + if x != nil { + return x.RepeatedBool + } + return nil +} + +func (x *TestAllTypes) GetRepeatedString() []string { + if x != nil { + return x.RepeatedString + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBytes() [][]byte { + if x != nil { + return x.RepeatedBytes + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage { + if x != nil { + return x.RepeatedNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage { + if x != nil { + return x.RepeatedForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage { + if x != nil { + return x.RepeatedImportmessage + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum { + if x != nil { + return x.RepeatedNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum { + if x != nil { + return x.RepeatedForeignEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum { + if x != nil { + return x.RepeatedImportenum + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 { + if x != nil { + return x.MapInt32Int32 + } + return nil +} + +func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 { + if x != nil { + return x.MapInt64Int64 + } + return nil +} + +func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 { + if x != nil { + return x.MapUint32Uint32 + } + return nil +} + +func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 { + if x != nil { + return x.MapUint64Uint64 + } + return nil +} + +func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 { + if x != nil { + return x.MapSint32Sint32 + } + return nil +} + +func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 { + if x != nil { + return x.MapSint64Sint64 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 { + if x != nil { + return x.MapFixed32Fixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 { + if x != nil { + return x.MapFixed64Fixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 { + if x != nil { + return x.MapSfixed32Sfixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 { + if x != nil { + return x.MapSfixed64Sfixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 { + if x != nil { + return x.MapInt32Float + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 { + if x != nil { + return x.MapInt32Double + } + return nil +} + +func (x *TestAllTypes) GetMapBoolBool() map[bool]bool { + if x != nil { + return x.MapBoolBool + } + return nil +} + +func (x *TestAllTypes) GetMapStringString() map[string]string { + if x != nil { + return x.MapStringString + } + return nil +} + +func (x *TestAllTypes) GetMapStringBytes() map[string][]byte { + if x != nil { + return x.MapStringBytes + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage { + if x != nil { + return x.MapStringNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum { + if x != nil { + return x.MapStringNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetOneofField() isTestAllTypes_OneofField { + if x != nil { + return x.OneofField + } + return nil +} + +func (x *TestAllTypes) GetOneofUint32() uint32 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok { + return x.OneofUint32 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok { + return x.OneofNestedMessage + } + } + return nil +} + +func (x *TestAllTypes) GetOneofString() string { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofString); ok { + return x.OneofString + } + } + return "" +} + +func (x *TestAllTypes) GetOneofBytes() []byte { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok { + return x.OneofBytes + } + } + return nil +} + +func (x *TestAllTypes) GetOneofBool() bool { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofBool); ok { + return x.OneofBool + } + } + return false +} + +func (x *TestAllTypes) GetOneofUint64() uint64 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok { + return x.OneofUint64 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofFloat() float32 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok { + return x.OneofFloat + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofDouble() float64 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok { + return x.OneofDouble + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok { + return x.OneofEnum + } + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) SetSingularInt32(v int32) { + x.SingularInt32 = v +} + +func (x *TestAllTypes) SetSingularInt64(v int64) { + x.SingularInt64 = v +} + +func (x *TestAllTypes) SetSingularUint32(v uint32) { + x.SingularUint32 = v +} + +func (x *TestAllTypes) SetSingularUint64(v uint64) { + x.SingularUint64 = v +} + +func (x *TestAllTypes) SetSingularSint32(v int32) { + x.SingularSint32 = v +} + +func (x *TestAllTypes) SetSingularSint64(v int64) { + x.SingularSint64 = v +} + +func (x *TestAllTypes) SetSingularFixed32(v uint32) { + x.SingularFixed32 = v +} + +func (x *TestAllTypes) SetSingularFixed64(v uint64) { + x.SingularFixed64 = v +} + +func (x *TestAllTypes) SetSingularSfixed32(v int32) { + x.SingularSfixed32 = v +} + +func (x *TestAllTypes) SetSingularSfixed64(v int64) { + x.SingularSfixed64 = v +} + +func (x *TestAllTypes) SetSingularFloat(v float32) { + x.SingularFloat = v +} + +func (x *TestAllTypes) SetSingularDouble(v float64) { + x.SingularDouble = v +} + +func (x *TestAllTypes) SetSingularBool(v bool) { + x.SingularBool = v +} + +func (x *TestAllTypes) SetSingularString(v string) { + x.SingularString = v +} + +func (x *TestAllTypes) SetSingularBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.SingularBytes = v +} + +func (x *TestAllTypes) SetSingularNestedMessage(v *TestAllTypes_NestedMessage) { + x.SingularNestedMessage = v +} + +func (x *TestAllTypes) SetSingularForeignMessage(v *ForeignMessage) { + x.SingularForeignMessage = v +} + +func (x *TestAllTypes) SetSingularImportMessage(v *ImportMessage) { + x.SingularImportMessage = v +} + +func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) { + x.SingularNestedEnum = v +} + +func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) { + x.SingularForeignEnum = v +} + +func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) { + x.SingularImportEnum = v +} + +func (x *TestAllTypes) SetOptionalInt32(v int32) { + x.OptionalInt32 = &v +} + +func (x *TestAllTypes) SetOptionalInt64(v int64) { + x.OptionalInt64 = &v +} + +func (x *TestAllTypes) SetOptionalUint32(v uint32) { + x.OptionalUint32 = &v +} + +func (x *TestAllTypes) SetOptionalUint64(v uint64) { + x.OptionalUint64 = &v +} + +func (x *TestAllTypes) SetOptionalSint32(v int32) { + x.OptionalSint32 = &v +} + +func (x *TestAllTypes) SetOptionalSint64(v int64) { + x.OptionalSint64 = &v +} + +func (x *TestAllTypes) SetOptionalFixed32(v uint32) { + x.OptionalFixed32 = &v +} + +func (x *TestAllTypes) SetOptionalFixed64(v uint64) { + x.OptionalFixed64 = &v +} + +func (x *TestAllTypes) SetOptionalSfixed32(v int32) { + x.OptionalSfixed32 = &v +} + +func (x *TestAllTypes) SetOptionalSfixed64(v int64) { + x.OptionalSfixed64 = &v +} + +func (x *TestAllTypes) SetOptionalFloat(v float32) { + x.OptionalFloat = &v +} + +func (x *TestAllTypes) SetOptionalDouble(v float64) { + x.OptionalDouble = &v +} + +func (x *TestAllTypes) SetOptionalBool(v bool) { + x.OptionalBool = &v +} + +func (x *TestAllTypes) SetOptionalString(v string) { + x.OptionalString = &v +} + +func (x *TestAllTypes) SetOptionalBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.OptionalBytes = v +} + +func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) { + x.OptionalNestedMessage = v +} + +func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) { + x.OptionalForeignMessage = v +} + +func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) { + x.OptionalImportMessage = v +} + +func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) { + x.OptionalNestedEnum = &v +} + +func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) { + x.OptionalForeignEnum = &v +} + +func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) { + x.OptionalImportEnum = &v +} + +func (x *TestAllTypes) SetRepeatedInt32(v []int32) { + x.RepeatedInt32 = v +} + +func (x *TestAllTypes) SetRepeatedInt64(v []int64) { + x.RepeatedInt64 = v +} + +func (x *TestAllTypes) SetRepeatedUint32(v []uint32) { + x.RepeatedUint32 = v +} + +func (x *TestAllTypes) SetRepeatedUint64(v []uint64) { + x.RepeatedUint64 = v +} + +func (x *TestAllTypes) SetRepeatedSint32(v []int32) { + x.RepeatedSint32 = v +} + +func (x *TestAllTypes) SetRepeatedSint64(v []int64) { + x.RepeatedSint64 = v +} + +func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) { + x.RepeatedFixed32 = v +} + +func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) { + x.RepeatedFixed64 = v +} + +func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) { + x.RepeatedSfixed32 = v +} + +func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) { + x.RepeatedSfixed64 = v +} + +func (x *TestAllTypes) SetRepeatedFloat(v []float32) { + x.RepeatedFloat = v +} + +func (x *TestAllTypes) SetRepeatedDouble(v []float64) { + x.RepeatedDouble = v +} + +func (x *TestAllTypes) SetRepeatedBool(v []bool) { + x.RepeatedBool = v +} + +func (x *TestAllTypes) SetRepeatedString(v []string) { + x.RepeatedString = v +} + +func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) { + x.RepeatedBytes = v +} + +func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) { + x.RepeatedNestedMessage = v +} + +func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) { + x.RepeatedForeignMessage = v +} + +func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) { + x.RepeatedImportmessage = v +} + +func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) { + x.RepeatedNestedEnum = v +} + +func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) { + x.RepeatedForeignEnum = v +} + +func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) { + x.RepeatedImportenum = v +} + +func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) { + x.MapInt32Int32 = v +} + +func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) { + x.MapInt64Int64 = v +} + +func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) { + x.MapUint32Uint32 = v +} + +func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) { + x.MapUint64Uint64 = v +} + +func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) { + x.MapSint32Sint32 = v +} + +func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) { + x.MapSint64Sint64 = v +} + +func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) { + x.MapFixed32Fixed32 = v +} + +func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) { + x.MapFixed64Fixed64 = v +} + +func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) { + x.MapSfixed32Sfixed32 = v +} + +func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) { + x.MapSfixed64Sfixed64 = v +} + +func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) { + x.MapInt32Float = v +} + +func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) { + x.MapInt32Double = v +} + +func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) { + x.MapBoolBool = v +} + +func (x *TestAllTypes) SetMapStringString(v map[string]string) { + x.MapStringString = v +} + +func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) { + x.MapStringBytes = v +} + +func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) { + x.MapStringNestedMessage = v +} + +func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) { + x.MapStringNestedEnum = v +} + +func (x *TestAllTypes) SetOneofUint32(v uint32) { + x.OneofField = &TestAllTypes_OneofUint32{v} +} + +func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) { + if v == nil { + x.OneofField = nil + return + } + x.OneofField = &TestAllTypes_OneofNestedMessage{v} +} + +func (x *TestAllTypes) SetOneofString(v string) { + x.OneofField = &TestAllTypes_OneofString{v} +} + +func (x *TestAllTypes) SetOneofBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.OneofField = &TestAllTypes_OneofBytes{v} +} + +func (x *TestAllTypes) SetOneofBool(v bool) { + x.OneofField = &TestAllTypes_OneofBool{v} +} + +func (x *TestAllTypes) SetOneofUint64(v uint64) { + x.OneofField = &TestAllTypes_OneofUint64{v} +} + +func (x *TestAllTypes) SetOneofFloat(v float32) { + x.OneofField = &TestAllTypes_OneofFloat{v} +} + +func (x *TestAllTypes) SetOneofDouble(v float64) { + x.OneofField = &TestAllTypes_OneofDouble{v} +} + +func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) { + x.OneofField = &TestAllTypes_OneofEnum{v} +} + +func (x *TestAllTypes) HasSingularNestedMessage() bool { + if x == nil { + return false + } + return x.SingularNestedMessage != nil +} + +func (x *TestAllTypes) HasSingularForeignMessage() bool { + if x == nil { + return false + } + return x.SingularForeignMessage != nil +} + +func (x *TestAllTypes) HasSingularImportMessage() bool { + if x == nil { + return false + } + return x.SingularImportMessage != nil +} + +func (x *TestAllTypes) HasOptionalInt32() bool { + if x == nil { + return false + } + return x.OptionalInt32 != nil +} + +func (x *TestAllTypes) HasOptionalInt64() bool { + if x == nil { + return false + } + return x.OptionalInt64 != nil +} + +func (x *TestAllTypes) HasOptionalUint32() bool { + if x == nil { + return false + } + return x.OptionalUint32 != nil +} + +func (x *TestAllTypes) HasOptionalUint64() bool { + if x == nil { + return false + } + return x.OptionalUint64 != nil +} + +func (x *TestAllTypes) HasOptionalSint32() bool { + if x == nil { + return false + } + return x.OptionalSint32 != nil +} + +func (x *TestAllTypes) HasOptionalSint64() bool { + if x == nil { + return false + } + return x.OptionalSint64 != nil +} + +func (x *TestAllTypes) HasOptionalFixed32() bool { + if x == nil { + return false + } + return x.OptionalFixed32 != nil +} + +func (x *TestAllTypes) HasOptionalFixed64() bool { + if x == nil { + return false + } + return x.OptionalFixed64 != nil +} + +func (x *TestAllTypes) HasOptionalSfixed32() bool { + if x == nil { + return false + } + return x.OptionalSfixed32 != nil +} + +func (x *TestAllTypes) HasOptionalSfixed64() bool { + if x == nil { + return false + } + return x.OptionalSfixed64 != nil +} + +func (x *TestAllTypes) HasOptionalFloat() bool { + if x == nil { + return false + } + return x.OptionalFloat != nil +} + +func (x *TestAllTypes) HasOptionalDouble() bool { + if x == nil { + return false + } + return x.OptionalDouble != nil +} + +func (x *TestAllTypes) HasOptionalBool() bool { + if x == nil { + return false + } + return x.OptionalBool != nil +} + +func (x *TestAllTypes) HasOptionalString() bool { + if x == nil { + return false + } + return x.OptionalString != nil +} + +func (x *TestAllTypes) HasOptionalBytes() bool { + if x == nil { + return false + } + return x.OptionalBytes != nil +} + +func (x *TestAllTypes) HasOptionalNestedMessage() bool { + if x == nil { + return false + } + return x.OptionalNestedMessage != nil +} + +func (x *TestAllTypes) HasOptionalForeignMessage() bool { + if x == nil { + return false + } + return x.OptionalForeignMessage != nil +} + +func (x *TestAllTypes) HasOptionalImportMessage() bool { + if x == nil { + return false + } + return x.OptionalImportMessage != nil +} + +func (x *TestAllTypes) HasOptionalNestedEnum() bool { + if x == nil { + return false + } + return x.OptionalNestedEnum != nil +} + +func (x *TestAllTypes) HasOptionalForeignEnum() bool { + if x == nil { + return false + } + return x.OptionalForeignEnum != nil +} + +func (x *TestAllTypes) HasOptionalImportEnum() bool { + if x == nil { + return false + } + return x.OptionalImportEnum != nil +} + +func (x *TestAllTypes) HasOneofField() bool { + if x == nil { + return false + } + return x.OneofField != nil +} + +func (x *TestAllTypes) HasOneofUint32() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofUint32) + return ok +} + +func (x *TestAllTypes) HasOneofNestedMessage() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage) + return ok +} + +func (x *TestAllTypes) HasOneofString() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofString) + return ok +} + +func (x *TestAllTypes) HasOneofBytes() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofBytes) + return ok +} + +func (x *TestAllTypes) HasOneofBool() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofBool) + return ok +} + +func (x *TestAllTypes) HasOneofUint64() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofUint64) + return ok +} + +func (x *TestAllTypes) HasOneofFloat() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofFloat) + return ok +} + +func (x *TestAllTypes) HasOneofDouble() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofDouble) + return ok +} + +func (x *TestAllTypes) HasOneofEnum() bool { + if x == nil { + return false + } + _, ok := x.OneofField.(*TestAllTypes_OneofEnum) + return ok +} + +func (x *TestAllTypes) ClearSingularNestedMessage() { + x.SingularNestedMessage = nil +} + +func (x *TestAllTypes) ClearSingularForeignMessage() { + x.SingularForeignMessage = nil +} + +func (x *TestAllTypes) ClearSingularImportMessage() { + x.SingularImportMessage = nil +} + +func (x *TestAllTypes) ClearOptionalInt32() { + x.OptionalInt32 = nil +} + +func (x *TestAllTypes) ClearOptionalInt64() { + x.OptionalInt64 = nil +} + +func (x *TestAllTypes) ClearOptionalUint32() { + x.OptionalUint32 = nil +} + +func (x *TestAllTypes) ClearOptionalUint64() { + x.OptionalUint64 = nil +} + +func (x *TestAllTypes) ClearOptionalSint32() { + x.OptionalSint32 = nil +} + +func (x *TestAllTypes) ClearOptionalSint64() { + x.OptionalSint64 = nil +} + +func (x *TestAllTypes) ClearOptionalFixed32() { + x.OptionalFixed32 = nil +} + +func (x *TestAllTypes) ClearOptionalFixed64() { + x.OptionalFixed64 = nil +} + +func (x *TestAllTypes) ClearOptionalSfixed32() { + x.OptionalSfixed32 = nil +} + +func (x *TestAllTypes) ClearOptionalSfixed64() { + x.OptionalSfixed64 = nil +} + +func (x *TestAllTypes) ClearOptionalFloat() { + x.OptionalFloat = nil +} + +func (x *TestAllTypes) ClearOptionalDouble() { + x.OptionalDouble = nil +} + +func (x *TestAllTypes) ClearOptionalBool() { + x.OptionalBool = nil +} + +func (x *TestAllTypes) ClearOptionalString() { + x.OptionalString = nil +} + +func (x *TestAllTypes) ClearOptionalBytes() { + x.OptionalBytes = nil +} + +func (x *TestAllTypes) ClearOptionalNestedMessage() { + x.OptionalNestedMessage = nil +} + +func (x *TestAllTypes) ClearOptionalForeignMessage() { + x.OptionalForeignMessage = nil +} + +func (x *TestAllTypes) ClearOptionalImportMessage() { + x.OptionalImportMessage = nil +} + +func (x *TestAllTypes) ClearOptionalNestedEnum() { + x.OptionalNestedEnum = nil +} + +func (x *TestAllTypes) ClearOptionalForeignEnum() { + x.OptionalForeignEnum = nil +} + +func (x *TestAllTypes) ClearOptionalImportEnum() { + x.OptionalImportEnum = nil +} + +func (x *TestAllTypes) ClearOneofField() { + x.OneofField = nil +} + +func (x *TestAllTypes) ClearOneofUint32() { + if _, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofNestedMessage() { + if _, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofString() { + if _, ok := x.OneofField.(*TestAllTypes_OneofString); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofBytes() { + if _, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofBool() { + if _, ok := x.OneofField.(*TestAllTypes_OneofBool); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofUint64() { + if _, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofFloat() { + if _, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofDouble() { + if _, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok { + x.OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofEnum() { + if _, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok { + x.OneofField = nil + } +} + +const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0 +const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111 +const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112 +const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113 +const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114 +const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115 +const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116 +const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117 +const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118 +const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119 + +func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField { + if x == nil { + return TestAllTypes_OneofField_not_set_case + } + switch x.OneofField.(type) { + case *TestAllTypes_OneofUint32: + return TestAllTypes_OneofUint32_case + case *TestAllTypes_OneofNestedMessage: + return TestAllTypes_OneofNestedMessage_case + case *TestAllTypes_OneofString: + return TestAllTypes_OneofString_case + case *TestAllTypes_OneofBytes: + return TestAllTypes_OneofBytes_case + case *TestAllTypes_OneofBool: + return TestAllTypes_OneofBool_case + case *TestAllTypes_OneofUint64: + return TestAllTypes_OneofUint64_case + case *TestAllTypes_OneofFloat: + return TestAllTypes_OneofFloat_case + case *TestAllTypes_OneofDouble: + return TestAllTypes_OneofDouble_case + case *TestAllTypes_OneofEnum: + return TestAllTypes_OneofEnum_case + default: + return TestAllTypes_OneofField_not_set_case + } +} + +type TestAllTypes_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SingularInt32 int32 + SingularInt64 int64 + SingularUint32 uint32 + SingularUint64 uint64 + SingularSint32 int32 + SingularSint64 int64 + SingularFixed32 uint32 + SingularFixed64 uint64 + SingularSfixed32 int32 + SingularSfixed64 int64 + SingularFloat float32 + SingularDouble float64 + SingularBool bool + SingularString string + SingularBytes []byte + SingularNestedMessage *TestAllTypes_NestedMessage + SingularForeignMessage *ForeignMessage + SingularImportMessage *ImportMessage + SingularNestedEnum TestAllTypes_NestedEnum + SingularForeignEnum ForeignEnum + SingularImportEnum ImportEnum + OptionalInt32 *int32 + OptionalInt64 *int64 + OptionalUint32 *uint32 + OptionalUint64 *uint64 + OptionalSint32 *int32 + OptionalSint64 *int64 + OptionalFixed32 *uint32 + OptionalFixed64 *uint64 + OptionalSfixed32 *int32 + OptionalSfixed64 *int64 + OptionalFloat *float32 + OptionalDouble *float64 + OptionalBool *bool + OptionalString *string + OptionalBytes []byte + OptionalNestedMessage *TestAllTypes_NestedMessage + OptionalForeignMessage *ForeignMessage + OptionalImportMessage *ImportMessage + OptionalNestedEnum *TestAllTypes_NestedEnum + OptionalForeignEnum *ForeignEnum + OptionalImportEnum *ImportEnum + RepeatedInt32 []int32 + RepeatedInt64 []int64 + RepeatedUint32 []uint32 + RepeatedUint64 []uint64 + RepeatedSint32 []int32 + RepeatedSint64 []int64 + RepeatedFixed32 []uint32 + RepeatedFixed64 []uint64 + RepeatedSfixed32 []int32 + RepeatedSfixed64 []int64 + RepeatedFloat []float32 + RepeatedDouble []float64 + RepeatedBool []bool + RepeatedString []string + RepeatedBytes [][]byte + RepeatedNestedMessage []*TestAllTypes_NestedMessage + RepeatedForeignMessage []*ForeignMessage + RepeatedImportmessage []*ImportMessage + RepeatedNestedEnum []TestAllTypes_NestedEnum + RepeatedForeignEnum []ForeignEnum + RepeatedImportenum []ImportEnum + MapInt32Int32 map[int32]int32 + MapInt64Int64 map[int64]int64 + MapUint32Uint32 map[uint32]uint32 + MapUint64Uint64 map[uint64]uint64 + MapSint32Sint32 map[int32]int32 + MapSint64Sint64 map[int64]int64 + MapFixed32Fixed32 map[uint32]uint32 + MapFixed64Fixed64 map[uint64]uint64 + MapSfixed32Sfixed32 map[int32]int32 + MapSfixed64Sfixed64 map[int64]int64 + MapInt32Float map[int32]float32 + MapInt32Double map[int32]float64 + MapBoolBool map[bool]bool + MapStringString map[string]string + MapStringBytes map[string][]byte + MapStringNestedMessage map[string]*TestAllTypes_NestedMessage + MapStringNestedEnum map[string]TestAllTypes_NestedEnum + // Fields of oneof OneofField: + OneofUint32 *uint32 + OneofNestedMessage *TestAllTypes_NestedMessage + OneofString *string + OneofBytes []byte + OneofBool *bool + OneofUint64 *uint64 + OneofFloat *float32 + OneofDouble *float64 + OneofEnum *TestAllTypes_NestedEnum + // -- end of OneofField +} + +func (b0 TestAllTypes_builder) Build() *TestAllTypes { + m0 := &TestAllTypes{} + b, x := &b0, m0 + _, _ = b, x + x.SingularInt32 = b.SingularInt32 + x.SingularInt64 = b.SingularInt64 + x.SingularUint32 = b.SingularUint32 + x.SingularUint64 = b.SingularUint64 + x.SingularSint32 = b.SingularSint32 + x.SingularSint64 = b.SingularSint64 + x.SingularFixed32 = b.SingularFixed32 + x.SingularFixed64 = b.SingularFixed64 + x.SingularSfixed32 = b.SingularSfixed32 + x.SingularSfixed64 = b.SingularSfixed64 + x.SingularFloat = b.SingularFloat + x.SingularDouble = b.SingularDouble + x.SingularBool = b.SingularBool + x.SingularString = b.SingularString + x.SingularBytes = b.SingularBytes + x.SingularNestedMessage = b.SingularNestedMessage + x.SingularForeignMessage = b.SingularForeignMessage + x.SingularImportMessage = b.SingularImportMessage + x.SingularNestedEnum = b.SingularNestedEnum + x.SingularForeignEnum = b.SingularForeignEnum + x.SingularImportEnum = b.SingularImportEnum + x.OptionalInt32 = b.OptionalInt32 + x.OptionalInt64 = b.OptionalInt64 + x.OptionalUint32 = b.OptionalUint32 + x.OptionalUint64 = b.OptionalUint64 + x.OptionalSint32 = b.OptionalSint32 + x.OptionalSint64 = b.OptionalSint64 + x.OptionalFixed32 = b.OptionalFixed32 + x.OptionalFixed64 = b.OptionalFixed64 + x.OptionalSfixed32 = b.OptionalSfixed32 + x.OptionalSfixed64 = b.OptionalSfixed64 + x.OptionalFloat = b.OptionalFloat + x.OptionalDouble = b.OptionalDouble + x.OptionalBool = b.OptionalBool + x.OptionalString = b.OptionalString + x.OptionalBytes = b.OptionalBytes + x.OptionalNestedMessage = b.OptionalNestedMessage + x.OptionalForeignMessage = b.OptionalForeignMessage + x.OptionalImportMessage = b.OptionalImportMessage + x.OptionalNestedEnum = b.OptionalNestedEnum + x.OptionalForeignEnum = b.OptionalForeignEnum + x.OptionalImportEnum = b.OptionalImportEnum + x.RepeatedInt32 = b.RepeatedInt32 + x.RepeatedInt64 = b.RepeatedInt64 + x.RepeatedUint32 = b.RepeatedUint32 + x.RepeatedUint64 = b.RepeatedUint64 + x.RepeatedSint32 = b.RepeatedSint32 + x.RepeatedSint64 = b.RepeatedSint64 + x.RepeatedFixed32 = b.RepeatedFixed32 + x.RepeatedFixed64 = b.RepeatedFixed64 + x.RepeatedSfixed32 = b.RepeatedSfixed32 + x.RepeatedSfixed64 = b.RepeatedSfixed64 + x.RepeatedFloat = b.RepeatedFloat + x.RepeatedDouble = b.RepeatedDouble + x.RepeatedBool = b.RepeatedBool + x.RepeatedString = b.RepeatedString + x.RepeatedBytes = b.RepeatedBytes + x.RepeatedNestedMessage = b.RepeatedNestedMessage + x.RepeatedForeignMessage = b.RepeatedForeignMessage + x.RepeatedImportmessage = b.RepeatedImportmessage + x.RepeatedNestedEnum = b.RepeatedNestedEnum + x.RepeatedForeignEnum = b.RepeatedForeignEnum + x.RepeatedImportenum = b.RepeatedImportenum + x.MapInt32Int32 = b.MapInt32Int32 + x.MapInt64Int64 = b.MapInt64Int64 + x.MapUint32Uint32 = b.MapUint32Uint32 + x.MapUint64Uint64 = b.MapUint64Uint64 + x.MapSint32Sint32 = b.MapSint32Sint32 + x.MapSint64Sint64 = b.MapSint64Sint64 + x.MapFixed32Fixed32 = b.MapFixed32Fixed32 + x.MapFixed64Fixed64 = b.MapFixed64Fixed64 + x.MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32 + x.MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64 + x.MapInt32Float = b.MapInt32Float + x.MapInt32Double = b.MapInt32Double + x.MapBoolBool = b.MapBoolBool + x.MapStringString = b.MapStringString + x.MapStringBytes = b.MapStringBytes + x.MapStringNestedMessage = b.MapStringNestedMessage + x.MapStringNestedEnum = b.MapStringNestedEnum + if b.OneofUint32 != nil { + x.OneofField = &TestAllTypes_OneofUint32{*b.OneofUint32} + } + if b.OneofNestedMessage != nil { + x.OneofField = &TestAllTypes_OneofNestedMessage{b.OneofNestedMessage} + } + if b.OneofString != nil { + x.OneofField = &TestAllTypes_OneofString{*b.OneofString} + } + if b.OneofBytes != nil { + x.OneofField = &TestAllTypes_OneofBytes{b.OneofBytes} + } + if b.OneofBool != nil { + x.OneofField = &TestAllTypes_OneofBool{*b.OneofBool} + } + if b.OneofUint64 != nil { + x.OneofField = &TestAllTypes_OneofUint64{*b.OneofUint64} + } + if b.OneofFloat != nil { + x.OneofField = &TestAllTypes_OneofFloat{*b.OneofFloat} + } + if b.OneofDouble != nil { + x.OneofField = &TestAllTypes_OneofDouble{*b.OneofDouble} + } + if b.OneofEnum != nil { + x.OneofField = &TestAllTypes_OneofEnum{*b.OneofEnum} + } + return m0 +} + +type case_TestAllTypes_OneofField protoreflect.FieldNumber + +func (x case_TestAllTypes_OneofField) String() string { + md := file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTestAllTypes_OneofField interface { + isTestAllTypes_OneofField() +} + +type TestAllTypes_OneofUint32 struct { + OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"` +} + +type TestAllTypes_OneofNestedMessage struct { + OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"` +} + +type TestAllTypes_OneofString struct { + OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"` +} + +type TestAllTypes_OneofBytes struct { + OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"` +} + +type TestAllTypes_OneofBool struct { + OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"` +} + +type TestAllTypes_OneofUint64 struct { + OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"` +} + +type TestAllTypes_OneofFloat struct { + OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"` +} + +type TestAllTypes_OneofDouble struct { + OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"` +} + +type TestAllTypes_OneofEnum struct { + OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof"` +} + +func (*TestAllTypes_OneofUint32) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofString) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofBytes) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofBool) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofUint64) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofFloat) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofDouble) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofEnum) isTestAllTypes_OneofField() {} + +type ForeignMessage struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"` + D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ForeignMessage) Reset() { + *x = ForeignMessage{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ForeignMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForeignMessage) ProtoMessage() {} + +func (x *ForeignMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ForeignMessage) GetC() int32 { + if x != nil { + return x.C + } + return 0 +} + +func (x *ForeignMessage) GetD() int32 { + if x != nil { + return x.D + } + return 0 +} + +func (x *ForeignMessage) SetC(v int32) { + x.C = v +} + +func (x *ForeignMessage) SetD(v int32) { + x.D = v +} + +type ForeignMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + C int32 + D int32 +} + +func (b0 ForeignMessage_builder) Build() *ForeignMessage { + m0 := &ForeignMessage{} + b, x := &b0, m0 + _, _ = b, x + x.C = b.C + x.D = b.D + return m0 +} + +type TestAllTypes_NestedMessage struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"` + Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_NestedMessage) Reset() { + *x = TestAllTypes_NestedMessage{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_NestedMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_NestedMessage) ProtoMessage() {} + +func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TestAllTypes_NestedMessage) GetA() int32 { + if x != nil { + return x.A + } + return 0 +} + +func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes { + if x != nil { + return x.Corecursive + } + return nil +} + +func (x *TestAllTypes_NestedMessage) SetA(v int32) { + x.A = v +} + +func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) { + x.Corecursive = v +} + +func (x *TestAllTypes_NestedMessage) HasCorecursive() bool { + if x == nil { + return false + } + return x.Corecursive != nil +} + +func (x *TestAllTypes_NestedMessage) ClearCorecursive() { + x.Corecursive = nil +} + +type TestAllTypes_NestedMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + A int32 + Corecursive *TestAllTypes +} + +func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage { + m0 := &TestAllTypes_NestedMessage{} + b, x := &b0, m0 + _, _ = b, x + x.A = b.A + x.Corecursive = b.Corecursive + return m0 +} + +var File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto protoreflect.FileDescriptor + +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x68, 0x79, + 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, + 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x3e, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x57, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69, 0x6e, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, + 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x6e, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x64, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x73, + 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x5b, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x58, 0x0a, 0x14, + 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x48, 0x06, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, + 0x48, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, + 0x48, 0x08, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0f, 0x48, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x10, 0x48, 0x0a, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x0c, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x48, 0x10, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, + 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x11, 0x52, 0x16, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x12, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x13, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x15, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, + 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x14, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5d, + 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, + 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, + 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, + 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, + 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, + 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x57, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, + 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63, + 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, + 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, + 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, + 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, + 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, + 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, + 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, + 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, + 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d, + 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, + 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x6d, + 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x7f, + 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x76, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x14, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, + 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f, + 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, + 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, + 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x54, + 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, + 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a, + 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x1b, + 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x7b, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f, + 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, + 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b, + 0x0a, 0x19, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, + 0x6e, 0x75, 0x6d, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, + 0x64, 0x2a, 0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, + 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, + 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, + 0x42, 0x41, 0x5a, 0x10, 0x06, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = []any{ + (ForeignEnum)(0), // 0: hybrid.goproto.proto.test3.ForeignEnum + (TestAllTypes_NestedEnum)(0), // 1: hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + (*TestAllTypes)(nil), // 2: hybrid.goproto.proto.test3.TestAllTypes + (*ForeignMessage)(nil), // 3: hybrid.goproto.proto.test3.ForeignMessage + (*TestAllTypes_NestedMessage)(nil), // 4: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + nil, // 5: hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry + nil, // 6: hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry + nil, // 7: hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry + nil, // 8: hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry + nil, // 9: hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry + nil, // 10: hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry + nil, // 11: hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry + nil, // 12: hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry + nil, // 13: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry + nil, // 14: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry + nil, // 15: hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry + nil, // 16: hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry + nil, // 17: hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry + nil, // 18: hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry + nil, // 19: hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry + nil, // 20: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry + nil, // 21: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry + (*ImportMessage)(nil), // 22: hybrid.goproto.proto.test3.ImportMessage + (ImportEnum)(0), // 23: hybrid.goproto.proto.test3.ImportEnum +} +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = []int32{ + 4, // 0: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 1: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage + 22, // 2: hybrid.goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage + 1, // 3: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 4: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum + 23, // 5: hybrid.goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum + 4, // 6: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 7: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage + 22, // 8: hybrid.goproto.proto.test3.TestAllTypes.optional_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage + 1, // 9: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 10: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum + 23, // 11: hybrid.goproto.proto.test3.TestAllTypes.optional_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum + 4, // 12: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 13: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage + 22, // 14: hybrid.goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> hybrid.goproto.proto.test3.ImportMessage + 1, // 15: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 16: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum + 23, // 17: hybrid.goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> hybrid.goproto.proto.test3.ImportEnum + 5, // 18: hybrid.goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry + 6, // 19: hybrid.goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry + 7, // 20: hybrid.goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry + 8, // 21: hybrid.goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry + 9, // 22: hybrid.goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry + 10, // 23: hybrid.goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry + 11, // 24: hybrid.goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry + 12, // 25: hybrid.goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry + 13, // 26: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry + 14, // 27: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry + 15, // 28: hybrid.goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry + 16, // 29: hybrid.goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry + 17, // 30: hybrid.goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry + 18, // 31: hybrid.goproto.proto.test3.TestAllTypes.map_string_string:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry + 19, // 32: hybrid.goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry + 20, // 33: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry + 21, // 34: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry + 4, // 35: hybrid.goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 1, // 36: hybrid.goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 2, // 37: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> hybrid.goproto.proto.test3.TestAllTypes + 4, // 38: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 1, // 39: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 40, // [40:40] is the sub-list for method output_type + 40, // [40:40] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() } +func file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() { + if File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto != nil { + return + } + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].OneofWrappers = []any{ + (*TestAllTypes_OneofUint32)(nil), + (*TestAllTypes_OneofNestedMessage)(nil), + (*TestAllTypes_OneofString)(nil), + (*TestAllTypes_OneofBytes)(nil), + (*TestAllTypes_OneofBool)(nil), + (*TestAllTypes_OneofUint64)(nil), + (*TestAllTypes_OneofFloat)(nil), + (*TestAllTypes_OneofDouble)(nil), + (*TestAllTypes_OneofEnum)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc, + NumEnums: 2, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes, + DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs, + EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes, + MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes, + }.Build() + File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto = out.File + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = nil + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = nil + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = nil +} diff --git a/internal/testprotos/test3/test3_hybrid/test.hybrid.proto b/internal/testprotos/test3/test3_hybrid/test.hybrid.proto new file mode 100644 index 00000000..541bbbe6 --- /dev/null +++ b/internal/testprotos/test3/test3_hybrid/test.hybrid.proto @@ -0,0 +1,134 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto3"; + +package hybrid.goproto.proto.test3; + +import "internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto"; + +option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_hybrid"; + + +message TestAllTypes { + message NestedMessage { + int32 a = 1; + TestAllTypes corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + int32 singular_int32 = 81; + int64 singular_int64 = 82; + uint32 singular_uint32 = 83; + uint64 singular_uint64 = 84; + sint32 singular_sint32 = 85; + sint64 singular_sint64 = 86; + fixed32 singular_fixed32 = 87; + fixed64 singular_fixed64 = 88; + sfixed32 singular_sfixed32 = 89; + sfixed64 singular_sfixed64 = 90; + float singular_float = 91; + double singular_double = 92; + bool singular_bool = 93; + string singular_string = 94; + bytes singular_bytes = 95; + NestedMessage singular_nested_message = 98; + ForeignMessage singular_foreign_message = 99; + ImportMessage singular_import_message = 100; + NestedEnum singular_nested_enum = 101; + ForeignEnum singular_foreign_enum = 102; + ImportEnum singular_import_enum = 103; + + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + optional NestedMessage optional_nested_message = 18; + optional ForeignMessage optional_foreign_message = 19; + optional ImportMessage optional_import_message = 20; + optional NestedEnum optional_nested_enum = 21; + optional ForeignEnum optional_foreign_enum = 22; + optional ImportEnum optional_import_enum = 23; + + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated ImportMessage repeated_importmessage = 50; + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + repeated ImportEnum repeated_importenum = 53; + + map map_int32_int32 = 56; + map map_int64_int64 = 57; + map map_uint32_uint32 = 58; + map map_uint64_uint64 = 59; + map map_sint32_sint32 = 60; + map map_sint64_sint64 = 61; + map map_fixed32_fixed32 = 62; + map map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map map_int32_float = 66; + map map_int32_double = 67; + map map_bool_bool = 68; + map map_string_string = 69; + map map_string_bytes = 70; + map map_string_nested_message = 71; + map map_string_nested_enum = 73; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + bool oneof_bool = 115; + uint64 oneof_uint64 = 116; + float oneof_float = 117; + double oneof_double = 118; + NestedEnum oneof_enum = 119; + } +} + +message ForeignMessage { + int32 c = 1; + int32 d = 2; +} + +enum ForeignEnum { + FOREIGN_ZERO = 0; + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; +} \ No newline at end of file diff --git a/internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go b/internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go new file mode 100644 index 00000000..6cdaf426 --- /dev/null +++ b/internal/testprotos/test3/test3_hybrid/test.hybrid_protoopaque.pb.go @@ -0,0 +1,2851 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/test3/test3_hybrid/test.hybrid.proto + +//go:build protoopaque + +package test3_hybrid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +type ForeignEnum int32 + +const ( + ForeignEnum_FOREIGN_ZERO ForeignEnum = 0 + ForeignEnum_FOREIGN_FOO ForeignEnum = 4 + ForeignEnum_FOREIGN_BAR ForeignEnum = 5 + ForeignEnum_FOREIGN_BAZ ForeignEnum = 6 +) + +// Enum value maps for ForeignEnum. +var ( + ForeignEnum_name = map[int32]string{ + 0: "FOREIGN_ZERO", + 4: "FOREIGN_FOO", + 5: "FOREIGN_BAR", + 6: "FOREIGN_BAZ", + } + ForeignEnum_value = map[string]int32{ + "FOREIGN_ZERO": 0, + "FOREIGN_FOO": 4, + "FOREIGN_BAR": 5, + "FOREIGN_BAZ": 6, + } +) + +func (x ForeignEnum) Enum() *ForeignEnum { + p := new(ForeignEnum) + *p = x + return p +} + +func (x ForeignEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0].Descriptor() +} + +func (ForeignEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[0] +} + +func (x ForeignEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type TestAllTypes_NestedEnum int32 + +const ( + TestAllTypes_FOO TestAllTypes_NestedEnum = 0 + TestAllTypes_BAR TestAllTypes_NestedEnum = 1 + TestAllTypes_BAZ TestAllTypes_NestedEnum = 2 + TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative. +) + +// Enum value maps for TestAllTypes_NestedEnum. +var ( + TestAllTypes_NestedEnum_name = map[int32]string{ + 0: "FOO", + 1: "BAR", + 2: "BAZ", + -1: "NEG", + } + TestAllTypes_NestedEnum_value = map[string]int32{ + "FOO": 0, + "BAR": 1, + "BAZ": 2, + "NEG": -1, + } +) + +func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum { + p := new(TestAllTypes_NestedEnum) + *p = x + return p +} + +func (x TestAllTypes_NestedEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1].Descriptor() +} + +func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes[1] +} + +func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type TestAllTypes struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SingularInt32 int32 `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"` + xxx_hidden_SingularInt64 int64 `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"` + xxx_hidden_SingularUint32 uint32 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"` + xxx_hidden_SingularUint64 uint64 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"` + xxx_hidden_SingularSint32 int32 `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"` + xxx_hidden_SingularSint64 int64 `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"` + xxx_hidden_SingularFixed32 uint32 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"` + xxx_hidden_SingularFixed64 uint64 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"` + xxx_hidden_SingularSfixed32 int32 `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"` + xxx_hidden_SingularSfixed64 int64 `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"` + xxx_hidden_SingularFloat float32 `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"` + xxx_hidden_SingularDouble float64 `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"` + xxx_hidden_SingularBool bool `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"` + xxx_hidden_SingularString string `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"` + xxx_hidden_SingularBytes []byte `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"` + xxx_hidden_SingularNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"` + xxx_hidden_SingularForeignMessage *ForeignMessage `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"` + xxx_hidden_SingularImportMessage *ImportMessage `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"` + xxx_hidden_SingularNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"` + xxx_hidden_SingularForeignEnum ForeignEnum `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"` + xxx_hidden_SingularImportEnum ImportEnum `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"` + xxx_hidden_OptionalInt32 int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3,oneof" json:"optional_int32,omitempty"` + xxx_hidden_OptionalInt64 int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3,oneof" json:"optional_int64,omitempty"` + xxx_hidden_OptionalUint32 uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3,oneof" json:"optional_uint32,omitempty"` + xxx_hidden_OptionalUint64 uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3,oneof" json:"optional_uint64,omitempty"` + xxx_hidden_OptionalSint32 int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3,oneof" json:"optional_sint32,omitempty"` + xxx_hidden_OptionalSint64 int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3,oneof" json:"optional_sint64,omitempty"` + xxx_hidden_OptionalFixed32 uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3,oneof" json:"optional_fixed32,omitempty"` + xxx_hidden_OptionalFixed64 uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3,oneof" json:"optional_fixed64,omitempty"` + xxx_hidden_OptionalSfixed32 int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3,oneof" json:"optional_sfixed32,omitempty"` + xxx_hidden_OptionalSfixed64 int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3,oneof" json:"optional_sfixed64,omitempty"` + xxx_hidden_OptionalFloat float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3,oneof" json:"optional_float,omitempty"` + xxx_hidden_OptionalDouble float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3,oneof" json:"optional_double,omitempty"` + xxx_hidden_OptionalBool bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"` + xxx_hidden_OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"` + xxx_hidden_OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3,oneof" json:"optional_bytes,omitempty"` + xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3,oneof" json:"optional_nested_message,omitempty"` + xxx_hidden_OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3,oneof" json:"optional_foreign_message,omitempty"` + xxx_hidden_OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage,proto3,oneof" json:"optional_import_message,omitempty"` + xxx_hidden_OptionalNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof" json:"optional_nested_enum,omitempty"` + xxx_hidden_OptionalForeignEnum ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum,oneof" json:"optional_foreign_enum,omitempty"` + xxx_hidden_OptionalImportEnum ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum,oneof" json:"optional_import_enum,omitempty"` + xxx_hidden_RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"` + xxx_hidden_RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"` + xxx_hidden_RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"` + xxx_hidden_RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"` + xxx_hidden_RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"` + xxx_hidden_RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"` + xxx_hidden_RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"` + xxx_hidden_RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"` + xxx_hidden_RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"` + xxx_hidden_RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"` + xxx_hidden_RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"` + xxx_hidden_RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"` + xxx_hidden_RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"` + xxx_hidden_RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"` + xxx_hidden_RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"` + xxx_hidden_RepeatedNestedMessage *[]*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"` + xxx_hidden_RepeatedForeignMessage *[]*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"` + xxx_hidden_RepeatedImportmessage *[]*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"` + xxx_hidden_RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"` + xxx_hidden_RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=hybrid.goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"` + xxx_hidden_RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=hybrid.goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"zigzag32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"zigzag64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum"` + xxx_hidden_OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [3]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes) Reset() { + *x = TestAllTypes{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes) ProtoMessage() {} + +func (x *TestAllTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TestAllTypes) GetSingularInt32() int32 { + if x != nil { + return x.xxx_hidden_SingularInt32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularInt64() int64 { + if x != nil { + return x.xxx_hidden_SingularInt64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularUint32() uint32 { + if x != nil { + return x.xxx_hidden_SingularUint32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularUint64() uint64 { + if x != nil { + return x.xxx_hidden_SingularUint64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSint32() int32 { + if x != nil { + return x.xxx_hidden_SingularSint32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSint64() int64 { + if x != nil { + return x.xxx_hidden_SingularSint64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFixed32() uint32 { + if x != nil { + return x.xxx_hidden_SingularFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFixed64() uint64 { + if x != nil { + return x.xxx_hidden_SingularFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSfixed32() int32 { + if x != nil { + return x.xxx_hidden_SingularSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSfixed64() int64 { + if x != nil { + return x.xxx_hidden_SingularSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFloat() float32 { + if x != nil { + return x.xxx_hidden_SingularFloat + } + return 0 +} + +func (x *TestAllTypes) GetSingularDouble() float64 { + if x != nil { + return x.xxx_hidden_SingularDouble + } + return 0 +} + +func (x *TestAllTypes) GetSingularBool() bool { + if x != nil { + return x.xxx_hidden_SingularBool + } + return false +} + +func (x *TestAllTypes) GetSingularString() string { + if x != nil { + return x.xxx_hidden_SingularString + } + return "" +} + +func (x *TestAllTypes) GetSingularBytes() []byte { + if x != nil { + return x.xxx_hidden_SingularBytes + } + return nil +} + +func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.xxx_hidden_SingularNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage { + if x != nil { + return x.xxx_hidden_SingularForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage { + if x != nil { + return x.xxx_hidden_SingularImportMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum { + if x != nil { + return x.xxx_hidden_SingularNestedEnum + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum { + if x != nil { + return x.xxx_hidden_SingularForeignEnum + } + return ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) GetSingularImportEnum() ImportEnum { + if x != nil { + return x.xxx_hidden_SingularImportEnum + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetOptionalInt32() int32 { + if x != nil { + return x.xxx_hidden_OptionalInt32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalInt64() int64 { + if x != nil { + return x.xxx_hidden_OptionalInt64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint32() uint32 { + if x != nil { + return x.xxx_hidden_OptionalUint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint64() uint64 { + if x != nil { + return x.xxx_hidden_OptionalUint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint32() int32 { + if x != nil { + return x.xxx_hidden_OptionalSint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint64() int64 { + if x != nil { + return x.xxx_hidden_OptionalSint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed32() uint32 { + if x != nil { + return x.xxx_hidden_OptionalFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed64() uint64 { + if x != nil { + return x.xxx_hidden_OptionalFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed32() int32 { + if x != nil { + return x.xxx_hidden_OptionalSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed64() int64 { + if x != nil { + return x.xxx_hidden_OptionalSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFloat() float32 { + if x != nil { + return x.xxx_hidden_OptionalFloat + } + return 0 +} + +func (x *TestAllTypes) GetOptionalDouble() float64 { + if x != nil { + return x.xxx_hidden_OptionalDouble + } + return 0 +} + +func (x *TestAllTypes) GetOptionalBool() bool { + if x != nil { + return x.xxx_hidden_OptionalBool + } + return false +} + +func (x *TestAllTypes) GetOptionalString() string { + if x != nil { + if x.xxx_hidden_OptionalString != nil { + return *x.xxx_hidden_OptionalString + } + return "" + } + return "" +} + +func (x *TestAllTypes) GetOptionalBytes() []byte { + if x != nil { + return x.xxx_hidden_OptionalBytes + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.xxx_hidden_OptionalNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage { + if x != nil { + return x.xxx_hidden_OptionalForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage { + if x != nil { + return x.xxx_hidden_OptionalImportMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[1]), 39) { + return x.xxx_hidden_OptionalNestedEnum + } + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[1]), 40) { + return x.xxx_hidden_OptionalForeignEnum + } + } + return ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[1]), 41) { + return x.xxx_hidden_OptionalImportEnum + } + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetRepeatedInt32() []int32 { + if x != nil { + return x.xxx_hidden_RepeatedInt32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedInt64() []int64 { + if x != nil { + return x.xxx_hidden_RepeatedInt64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint32() []uint32 { + if x != nil { + return x.xxx_hidden_RepeatedUint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint64() []uint64 { + if x != nil { + return x.xxx_hidden_RepeatedUint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint32() []int32 { + if x != nil { + return x.xxx_hidden_RepeatedSint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint64() []int64 { + if x != nil { + return x.xxx_hidden_RepeatedSint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed32() []uint32 { + if x != nil { + return x.xxx_hidden_RepeatedFixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed64() []uint64 { + if x != nil { + return x.xxx_hidden_RepeatedFixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed32() []int32 { + if x != nil { + return x.xxx_hidden_RepeatedSfixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed64() []int64 { + if x != nil { + return x.xxx_hidden_RepeatedSfixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFloat() []float32 { + if x != nil { + return x.xxx_hidden_RepeatedFloat + } + return nil +} + +func (x *TestAllTypes) GetRepeatedDouble() []float64 { + if x != nil { + return x.xxx_hidden_RepeatedDouble + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBool() []bool { + if x != nil { + return x.xxx_hidden_RepeatedBool + } + return nil +} + +func (x *TestAllTypes) GetRepeatedString() []string { + if x != nil { + return x.xxx_hidden_RepeatedString + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBytes() [][]byte { + if x != nil { + return x.xxx_hidden_RepeatedBytes + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage { + if x != nil { + if x.xxx_hidden_RepeatedNestedMessage != nil { + return *x.xxx_hidden_RepeatedNestedMessage + } + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage { + if x != nil { + if x.xxx_hidden_RepeatedForeignMessage != nil { + return *x.xxx_hidden_RepeatedForeignMessage + } + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage { + if x != nil { + if x.xxx_hidden_RepeatedImportmessage != nil { + return *x.xxx_hidden_RepeatedImportmessage + } + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum { + if x != nil { + return x.xxx_hidden_RepeatedNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum { + if x != nil { + return x.xxx_hidden_RepeatedForeignEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum { + if x != nil { + return x.xxx_hidden_RepeatedImportenum + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 { + if x != nil { + return x.xxx_hidden_MapInt32Int32 + } + return nil +} + +func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 { + if x != nil { + return x.xxx_hidden_MapInt64Int64 + } + return nil +} + +func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 { + if x != nil { + return x.xxx_hidden_MapUint32Uint32 + } + return nil +} + +func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 { + if x != nil { + return x.xxx_hidden_MapUint64Uint64 + } + return nil +} + +func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 { + if x != nil { + return x.xxx_hidden_MapSint32Sint32 + } + return nil +} + +func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 { + if x != nil { + return x.xxx_hidden_MapSint64Sint64 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 { + if x != nil { + return x.xxx_hidden_MapFixed32Fixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 { + if x != nil { + return x.xxx_hidden_MapFixed64Fixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 { + if x != nil { + return x.xxx_hidden_MapSfixed32Sfixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 { + if x != nil { + return x.xxx_hidden_MapSfixed64Sfixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 { + if x != nil { + return x.xxx_hidden_MapInt32Float + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 { + if x != nil { + return x.xxx_hidden_MapInt32Double + } + return nil +} + +func (x *TestAllTypes) GetMapBoolBool() map[bool]bool { + if x != nil { + return x.xxx_hidden_MapBoolBool + } + return nil +} + +func (x *TestAllTypes) GetMapStringString() map[string]string { + if x != nil { + return x.xxx_hidden_MapStringString + } + return nil +} + +func (x *TestAllTypes) GetMapStringBytes() map[string][]byte { + if x != nil { + return x.xxx_hidden_MapStringBytes + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage { + if x != nil { + return x.xxx_hidden_MapStringNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum { + if x != nil { + return x.xxx_hidden_MapStringNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetOneofUint32() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok { + return x.OneofUint32 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok { + return x.OneofNestedMessage + } + } + return nil +} + +func (x *TestAllTypes) GetOneofString() string { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok { + return x.OneofString + } + } + return "" +} + +func (x *TestAllTypes) GetOneofBytes() []byte { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok { + return x.OneofBytes + } + } + return nil +} + +func (x *TestAllTypes) GetOneofBool() bool { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok { + return x.OneofBool + } + } + return false +} + +func (x *TestAllTypes) GetOneofUint64() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok { + return x.OneofUint64 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofFloat() float32 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok { + return x.OneofFloat + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofDouble() float64 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok { + return x.OneofDouble + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok { + return x.OneofEnum + } + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) SetSingularInt32(v int32) { + x.xxx_hidden_SingularInt32 = v +} + +func (x *TestAllTypes) SetSingularInt64(v int64) { + x.xxx_hidden_SingularInt64 = v +} + +func (x *TestAllTypes) SetSingularUint32(v uint32) { + x.xxx_hidden_SingularUint32 = v +} + +func (x *TestAllTypes) SetSingularUint64(v uint64) { + x.xxx_hidden_SingularUint64 = v +} + +func (x *TestAllTypes) SetSingularSint32(v int32) { + x.xxx_hidden_SingularSint32 = v +} + +func (x *TestAllTypes) SetSingularSint64(v int64) { + x.xxx_hidden_SingularSint64 = v +} + +func (x *TestAllTypes) SetSingularFixed32(v uint32) { + x.xxx_hidden_SingularFixed32 = v +} + +func (x *TestAllTypes) SetSingularFixed64(v uint64) { + x.xxx_hidden_SingularFixed64 = v +} + +func (x *TestAllTypes) SetSingularSfixed32(v int32) { + x.xxx_hidden_SingularSfixed32 = v +} + +func (x *TestAllTypes) SetSingularSfixed64(v int64) { + x.xxx_hidden_SingularSfixed64 = v +} + +func (x *TestAllTypes) SetSingularFloat(v float32) { + x.xxx_hidden_SingularFloat = v +} + +func (x *TestAllTypes) SetSingularDouble(v float64) { + x.xxx_hidden_SingularDouble = v +} + +func (x *TestAllTypes) SetSingularBool(v bool) { + x.xxx_hidden_SingularBool = v +} + +func (x *TestAllTypes) SetSingularString(v string) { + x.xxx_hidden_SingularString = v +} + +func (x *TestAllTypes) SetSingularBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_SingularBytes = v +} + +func (x *TestAllTypes) SetSingularNestedMessage(v *TestAllTypes_NestedMessage) { + x.xxx_hidden_SingularNestedMessage = v +} + +func (x *TestAllTypes) SetSingularForeignMessage(v *ForeignMessage) { + x.xxx_hidden_SingularForeignMessage = v +} + +func (x *TestAllTypes) SetSingularImportMessage(v *ImportMessage) { + x.xxx_hidden_SingularImportMessage = v +} + +func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) { + x.xxx_hidden_SingularNestedEnum = v +} + +func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) { + x.xxx_hidden_SingularForeignEnum = v +} + +func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) { + x.xxx_hidden_SingularImportEnum = v +} + +func (x *TestAllTypes) SetOptionalInt32(v int32) { + x.xxx_hidden_OptionalInt32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 21, 81) +} + +func (x *TestAllTypes) SetOptionalInt64(v int64) { + x.xxx_hidden_OptionalInt64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 22, 81) +} + +func (x *TestAllTypes) SetOptionalUint32(v uint32) { + x.xxx_hidden_OptionalUint32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 23, 81) +} + +func (x *TestAllTypes) SetOptionalUint64(v uint64) { + x.xxx_hidden_OptionalUint64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 24, 81) +} + +func (x *TestAllTypes) SetOptionalSint32(v int32) { + x.xxx_hidden_OptionalSint32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 25, 81) +} + +func (x *TestAllTypes) SetOptionalSint64(v int64) { + x.xxx_hidden_OptionalSint64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 26, 81) +} + +func (x *TestAllTypes) SetOptionalFixed32(v uint32) { + x.xxx_hidden_OptionalFixed32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 27, 81) +} + +func (x *TestAllTypes) SetOptionalFixed64(v uint64) { + x.xxx_hidden_OptionalFixed64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 28, 81) +} + +func (x *TestAllTypes) SetOptionalSfixed32(v int32) { + x.xxx_hidden_OptionalSfixed32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 29, 81) +} + +func (x *TestAllTypes) SetOptionalSfixed64(v int64) { + x.xxx_hidden_OptionalSfixed64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 30, 81) +} + +func (x *TestAllTypes) SetOptionalFloat(v float32) { + x.xxx_hidden_OptionalFloat = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 31, 81) +} + +func (x *TestAllTypes) SetOptionalDouble(v float64) { + x.xxx_hidden_OptionalDouble = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 32, 81) +} + +func (x *TestAllTypes) SetOptionalBool(v bool) { + x.xxx_hidden_OptionalBool = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 33, 81) +} + +func (x *TestAllTypes) SetOptionalString(v string) { + x.xxx_hidden_OptionalString = &v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 34, 81) +} + +func (x *TestAllTypes) SetOptionalBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_OptionalBytes = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 35, 81) +} + +func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) { + x.xxx_hidden_OptionalNestedMessage = v +} + +func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) { + x.xxx_hidden_OptionalForeignMessage = v +} + +func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) { + x.xxx_hidden_OptionalImportMessage = v +} + +func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) { + x.xxx_hidden_OptionalNestedEnum = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 39, 81) +} + +func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) { + x.xxx_hidden_OptionalForeignEnum = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 40, 81) +} + +func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) { + x.xxx_hidden_OptionalImportEnum = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 41, 81) +} + +func (x *TestAllTypes) SetRepeatedInt32(v []int32) { + x.xxx_hidden_RepeatedInt32 = v +} + +func (x *TestAllTypes) SetRepeatedInt64(v []int64) { + x.xxx_hidden_RepeatedInt64 = v +} + +func (x *TestAllTypes) SetRepeatedUint32(v []uint32) { + x.xxx_hidden_RepeatedUint32 = v +} + +func (x *TestAllTypes) SetRepeatedUint64(v []uint64) { + x.xxx_hidden_RepeatedUint64 = v +} + +func (x *TestAllTypes) SetRepeatedSint32(v []int32) { + x.xxx_hidden_RepeatedSint32 = v +} + +func (x *TestAllTypes) SetRepeatedSint64(v []int64) { + x.xxx_hidden_RepeatedSint64 = v +} + +func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) { + x.xxx_hidden_RepeatedFixed32 = v +} + +func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) { + x.xxx_hidden_RepeatedFixed64 = v +} + +func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) { + x.xxx_hidden_RepeatedSfixed32 = v +} + +func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) { + x.xxx_hidden_RepeatedSfixed64 = v +} + +func (x *TestAllTypes) SetRepeatedFloat(v []float32) { + x.xxx_hidden_RepeatedFloat = v +} + +func (x *TestAllTypes) SetRepeatedDouble(v []float64) { + x.xxx_hidden_RepeatedDouble = v +} + +func (x *TestAllTypes) SetRepeatedBool(v []bool) { + x.xxx_hidden_RepeatedBool = v +} + +func (x *TestAllTypes) SetRepeatedString(v []string) { + x.xxx_hidden_RepeatedString = v +} + +func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) { + x.xxx_hidden_RepeatedBytes = v +} + +func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) { + x.xxx_hidden_RepeatedNestedMessage = &v +} + +func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) { + x.xxx_hidden_RepeatedForeignMessage = &v +} + +func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) { + x.xxx_hidden_RepeatedImportmessage = &v +} + +func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) { + x.xxx_hidden_RepeatedNestedEnum = v +} + +func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) { + x.xxx_hidden_RepeatedForeignEnum = v +} + +func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) { + x.xxx_hidden_RepeatedImportenum = v +} + +func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) { + x.xxx_hidden_MapInt32Int32 = v +} + +func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) { + x.xxx_hidden_MapInt64Int64 = v +} + +func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) { + x.xxx_hidden_MapUint32Uint32 = v +} + +func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) { + x.xxx_hidden_MapUint64Uint64 = v +} + +func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) { + x.xxx_hidden_MapSint32Sint32 = v +} + +func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) { + x.xxx_hidden_MapSint64Sint64 = v +} + +func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) { + x.xxx_hidden_MapFixed32Fixed32 = v +} + +func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) { + x.xxx_hidden_MapFixed64Fixed64 = v +} + +func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) { + x.xxx_hidden_MapSfixed32Sfixed32 = v +} + +func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) { + x.xxx_hidden_MapSfixed64Sfixed64 = v +} + +func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) { + x.xxx_hidden_MapInt32Float = v +} + +func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) { + x.xxx_hidden_MapInt32Double = v +} + +func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) { + x.xxx_hidden_MapBoolBool = v +} + +func (x *TestAllTypes) SetMapStringString(v map[string]string) { + x.xxx_hidden_MapStringString = v +} + +func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) { + x.xxx_hidden_MapStringBytes = v +} + +func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) { + x.xxx_hidden_MapStringNestedMessage = v +} + +func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) { + x.xxx_hidden_MapStringNestedEnum = v +} + +func (x *TestAllTypes) SetOneofUint32(v uint32) { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{v} +} + +func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) { + if v == nil { + x.xxx_hidden_OneofField = nil + return + } + x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{v} +} + +func (x *TestAllTypes) SetOneofString(v string) { + x.xxx_hidden_OneofField = &testAllTypes_OneofString{v} +} + +func (x *TestAllTypes) SetOneofBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{v} +} + +func (x *TestAllTypes) SetOneofBool(v bool) { + x.xxx_hidden_OneofField = &testAllTypes_OneofBool{v} +} + +func (x *TestAllTypes) SetOneofUint64(v uint64) { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{v} +} + +func (x *TestAllTypes) SetOneofFloat(v float32) { + x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{v} +} + +func (x *TestAllTypes) SetOneofDouble(v float64) { + x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{v} +} + +func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) { + x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{v} +} + +func (x *TestAllTypes) HasSingularNestedMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_SingularNestedMessage != nil +} + +func (x *TestAllTypes) HasSingularForeignMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_SingularForeignMessage != nil +} + +func (x *TestAllTypes) HasSingularImportMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_SingularImportMessage != nil +} + +func (x *TestAllTypes) HasOptionalInt32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 21) +} + +func (x *TestAllTypes) HasOptionalInt64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 22) +} + +func (x *TestAllTypes) HasOptionalUint32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 23) +} + +func (x *TestAllTypes) HasOptionalUint64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 24) +} + +func (x *TestAllTypes) HasOptionalSint32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 25) +} + +func (x *TestAllTypes) HasOptionalSint64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 26) +} + +func (x *TestAllTypes) HasOptionalFixed32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 27) +} + +func (x *TestAllTypes) HasOptionalFixed64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 28) +} + +func (x *TestAllTypes) HasOptionalSfixed32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 29) +} + +func (x *TestAllTypes) HasOptionalSfixed64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 30) +} + +func (x *TestAllTypes) HasOptionalFloat() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 31) +} + +func (x *TestAllTypes) HasOptionalDouble() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 32) +} + +func (x *TestAllTypes) HasOptionalBool() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 33) +} + +func (x *TestAllTypes) HasOptionalString() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 34) +} + +func (x *TestAllTypes) HasOptionalBytes() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 35) +} + +func (x *TestAllTypes) HasOptionalNestedMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_OptionalNestedMessage != nil +} + +func (x *TestAllTypes) HasOptionalForeignMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_OptionalForeignMessage != nil +} + +func (x *TestAllTypes) HasOptionalImportMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_OptionalImportMessage != nil +} + +func (x *TestAllTypes) HasOptionalNestedEnum() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 39) +} + +func (x *TestAllTypes) HasOptionalForeignEnum() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 40) +} + +func (x *TestAllTypes) HasOptionalImportEnum() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 41) +} + +func (x *TestAllTypes) HasOneofField() bool { + if x == nil { + return false + } + return x.xxx_hidden_OneofField != nil +} + +func (x *TestAllTypes) HasOneofUint32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32) + return ok +} + +func (x *TestAllTypes) HasOneofNestedMessage() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage) + return ok +} + +func (x *TestAllTypes) HasOneofString() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString) + return ok +} + +func (x *TestAllTypes) HasOneofBytes() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes) + return ok +} + +func (x *TestAllTypes) HasOneofBool() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool) + return ok +} + +func (x *TestAllTypes) HasOneofUint64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64) + return ok +} + +func (x *TestAllTypes) HasOneofFloat() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat) + return ok +} + +func (x *TestAllTypes) HasOneofDouble() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble) + return ok +} + +func (x *TestAllTypes) HasOneofEnum() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum) + return ok +} + +func (x *TestAllTypes) ClearSingularNestedMessage() { + x.xxx_hidden_SingularNestedMessage = nil +} + +func (x *TestAllTypes) ClearSingularForeignMessage() { + x.xxx_hidden_SingularForeignMessage = nil +} + +func (x *TestAllTypes) ClearSingularImportMessage() { + x.xxx_hidden_SingularImportMessage = nil +} + +func (x *TestAllTypes) ClearOptionalInt32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 21) + x.xxx_hidden_OptionalInt32 = 0 +} + +func (x *TestAllTypes) ClearOptionalInt64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 22) + x.xxx_hidden_OptionalInt64 = 0 +} + +func (x *TestAllTypes) ClearOptionalUint32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 23) + x.xxx_hidden_OptionalUint32 = 0 +} + +func (x *TestAllTypes) ClearOptionalUint64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 24) + x.xxx_hidden_OptionalUint64 = 0 +} + +func (x *TestAllTypes) ClearOptionalSint32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 25) + x.xxx_hidden_OptionalSint32 = 0 +} + +func (x *TestAllTypes) ClearOptionalSint64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 26) + x.xxx_hidden_OptionalSint64 = 0 +} + +func (x *TestAllTypes) ClearOptionalFixed32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 27) + x.xxx_hidden_OptionalFixed32 = 0 +} + +func (x *TestAllTypes) ClearOptionalFixed64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 28) + x.xxx_hidden_OptionalFixed64 = 0 +} + +func (x *TestAllTypes) ClearOptionalSfixed32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 29) + x.xxx_hidden_OptionalSfixed32 = 0 +} + +func (x *TestAllTypes) ClearOptionalSfixed64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 30) + x.xxx_hidden_OptionalSfixed64 = 0 +} + +func (x *TestAllTypes) ClearOptionalFloat() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 31) + x.xxx_hidden_OptionalFloat = 0 +} + +func (x *TestAllTypes) ClearOptionalDouble() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 32) + x.xxx_hidden_OptionalDouble = 0 +} + +func (x *TestAllTypes) ClearOptionalBool() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 33) + x.xxx_hidden_OptionalBool = false +} + +func (x *TestAllTypes) ClearOptionalString() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 34) + x.xxx_hidden_OptionalString = nil +} + +func (x *TestAllTypes) ClearOptionalBytes() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 35) + x.xxx_hidden_OptionalBytes = nil +} + +func (x *TestAllTypes) ClearOptionalNestedMessage() { + x.xxx_hidden_OptionalNestedMessage = nil +} + +func (x *TestAllTypes) ClearOptionalForeignMessage() { + x.xxx_hidden_OptionalForeignMessage = nil +} + +func (x *TestAllTypes) ClearOptionalImportMessage() { + x.xxx_hidden_OptionalImportMessage = nil +} + +func (x *TestAllTypes) ClearOptionalNestedEnum() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 39) + x.xxx_hidden_OptionalNestedEnum = TestAllTypes_FOO +} + +func (x *TestAllTypes) ClearOptionalForeignEnum() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 40) + x.xxx_hidden_OptionalForeignEnum = ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) ClearOptionalImportEnum() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41) + x.xxx_hidden_OptionalImportEnum = ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) ClearOneofField() { + x.xxx_hidden_OneofField = nil +} + +func (x *TestAllTypes) ClearOneofUint32() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofNestedMessage() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofString() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofBytes() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofBool() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofUint64() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofFloat() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofDouble() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofEnum() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok { + x.xxx_hidden_OneofField = nil + } +} + +const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0 +const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111 +const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112 +const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113 +const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114 +const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115 +const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116 +const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117 +const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118 +const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119 + +func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField { + if x == nil { + return TestAllTypes_OneofField_not_set_case + } + switch x.xxx_hidden_OneofField.(type) { + case *testAllTypes_OneofUint32: + return TestAllTypes_OneofUint32_case + case *testAllTypes_OneofNestedMessage: + return TestAllTypes_OneofNestedMessage_case + case *testAllTypes_OneofString: + return TestAllTypes_OneofString_case + case *testAllTypes_OneofBytes: + return TestAllTypes_OneofBytes_case + case *testAllTypes_OneofBool: + return TestAllTypes_OneofBool_case + case *testAllTypes_OneofUint64: + return TestAllTypes_OneofUint64_case + case *testAllTypes_OneofFloat: + return TestAllTypes_OneofFloat_case + case *testAllTypes_OneofDouble: + return TestAllTypes_OneofDouble_case + case *testAllTypes_OneofEnum: + return TestAllTypes_OneofEnum_case + default: + return TestAllTypes_OneofField_not_set_case + } +} + +type TestAllTypes_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SingularInt32 int32 + SingularInt64 int64 + SingularUint32 uint32 + SingularUint64 uint64 + SingularSint32 int32 + SingularSint64 int64 + SingularFixed32 uint32 + SingularFixed64 uint64 + SingularSfixed32 int32 + SingularSfixed64 int64 + SingularFloat float32 + SingularDouble float64 + SingularBool bool + SingularString string + SingularBytes []byte + SingularNestedMessage *TestAllTypes_NestedMessage + SingularForeignMessage *ForeignMessage + SingularImportMessage *ImportMessage + SingularNestedEnum TestAllTypes_NestedEnum + SingularForeignEnum ForeignEnum + SingularImportEnum ImportEnum + OptionalInt32 *int32 + OptionalInt64 *int64 + OptionalUint32 *uint32 + OptionalUint64 *uint64 + OptionalSint32 *int32 + OptionalSint64 *int64 + OptionalFixed32 *uint32 + OptionalFixed64 *uint64 + OptionalSfixed32 *int32 + OptionalSfixed64 *int64 + OptionalFloat *float32 + OptionalDouble *float64 + OptionalBool *bool + OptionalString *string + OptionalBytes []byte + OptionalNestedMessage *TestAllTypes_NestedMessage + OptionalForeignMessage *ForeignMessage + OptionalImportMessage *ImportMessage + OptionalNestedEnum *TestAllTypes_NestedEnum + OptionalForeignEnum *ForeignEnum + OptionalImportEnum *ImportEnum + RepeatedInt32 []int32 + RepeatedInt64 []int64 + RepeatedUint32 []uint32 + RepeatedUint64 []uint64 + RepeatedSint32 []int32 + RepeatedSint64 []int64 + RepeatedFixed32 []uint32 + RepeatedFixed64 []uint64 + RepeatedSfixed32 []int32 + RepeatedSfixed64 []int64 + RepeatedFloat []float32 + RepeatedDouble []float64 + RepeatedBool []bool + RepeatedString []string + RepeatedBytes [][]byte + RepeatedNestedMessage []*TestAllTypes_NestedMessage + RepeatedForeignMessage []*ForeignMessage + RepeatedImportmessage []*ImportMessage + RepeatedNestedEnum []TestAllTypes_NestedEnum + RepeatedForeignEnum []ForeignEnum + RepeatedImportenum []ImportEnum + MapInt32Int32 map[int32]int32 + MapInt64Int64 map[int64]int64 + MapUint32Uint32 map[uint32]uint32 + MapUint64Uint64 map[uint64]uint64 + MapSint32Sint32 map[int32]int32 + MapSint64Sint64 map[int64]int64 + MapFixed32Fixed32 map[uint32]uint32 + MapFixed64Fixed64 map[uint64]uint64 + MapSfixed32Sfixed32 map[int32]int32 + MapSfixed64Sfixed64 map[int64]int64 + MapInt32Float map[int32]float32 + MapInt32Double map[int32]float64 + MapBoolBool map[bool]bool + MapStringString map[string]string + MapStringBytes map[string][]byte + MapStringNestedMessage map[string]*TestAllTypes_NestedMessage + MapStringNestedEnum map[string]TestAllTypes_NestedEnum + // Fields of oneof xxx_hidden_OneofField: + OneofUint32 *uint32 + OneofNestedMessage *TestAllTypes_NestedMessage + OneofString *string + OneofBytes []byte + OneofBool *bool + OneofUint64 *uint64 + OneofFloat *float32 + OneofDouble *float64 + OneofEnum *TestAllTypes_NestedEnum + // -- end of xxx_hidden_OneofField +} + +func (b0 TestAllTypes_builder) Build() *TestAllTypes { + m0 := &TestAllTypes{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SingularInt32 = b.SingularInt32 + x.xxx_hidden_SingularInt64 = b.SingularInt64 + x.xxx_hidden_SingularUint32 = b.SingularUint32 + x.xxx_hidden_SingularUint64 = b.SingularUint64 + x.xxx_hidden_SingularSint32 = b.SingularSint32 + x.xxx_hidden_SingularSint64 = b.SingularSint64 + x.xxx_hidden_SingularFixed32 = b.SingularFixed32 + x.xxx_hidden_SingularFixed64 = b.SingularFixed64 + x.xxx_hidden_SingularSfixed32 = b.SingularSfixed32 + x.xxx_hidden_SingularSfixed64 = b.SingularSfixed64 + x.xxx_hidden_SingularFloat = b.SingularFloat + x.xxx_hidden_SingularDouble = b.SingularDouble + x.xxx_hidden_SingularBool = b.SingularBool + x.xxx_hidden_SingularString = b.SingularString + x.xxx_hidden_SingularBytes = b.SingularBytes + x.xxx_hidden_SingularNestedMessage = b.SingularNestedMessage + x.xxx_hidden_SingularForeignMessage = b.SingularForeignMessage + x.xxx_hidden_SingularImportMessage = b.SingularImportMessage + x.xxx_hidden_SingularNestedEnum = b.SingularNestedEnum + x.xxx_hidden_SingularForeignEnum = b.SingularForeignEnum + x.xxx_hidden_SingularImportEnum = b.SingularImportEnum + if b.OptionalInt32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 21, 81) + x.xxx_hidden_OptionalInt32 = *b.OptionalInt32 + } + if b.OptionalInt64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 22, 81) + x.xxx_hidden_OptionalInt64 = *b.OptionalInt64 + } + if b.OptionalUint32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 23, 81) + x.xxx_hidden_OptionalUint32 = *b.OptionalUint32 + } + if b.OptionalUint64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 24, 81) + x.xxx_hidden_OptionalUint64 = *b.OptionalUint64 + } + if b.OptionalSint32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 25, 81) + x.xxx_hidden_OptionalSint32 = *b.OptionalSint32 + } + if b.OptionalSint64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 26, 81) + x.xxx_hidden_OptionalSint64 = *b.OptionalSint64 + } + if b.OptionalFixed32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 27, 81) + x.xxx_hidden_OptionalFixed32 = *b.OptionalFixed32 + } + if b.OptionalFixed64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 28, 81) + x.xxx_hidden_OptionalFixed64 = *b.OptionalFixed64 + } + if b.OptionalSfixed32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 29, 81) + x.xxx_hidden_OptionalSfixed32 = *b.OptionalSfixed32 + } + if b.OptionalSfixed64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 30, 81) + x.xxx_hidden_OptionalSfixed64 = *b.OptionalSfixed64 + } + if b.OptionalFloat != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 31, 81) + x.xxx_hidden_OptionalFloat = *b.OptionalFloat + } + if b.OptionalDouble != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 32, 81) + x.xxx_hidden_OptionalDouble = *b.OptionalDouble + } + if b.OptionalBool != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 33, 81) + x.xxx_hidden_OptionalBool = *b.OptionalBool + } + if b.OptionalString != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 34, 81) + x.xxx_hidden_OptionalString = b.OptionalString + } + if b.OptionalBytes != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 35, 81) + x.xxx_hidden_OptionalBytes = b.OptionalBytes + } + x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage + x.xxx_hidden_OptionalForeignMessage = b.OptionalForeignMessage + x.xxx_hidden_OptionalImportMessage = b.OptionalImportMessage + if b.OptionalNestedEnum != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 39, 81) + x.xxx_hidden_OptionalNestedEnum = *b.OptionalNestedEnum + } + if b.OptionalForeignEnum != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 40, 81) + x.xxx_hidden_OptionalForeignEnum = *b.OptionalForeignEnum + } + if b.OptionalImportEnum != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 41, 81) + x.xxx_hidden_OptionalImportEnum = *b.OptionalImportEnum + } + x.xxx_hidden_RepeatedInt32 = b.RepeatedInt32 + x.xxx_hidden_RepeatedInt64 = b.RepeatedInt64 + x.xxx_hidden_RepeatedUint32 = b.RepeatedUint32 + x.xxx_hidden_RepeatedUint64 = b.RepeatedUint64 + x.xxx_hidden_RepeatedSint32 = b.RepeatedSint32 + x.xxx_hidden_RepeatedSint64 = b.RepeatedSint64 + x.xxx_hidden_RepeatedFixed32 = b.RepeatedFixed32 + x.xxx_hidden_RepeatedFixed64 = b.RepeatedFixed64 + x.xxx_hidden_RepeatedSfixed32 = b.RepeatedSfixed32 + x.xxx_hidden_RepeatedSfixed64 = b.RepeatedSfixed64 + x.xxx_hidden_RepeatedFloat = b.RepeatedFloat + x.xxx_hidden_RepeatedDouble = b.RepeatedDouble + x.xxx_hidden_RepeatedBool = b.RepeatedBool + x.xxx_hidden_RepeatedString = b.RepeatedString + x.xxx_hidden_RepeatedBytes = b.RepeatedBytes + x.xxx_hidden_RepeatedNestedMessage = &b.RepeatedNestedMessage + x.xxx_hidden_RepeatedForeignMessage = &b.RepeatedForeignMessage + x.xxx_hidden_RepeatedImportmessage = &b.RepeatedImportmessage + x.xxx_hidden_RepeatedNestedEnum = b.RepeatedNestedEnum + x.xxx_hidden_RepeatedForeignEnum = b.RepeatedForeignEnum + x.xxx_hidden_RepeatedImportenum = b.RepeatedImportenum + x.xxx_hidden_MapInt32Int32 = b.MapInt32Int32 + x.xxx_hidden_MapInt64Int64 = b.MapInt64Int64 + x.xxx_hidden_MapUint32Uint32 = b.MapUint32Uint32 + x.xxx_hidden_MapUint64Uint64 = b.MapUint64Uint64 + x.xxx_hidden_MapSint32Sint32 = b.MapSint32Sint32 + x.xxx_hidden_MapSint64Sint64 = b.MapSint64Sint64 + x.xxx_hidden_MapFixed32Fixed32 = b.MapFixed32Fixed32 + x.xxx_hidden_MapFixed64Fixed64 = b.MapFixed64Fixed64 + x.xxx_hidden_MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32 + x.xxx_hidden_MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64 + x.xxx_hidden_MapInt32Float = b.MapInt32Float + x.xxx_hidden_MapInt32Double = b.MapInt32Double + x.xxx_hidden_MapBoolBool = b.MapBoolBool + x.xxx_hidden_MapStringString = b.MapStringString + x.xxx_hidden_MapStringBytes = b.MapStringBytes + x.xxx_hidden_MapStringNestedMessage = b.MapStringNestedMessage + x.xxx_hidden_MapStringNestedEnum = b.MapStringNestedEnum + if b.OneofUint32 != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{*b.OneofUint32} + } + if b.OneofNestedMessage != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{b.OneofNestedMessage} + } + if b.OneofString != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofString{*b.OneofString} + } + if b.OneofBytes != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{b.OneofBytes} + } + if b.OneofBool != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofBool{*b.OneofBool} + } + if b.OneofUint64 != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{*b.OneofUint64} + } + if b.OneofFloat != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{*b.OneofFloat} + } + if b.OneofDouble != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{*b.OneofDouble} + } + if b.OneofEnum != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{*b.OneofEnum} + } + return m0 +} + +type case_TestAllTypes_OneofField protoreflect.FieldNumber + +func (x case_TestAllTypes_OneofField) String() string { + md := file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTestAllTypes_OneofField interface { + isTestAllTypes_OneofField() +} + +type testAllTypes_OneofUint32 struct { + OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"` +} + +type testAllTypes_OneofNestedMessage struct { + OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"` +} + +type testAllTypes_OneofString struct { + OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"` +} + +type testAllTypes_OneofBytes struct { + OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"` +} + +type testAllTypes_OneofBool struct { + OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"` +} + +type testAllTypes_OneofUint64 struct { + OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"` +} + +type testAllTypes_OneofFloat struct { + OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"` +} + +type testAllTypes_OneofDouble struct { + OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"` +} + +type testAllTypes_OneofEnum struct { + OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=hybrid.goproto.proto.test3.TestAllTypes_NestedEnum,oneof"` +} + +func (*testAllTypes_OneofUint32) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofString) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofBytes) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofBool) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofUint64) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofFloat) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofDouble) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofEnum) isTestAllTypes_OneofField() {} + +type ForeignMessage struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"` + xxx_hidden_D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ForeignMessage) Reset() { + *x = ForeignMessage{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ForeignMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForeignMessage) ProtoMessage() {} + +func (x *ForeignMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ForeignMessage) GetC() int32 { + if x != nil { + return x.xxx_hidden_C + } + return 0 +} + +func (x *ForeignMessage) GetD() int32 { + if x != nil { + return x.xxx_hidden_D + } + return 0 +} + +func (x *ForeignMessage) SetC(v int32) { + x.xxx_hidden_C = v +} + +func (x *ForeignMessage) SetD(v int32) { + x.xxx_hidden_D = v +} + +type ForeignMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + C int32 + D int32 +} + +func (b0 ForeignMessage_builder) Build() *ForeignMessage { + m0 := &ForeignMessage{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_C = b.C + x.xxx_hidden_D = b.D + return m0 +} + +type TestAllTypes_NestedMessage struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"` + xxx_hidden_Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_NestedMessage) Reset() { + *x = TestAllTypes_NestedMessage{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_NestedMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_NestedMessage) ProtoMessage() {} + +func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TestAllTypes_NestedMessage) GetA() int32 { + if x != nil { + return x.xxx_hidden_A + } + return 0 +} + +func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes { + if x != nil { + return x.xxx_hidden_Corecursive + } + return nil +} + +func (x *TestAllTypes_NestedMessage) SetA(v int32) { + x.xxx_hidden_A = v +} + +func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) { + x.xxx_hidden_Corecursive = v +} + +func (x *TestAllTypes_NestedMessage) HasCorecursive() bool { + if x == nil { + return false + } + return x.xxx_hidden_Corecursive != nil +} + +func (x *TestAllTypes_NestedMessage) ClearCorecursive() { + x.xxx_hidden_Corecursive = nil +} + +type TestAllTypes_NestedMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + A int32 + Corecursive *TestAllTypes +} + +func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage { + m0 := &TestAllTypes_NestedMessage{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_A = b.A + x.xxx_hidden_Corecursive = b.Corecursive + return m0 +} + +var File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto protoreflect.FileDescriptor + +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x68, 0x79, + 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, + 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x3e, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x57, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69, 0x6e, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, + 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x6e, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x64, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x73, + 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x5b, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x58, 0x0a, 0x14, + 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x48, 0x06, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, + 0x48, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, + 0x48, 0x08, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0f, 0x48, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x10, 0x48, 0x0a, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x0c, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x48, 0x10, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, + 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x11, 0x52, 0x16, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x12, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x13, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x15, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, + 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x14, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5d, + 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, + 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, + 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, + 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, + 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, + 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x57, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, + 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63, + 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, + 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, + 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, + 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, + 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, + 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, + 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, + 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, + 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d, + 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, + 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x6d, + 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x7f, + 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x76, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x14, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, 0x79, 0x62, + 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, + 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f, + 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, + 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, + 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x54, + 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, + 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a, + 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x1b, + 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x7b, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x68, + 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f, + 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, + 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b, + 0x0a, 0x19, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, + 0x6e, 0x75, 0x6d, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, + 0x64, 0x2a, 0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, + 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, + 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, + 0x42, 0x41, 0x5a, 0x10, 0x06, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = []any{ + (ForeignEnum)(0), // 0: hybrid.goproto.proto.test3.ForeignEnum + (TestAllTypes_NestedEnum)(0), // 1: hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + (*TestAllTypes)(nil), // 2: hybrid.goproto.proto.test3.TestAllTypes + (*ForeignMessage)(nil), // 3: hybrid.goproto.proto.test3.ForeignMessage + (*TestAllTypes_NestedMessage)(nil), // 4: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + nil, // 5: hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry + nil, // 6: hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry + nil, // 7: hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry + nil, // 8: hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry + nil, // 9: hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry + nil, // 10: hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry + nil, // 11: hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry + nil, // 12: hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry + nil, // 13: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry + nil, // 14: hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry + nil, // 15: hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry + nil, // 16: hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry + nil, // 17: hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry + nil, // 18: hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry + nil, // 19: hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry + nil, // 20: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry + nil, // 21: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry + (*ImportMessage)(nil), // 22: hybrid.goproto.proto.test3.ImportMessage + (ImportEnum)(0), // 23: hybrid.goproto.proto.test3.ImportEnum +} +var file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = []int32{ + 4, // 0: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 1: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage + 22, // 2: hybrid.goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage + 1, // 3: hybrid.goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 4: hybrid.goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum + 23, // 5: hybrid.goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum + 4, // 6: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 7: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage + 22, // 8: hybrid.goproto.proto.test3.TestAllTypes.optional_import_message:type_name -> hybrid.goproto.proto.test3.ImportMessage + 1, // 9: hybrid.goproto.proto.test3.TestAllTypes.optional_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 10: hybrid.goproto.proto.test3.TestAllTypes.optional_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum + 23, // 11: hybrid.goproto.proto.test3.TestAllTypes.optional_import_enum:type_name -> hybrid.goproto.proto.test3.ImportEnum + 4, // 12: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 13: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> hybrid.goproto.proto.test3.ForeignMessage + 22, // 14: hybrid.goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> hybrid.goproto.proto.test3.ImportMessage + 1, // 15: hybrid.goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 16: hybrid.goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> hybrid.goproto.proto.test3.ForeignEnum + 23, // 17: hybrid.goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> hybrid.goproto.proto.test3.ImportEnum + 5, // 18: hybrid.goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry + 6, // 19: hybrid.goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry + 7, // 20: hybrid.goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry + 8, // 21: hybrid.goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry + 9, // 22: hybrid.goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry + 10, // 23: hybrid.goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry + 11, // 24: hybrid.goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry + 12, // 25: hybrid.goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry + 13, // 26: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry + 14, // 27: hybrid.goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry + 15, // 28: hybrid.goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry + 16, // 29: hybrid.goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry + 17, // 30: hybrid.goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry + 18, // 31: hybrid.goproto.proto.test3.TestAllTypes.map_string_string:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringStringEntry + 19, // 32: hybrid.goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringBytesEntry + 20, // 33: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry + 21, // 34: hybrid.goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry + 4, // 35: hybrid.goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 1, // 36: hybrid.goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 2, // 37: hybrid.goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> hybrid.goproto.proto.test3.TestAllTypes + 4, // 38: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedMessage + 1, // 39: hybrid.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> hybrid.goproto.proto.test3.TestAllTypes.NestedEnum + 40, // [40:40] is the sub-list for method output_type + 40, // [40:40] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() } +func file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_init() { + if File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto != nil { + return + } + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes[0].OneofWrappers = []any{ + (*testAllTypes_OneofUint32)(nil), + (*testAllTypes_OneofNestedMessage)(nil), + (*testAllTypes_OneofString)(nil), + (*testAllTypes_OneofBytes)(nil), + (*testAllTypes_OneofBool)(nil), + (*testAllTypes_OneofUint64)(nil), + (*testAllTypes_OneofFloat)(nil), + (*testAllTypes_OneofDouble)(nil), + (*testAllTypes_OneofEnum)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc, + NumEnums: 2, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes, + DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs, + EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_enumTypes, + MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_msgTypes, + }.Build() + File_internal_testprotos_test3_test3_hybrid_test_hybrid_proto = out.File + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_rawDesc = nil + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_goTypes = nil + file_internal_testprotos_test3_test3_hybrid_test_hybrid_proto_depIdxs = nil +} diff --git a/internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go new file mode 100644 index 00000000..b53814c9 --- /dev/null +++ b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.pb.go @@ -0,0 +1,156 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto + +//go:build !protoopaque + +package test3_hybrid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +type ImportEnum int32 + +const ( + ImportEnum_IMPORT_ZERO ImportEnum = 0 +) + +// Enum value maps for ImportEnum. +var ( + ImportEnum_name = map[int32]string{ + 0: "IMPORT_ZERO", + } + ImportEnum_value = map[string]int32{ + "IMPORT_ZERO": 0, + } +) + +func (x ImportEnum) Enum() *ImportEnum { + p := new(ImportEnum) + *p = x + return p +} + +func (x ImportEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ImportEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0].Descriptor() +} + +func (ImportEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0] +} + +func (x ImportEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type ImportMessage struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImportMessage) Reset() { + *x = ImportMessage{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMessage) ProtoMessage() {} + +func (x *ImportMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ImportMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ImportMessage_builder) Build() *ImportMessage { + m0 := &ImportMessage{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto protoreflect.FileDescriptor + +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0x0f, 0x0a, + 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d, + 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x43, 0x5a, + 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = []any{ + (ImportEnum)(0), // 0: hybrid.goproto.proto.test3.ImportEnum + (*ImportMessage)(nil), // 1: hybrid.goproto.proto.test3.ImportMessage +} +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() } +func file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() { + if File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes, + DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs, + EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes, + MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes, + }.Build() + File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto = out.File + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = nil + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = nil + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = nil +} diff --git a/internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto new file mode 100644 index 00000000..aa7ec4dd --- /dev/null +++ b/internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto3"; + +package hybrid.goproto.proto.test3; + +option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_hybrid"; + + +message ImportMessage {} + +enum ImportEnum { + IMPORT_ZERO = 0; +} \ No newline at end of file diff --git a/internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go b/internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go new file mode 100644 index 00000000..f05bddb3 --- /dev/null +++ b/internal/testprotos/test3/test3_hybrid/test_import.hybrid_protoopaque.pb.go @@ -0,0 +1,156 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/test3/test3_hybrid/test_import.hybrid.proto + +//go:build protoopaque + +package test3_hybrid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +type ImportEnum int32 + +const ( + ImportEnum_IMPORT_ZERO ImportEnum = 0 +) + +// Enum value maps for ImportEnum. +var ( + ImportEnum_name = map[int32]string{ + 0: "IMPORT_ZERO", + } + ImportEnum_value = map[string]int32{ + "IMPORT_ZERO": 0, + } +) + +func (x ImportEnum) Enum() *ImportEnum { + p := new(ImportEnum) + *p = x + return p +} + +func (x ImportEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ImportEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0].Descriptor() +} + +func (ImportEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes[0] +} + +func (x ImportEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type ImportMessage struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImportMessage) Reset() { + *x = ImportMessage{} + mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMessage) ProtoMessage() {} + +func (x *ImportMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ImportMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ImportMessage_builder) Build() *ImportMessage { + m0 := &ImportMessage{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto protoreflect.FileDescriptor + +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1a, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0x0f, 0x0a, + 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d, + 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x43, 0x5a, + 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x68, 0x79, 0x62, 0x72, + 0x69, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = []any{ + (ImportEnum)(0), // 0: hybrid.goproto.proto.test3.ImportEnum + (*ImportMessage)(nil), // 1: hybrid.goproto.proto.test3.ImportMessage +} +var file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() } +func file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_init() { + if File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes, + DependencyIndexes: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs, + EnumInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_enumTypes, + MessageInfos: file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_msgTypes, + }.Build() + File_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto = out.File + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_rawDesc = nil + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_goTypes = nil + file_internal_testprotos_test3_test3_hybrid_test_import_hybrid_proto_depIdxs = nil +} diff --git a/internal/testprotos/test3/test3_opaque/test.opaque.pb.go b/internal/testprotos/test3/test3_opaque/test.opaque.pb.go new file mode 100644 index 00000000..f51c61a1 --- /dev/null +++ b/internal/testprotos/test3/test3_opaque/test.opaque.pb.go @@ -0,0 +1,2849 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/test3/test3_opaque/test.opaque.proto + +package test3_opaque + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +type ForeignEnum int32 + +const ( + ForeignEnum_FOREIGN_ZERO ForeignEnum = 0 + ForeignEnum_FOREIGN_FOO ForeignEnum = 4 + ForeignEnum_FOREIGN_BAR ForeignEnum = 5 + ForeignEnum_FOREIGN_BAZ ForeignEnum = 6 +) + +// Enum value maps for ForeignEnum. +var ( + ForeignEnum_name = map[int32]string{ + 0: "FOREIGN_ZERO", + 4: "FOREIGN_FOO", + 5: "FOREIGN_BAR", + 6: "FOREIGN_BAZ", + } + ForeignEnum_value = map[string]int32{ + "FOREIGN_ZERO": 0, + "FOREIGN_FOO": 4, + "FOREIGN_BAR": 5, + "FOREIGN_BAZ": 6, + } +) + +func (x ForeignEnum) Enum() *ForeignEnum { + p := new(ForeignEnum) + *p = x + return p +} + +func (x ForeignEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[0].Descriptor() +} + +func (ForeignEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[0] +} + +func (x ForeignEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type TestAllTypes_NestedEnum int32 + +const ( + TestAllTypes_FOO TestAllTypes_NestedEnum = 0 + TestAllTypes_BAR TestAllTypes_NestedEnum = 1 + TestAllTypes_BAZ TestAllTypes_NestedEnum = 2 + TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative. +) + +// Enum value maps for TestAllTypes_NestedEnum. +var ( + TestAllTypes_NestedEnum_name = map[int32]string{ + 0: "FOO", + 1: "BAR", + 2: "BAZ", + -1: "NEG", + } + TestAllTypes_NestedEnum_value = map[string]int32{ + "FOO": 0, + "BAR": 1, + "BAZ": 2, + "NEG": -1, + } +) + +func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum { + p := new(TestAllTypes_NestedEnum) + *p = x + return p +} + +func (x TestAllTypes_NestedEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[1].Descriptor() +} + +func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes[1] +} + +func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type TestAllTypes struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_SingularInt32 int32 `protobuf:"varint,81,opt,name=singular_int32,json=singularInt32,proto3" json:"singular_int32,omitempty"` + xxx_hidden_SingularInt64 int64 `protobuf:"varint,82,opt,name=singular_int64,json=singularInt64,proto3" json:"singular_int64,omitempty"` + xxx_hidden_SingularUint32 uint32 `protobuf:"varint,83,opt,name=singular_uint32,json=singularUint32,proto3" json:"singular_uint32,omitempty"` + xxx_hidden_SingularUint64 uint64 `protobuf:"varint,84,opt,name=singular_uint64,json=singularUint64,proto3" json:"singular_uint64,omitempty"` + xxx_hidden_SingularSint32 int32 `protobuf:"zigzag32,85,opt,name=singular_sint32,json=singularSint32,proto3" json:"singular_sint32,omitempty"` + xxx_hidden_SingularSint64 int64 `protobuf:"zigzag64,86,opt,name=singular_sint64,json=singularSint64,proto3" json:"singular_sint64,omitempty"` + xxx_hidden_SingularFixed32 uint32 `protobuf:"fixed32,87,opt,name=singular_fixed32,json=singularFixed32,proto3" json:"singular_fixed32,omitempty"` + xxx_hidden_SingularFixed64 uint64 `protobuf:"fixed64,88,opt,name=singular_fixed64,json=singularFixed64,proto3" json:"singular_fixed64,omitempty"` + xxx_hidden_SingularSfixed32 int32 `protobuf:"fixed32,89,opt,name=singular_sfixed32,json=singularSfixed32,proto3" json:"singular_sfixed32,omitempty"` + xxx_hidden_SingularSfixed64 int64 `protobuf:"fixed64,90,opt,name=singular_sfixed64,json=singularSfixed64,proto3" json:"singular_sfixed64,omitempty"` + xxx_hidden_SingularFloat float32 `protobuf:"fixed32,91,opt,name=singular_float,json=singularFloat,proto3" json:"singular_float,omitempty"` + xxx_hidden_SingularDouble float64 `protobuf:"fixed64,92,opt,name=singular_double,json=singularDouble,proto3" json:"singular_double,omitempty"` + xxx_hidden_SingularBool bool `protobuf:"varint,93,opt,name=singular_bool,json=singularBool,proto3" json:"singular_bool,omitempty"` + xxx_hidden_SingularString string `protobuf:"bytes,94,opt,name=singular_string,json=singularString,proto3" json:"singular_string,omitempty"` + xxx_hidden_SingularBytes []byte `protobuf:"bytes,95,opt,name=singular_bytes,json=singularBytes,proto3" json:"singular_bytes,omitempty"` + xxx_hidden_SingularNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,98,opt,name=singular_nested_message,json=singularNestedMessage,proto3" json:"singular_nested_message,omitempty"` + xxx_hidden_SingularForeignMessage *ForeignMessage `protobuf:"bytes,99,opt,name=singular_foreign_message,json=singularForeignMessage,proto3" json:"singular_foreign_message,omitempty"` + xxx_hidden_SingularImportMessage *ImportMessage `protobuf:"bytes,100,opt,name=singular_import_message,json=singularImportMessage,proto3" json:"singular_import_message,omitempty"` + xxx_hidden_SingularNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,101,opt,name=singular_nested_enum,json=singularNestedEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum" json:"singular_nested_enum,omitempty"` + xxx_hidden_SingularForeignEnum ForeignEnum `protobuf:"varint,102,opt,name=singular_foreign_enum,json=singularForeignEnum,proto3,enum=opaque.goproto.proto.test3.ForeignEnum" json:"singular_foreign_enum,omitempty"` + xxx_hidden_SingularImportEnum ImportEnum `protobuf:"varint,103,opt,name=singular_import_enum,json=singularImportEnum,proto3,enum=opaque.goproto.proto.test3.ImportEnum" json:"singular_import_enum,omitempty"` + xxx_hidden_OptionalInt32 int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32,proto3,oneof" json:"optional_int32,omitempty"` + xxx_hidden_OptionalInt64 int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64,proto3,oneof" json:"optional_int64,omitempty"` + xxx_hidden_OptionalUint32 uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32,proto3,oneof" json:"optional_uint32,omitempty"` + xxx_hidden_OptionalUint64 uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64,proto3,oneof" json:"optional_uint64,omitempty"` + xxx_hidden_OptionalSint32 int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32,proto3,oneof" json:"optional_sint32,omitempty"` + xxx_hidden_OptionalSint64 int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64,proto3,oneof" json:"optional_sint64,omitempty"` + xxx_hidden_OptionalFixed32 uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32,proto3,oneof" json:"optional_fixed32,omitempty"` + xxx_hidden_OptionalFixed64 uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64,proto3,oneof" json:"optional_fixed64,omitempty"` + xxx_hidden_OptionalSfixed32 int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32,proto3,oneof" json:"optional_sfixed32,omitempty"` + xxx_hidden_OptionalSfixed64 int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64,proto3,oneof" json:"optional_sfixed64,omitempty"` + xxx_hidden_OptionalFloat float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat,proto3,oneof" json:"optional_float,omitempty"` + xxx_hidden_OptionalDouble float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble,proto3,oneof" json:"optional_double,omitempty"` + xxx_hidden_OptionalBool bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool,proto3,oneof" json:"optional_bool,omitempty"` + xxx_hidden_OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString,proto3,oneof" json:"optional_string,omitempty"` + xxx_hidden_OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes,proto3,oneof" json:"optional_bytes,omitempty"` + xxx_hidden_OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage,proto3,oneof" json:"optional_nested_message,omitempty"` + xxx_hidden_OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage,proto3,oneof" json:"optional_foreign_message,omitempty"` + xxx_hidden_OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage,proto3,oneof" json:"optional_import_message,omitempty"` + xxx_hidden_OptionalNestedEnum TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum,oneof" json:"optional_nested_enum,omitempty"` + xxx_hidden_OptionalForeignEnum ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,proto3,enum=opaque.goproto.proto.test3.ForeignEnum,oneof" json:"optional_foreign_enum,omitempty"` + xxx_hidden_OptionalImportEnum ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,proto3,enum=opaque.goproto.proto.test3.ImportEnum,oneof" json:"optional_import_enum,omitempty"` + xxx_hidden_RepeatedInt32 []int32 `protobuf:"varint,31,rep,packed,name=repeated_int32,json=repeatedInt32,proto3" json:"repeated_int32,omitempty"` + xxx_hidden_RepeatedInt64 []int64 `protobuf:"varint,32,rep,packed,name=repeated_int64,json=repeatedInt64,proto3" json:"repeated_int64,omitempty"` + xxx_hidden_RepeatedUint32 []uint32 `protobuf:"varint,33,rep,packed,name=repeated_uint32,json=repeatedUint32,proto3" json:"repeated_uint32,omitempty"` + xxx_hidden_RepeatedUint64 []uint64 `protobuf:"varint,34,rep,packed,name=repeated_uint64,json=repeatedUint64,proto3" json:"repeated_uint64,omitempty"` + xxx_hidden_RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,packed,name=repeated_sint32,json=repeatedSint32,proto3" json:"repeated_sint32,omitempty"` + xxx_hidden_RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,packed,name=repeated_sint64,json=repeatedSint64,proto3" json:"repeated_sint64,omitempty"` + xxx_hidden_RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,packed,name=repeated_fixed32,json=repeatedFixed32,proto3" json:"repeated_fixed32,omitempty"` + xxx_hidden_RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,packed,name=repeated_fixed64,json=repeatedFixed64,proto3" json:"repeated_fixed64,omitempty"` + xxx_hidden_RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,packed,name=repeated_sfixed32,json=repeatedSfixed32,proto3" json:"repeated_sfixed32,omitempty"` + xxx_hidden_RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,packed,name=repeated_sfixed64,json=repeatedSfixed64,proto3" json:"repeated_sfixed64,omitempty"` + xxx_hidden_RepeatedFloat []float32 `protobuf:"fixed32,41,rep,packed,name=repeated_float,json=repeatedFloat,proto3" json:"repeated_float,omitempty"` + xxx_hidden_RepeatedDouble []float64 `protobuf:"fixed64,42,rep,packed,name=repeated_double,json=repeatedDouble,proto3" json:"repeated_double,omitempty"` + xxx_hidden_RepeatedBool []bool `protobuf:"varint,43,rep,packed,name=repeated_bool,json=repeatedBool,proto3" json:"repeated_bool,omitempty"` + xxx_hidden_RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString,proto3" json:"repeated_string,omitempty"` + xxx_hidden_RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes,proto3" json:"repeated_bytes,omitempty"` + xxx_hidden_RepeatedNestedMessage *[]*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage,proto3" json:"repeated_nested_message,omitempty"` + xxx_hidden_RepeatedForeignMessage *[]*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage,proto3" json:"repeated_foreign_message,omitempty"` + xxx_hidden_RepeatedImportmessage *[]*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage,proto3" json:"repeated_importmessage,omitempty"` + xxx_hidden_RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,packed,name=repeated_nested_enum,json=repeatedNestedEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"` + xxx_hidden_RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,packed,name=repeated_foreign_enum,json=repeatedForeignEnum,proto3,enum=opaque.goproto.proto.test3.ForeignEnum" json:"repeated_foreign_enum,omitempty"` + xxx_hidden_RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,packed,name=repeated_importenum,json=repeatedImportenum,proto3,enum=opaque.goproto.proto.test3.ImportEnum" json:"repeated_importenum,omitempty"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"zigzag32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"zigzag64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed32,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"fixed64,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_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" protobuf_val:"varint,2,opt,name=value,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum"` + xxx_hidden_OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [3]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes) Reset() { + *x = TestAllTypes{} + mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes) ProtoMessage() {} + +func (x *TestAllTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TestAllTypes) GetSingularInt32() int32 { + if x != nil { + return x.xxx_hidden_SingularInt32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularInt64() int64 { + if x != nil { + return x.xxx_hidden_SingularInt64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularUint32() uint32 { + if x != nil { + return x.xxx_hidden_SingularUint32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularUint64() uint64 { + if x != nil { + return x.xxx_hidden_SingularUint64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSint32() int32 { + if x != nil { + return x.xxx_hidden_SingularSint32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSint64() int64 { + if x != nil { + return x.xxx_hidden_SingularSint64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFixed32() uint32 { + if x != nil { + return x.xxx_hidden_SingularFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFixed64() uint64 { + if x != nil { + return x.xxx_hidden_SingularFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSfixed32() int32 { + if x != nil { + return x.xxx_hidden_SingularSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetSingularSfixed64() int64 { + if x != nil { + return x.xxx_hidden_SingularSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetSingularFloat() float32 { + if x != nil { + return x.xxx_hidden_SingularFloat + } + return 0 +} + +func (x *TestAllTypes) GetSingularDouble() float64 { + if x != nil { + return x.xxx_hidden_SingularDouble + } + return 0 +} + +func (x *TestAllTypes) GetSingularBool() bool { + if x != nil { + return x.xxx_hidden_SingularBool + } + return false +} + +func (x *TestAllTypes) GetSingularString() string { + if x != nil { + return x.xxx_hidden_SingularString + } + return "" +} + +func (x *TestAllTypes) GetSingularBytes() []byte { + if x != nil { + return x.xxx_hidden_SingularBytes + } + return nil +} + +func (x *TestAllTypes) GetSingularNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.xxx_hidden_SingularNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularForeignMessage() *ForeignMessage { + if x != nil { + return x.xxx_hidden_SingularForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularImportMessage() *ImportMessage { + if x != nil { + return x.xxx_hidden_SingularImportMessage + } + return nil +} + +func (x *TestAllTypes) GetSingularNestedEnum() TestAllTypes_NestedEnum { + if x != nil { + return x.xxx_hidden_SingularNestedEnum + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetSingularForeignEnum() ForeignEnum { + if x != nil { + return x.xxx_hidden_SingularForeignEnum + } + return ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) GetSingularImportEnum() ImportEnum { + if x != nil { + return x.xxx_hidden_SingularImportEnum + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetOptionalInt32() int32 { + if x != nil { + return x.xxx_hidden_OptionalInt32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalInt64() int64 { + if x != nil { + return x.xxx_hidden_OptionalInt64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint32() uint32 { + if x != nil { + return x.xxx_hidden_OptionalUint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint64() uint64 { + if x != nil { + return x.xxx_hidden_OptionalUint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint32() int32 { + if x != nil { + return x.xxx_hidden_OptionalSint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint64() int64 { + if x != nil { + return x.xxx_hidden_OptionalSint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed32() uint32 { + if x != nil { + return x.xxx_hidden_OptionalFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed64() uint64 { + if x != nil { + return x.xxx_hidden_OptionalFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed32() int32 { + if x != nil { + return x.xxx_hidden_OptionalSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed64() int64 { + if x != nil { + return x.xxx_hidden_OptionalSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFloat() float32 { + if x != nil { + return x.xxx_hidden_OptionalFloat + } + return 0 +} + +func (x *TestAllTypes) GetOptionalDouble() float64 { + if x != nil { + return x.xxx_hidden_OptionalDouble + } + return 0 +} + +func (x *TestAllTypes) GetOptionalBool() bool { + if x != nil { + return x.xxx_hidden_OptionalBool + } + return false +} + +func (x *TestAllTypes) GetOptionalString() string { + if x != nil { + if x.xxx_hidden_OptionalString != nil { + return *x.xxx_hidden_OptionalString + } + return "" + } + return "" +} + +func (x *TestAllTypes) GetOptionalBytes() []byte { + if x != nil { + return x.xxx_hidden_OptionalBytes + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.xxx_hidden_OptionalNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage { + if x != nil { + return x.xxx_hidden_OptionalForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage { + if x != nil { + return x.xxx_hidden_OptionalImportMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[1]), 39) { + return x.xxx_hidden_OptionalNestedEnum + } + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[1]), 40) { + return x.xxx_hidden_OptionalForeignEnum + } + } + return ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum { + if x != nil { + if protoimpl.X.Present(&(x.XXX_presence[1]), 41) { + return x.xxx_hidden_OptionalImportEnum + } + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetRepeatedInt32() []int32 { + if x != nil { + return x.xxx_hidden_RepeatedInt32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedInt64() []int64 { + if x != nil { + return x.xxx_hidden_RepeatedInt64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint32() []uint32 { + if x != nil { + return x.xxx_hidden_RepeatedUint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint64() []uint64 { + if x != nil { + return x.xxx_hidden_RepeatedUint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint32() []int32 { + if x != nil { + return x.xxx_hidden_RepeatedSint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint64() []int64 { + if x != nil { + return x.xxx_hidden_RepeatedSint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed32() []uint32 { + if x != nil { + return x.xxx_hidden_RepeatedFixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed64() []uint64 { + if x != nil { + return x.xxx_hidden_RepeatedFixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed32() []int32 { + if x != nil { + return x.xxx_hidden_RepeatedSfixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed64() []int64 { + if x != nil { + return x.xxx_hidden_RepeatedSfixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFloat() []float32 { + if x != nil { + return x.xxx_hidden_RepeatedFloat + } + return nil +} + +func (x *TestAllTypes) GetRepeatedDouble() []float64 { + if x != nil { + return x.xxx_hidden_RepeatedDouble + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBool() []bool { + if x != nil { + return x.xxx_hidden_RepeatedBool + } + return nil +} + +func (x *TestAllTypes) GetRepeatedString() []string { + if x != nil { + return x.xxx_hidden_RepeatedString + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBytes() [][]byte { + if x != nil { + return x.xxx_hidden_RepeatedBytes + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage { + if x != nil { + if x.xxx_hidden_RepeatedNestedMessage != nil { + return *x.xxx_hidden_RepeatedNestedMessage + } + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage { + if x != nil { + if x.xxx_hidden_RepeatedForeignMessage != nil { + return *x.xxx_hidden_RepeatedForeignMessage + } + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage { + if x != nil { + if x.xxx_hidden_RepeatedImportmessage != nil { + return *x.xxx_hidden_RepeatedImportmessage + } + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum { + if x != nil { + return x.xxx_hidden_RepeatedNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum { + if x != nil { + return x.xxx_hidden_RepeatedForeignEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum { + if x != nil { + return x.xxx_hidden_RepeatedImportenum + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 { + if x != nil { + return x.xxx_hidden_MapInt32Int32 + } + return nil +} + +func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 { + if x != nil { + return x.xxx_hidden_MapInt64Int64 + } + return nil +} + +func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 { + if x != nil { + return x.xxx_hidden_MapUint32Uint32 + } + return nil +} + +func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 { + if x != nil { + return x.xxx_hidden_MapUint64Uint64 + } + return nil +} + +func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 { + if x != nil { + return x.xxx_hidden_MapSint32Sint32 + } + return nil +} + +func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 { + if x != nil { + return x.xxx_hidden_MapSint64Sint64 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 { + if x != nil { + return x.xxx_hidden_MapFixed32Fixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 { + if x != nil { + return x.xxx_hidden_MapFixed64Fixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 { + if x != nil { + return x.xxx_hidden_MapSfixed32Sfixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 { + if x != nil { + return x.xxx_hidden_MapSfixed64Sfixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 { + if x != nil { + return x.xxx_hidden_MapInt32Float + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 { + if x != nil { + return x.xxx_hidden_MapInt32Double + } + return nil +} + +func (x *TestAllTypes) GetMapBoolBool() map[bool]bool { + if x != nil { + return x.xxx_hidden_MapBoolBool + } + return nil +} + +func (x *TestAllTypes) GetMapStringString() map[string]string { + if x != nil { + return x.xxx_hidden_MapStringString + } + return nil +} + +func (x *TestAllTypes) GetMapStringBytes() map[string][]byte { + if x != nil { + return x.xxx_hidden_MapStringBytes + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage { + if x != nil { + return x.xxx_hidden_MapStringNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum { + if x != nil { + return x.xxx_hidden_MapStringNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetOneofUint32() uint32 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok { + return x.OneofUint32 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok { + return x.OneofNestedMessage + } + } + return nil +} + +func (x *TestAllTypes) GetOneofString() string { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok { + return x.OneofString + } + } + return "" +} + +func (x *TestAllTypes) GetOneofBytes() []byte { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok { + return x.OneofBytes + } + } + return nil +} + +func (x *TestAllTypes) GetOneofBool() bool { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok { + return x.OneofBool + } + } + return false +} + +func (x *TestAllTypes) GetOneofUint64() uint64 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok { + return x.OneofUint64 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofFloat() float32 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok { + return x.OneofFloat + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofDouble() float64 { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok { + return x.OneofDouble + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum { + if x != nil { + if x, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok { + return x.OneofEnum + } + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) SetSingularInt32(v int32) { + x.xxx_hidden_SingularInt32 = v +} + +func (x *TestAllTypes) SetSingularInt64(v int64) { + x.xxx_hidden_SingularInt64 = v +} + +func (x *TestAllTypes) SetSingularUint32(v uint32) { + x.xxx_hidden_SingularUint32 = v +} + +func (x *TestAllTypes) SetSingularUint64(v uint64) { + x.xxx_hidden_SingularUint64 = v +} + +func (x *TestAllTypes) SetSingularSint32(v int32) { + x.xxx_hidden_SingularSint32 = v +} + +func (x *TestAllTypes) SetSingularSint64(v int64) { + x.xxx_hidden_SingularSint64 = v +} + +func (x *TestAllTypes) SetSingularFixed32(v uint32) { + x.xxx_hidden_SingularFixed32 = v +} + +func (x *TestAllTypes) SetSingularFixed64(v uint64) { + x.xxx_hidden_SingularFixed64 = v +} + +func (x *TestAllTypes) SetSingularSfixed32(v int32) { + x.xxx_hidden_SingularSfixed32 = v +} + +func (x *TestAllTypes) SetSingularSfixed64(v int64) { + x.xxx_hidden_SingularSfixed64 = v +} + +func (x *TestAllTypes) SetSingularFloat(v float32) { + x.xxx_hidden_SingularFloat = v +} + +func (x *TestAllTypes) SetSingularDouble(v float64) { + x.xxx_hidden_SingularDouble = v +} + +func (x *TestAllTypes) SetSingularBool(v bool) { + x.xxx_hidden_SingularBool = v +} + +func (x *TestAllTypes) SetSingularString(v string) { + x.xxx_hidden_SingularString = v +} + +func (x *TestAllTypes) SetSingularBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_SingularBytes = v +} + +func (x *TestAllTypes) SetSingularNestedMessage(v *TestAllTypes_NestedMessage) { + x.xxx_hidden_SingularNestedMessage = v +} + +func (x *TestAllTypes) SetSingularForeignMessage(v *ForeignMessage) { + x.xxx_hidden_SingularForeignMessage = v +} + +func (x *TestAllTypes) SetSingularImportMessage(v *ImportMessage) { + x.xxx_hidden_SingularImportMessage = v +} + +func (x *TestAllTypes) SetSingularNestedEnum(v TestAllTypes_NestedEnum) { + x.xxx_hidden_SingularNestedEnum = v +} + +func (x *TestAllTypes) SetSingularForeignEnum(v ForeignEnum) { + x.xxx_hidden_SingularForeignEnum = v +} + +func (x *TestAllTypes) SetSingularImportEnum(v ImportEnum) { + x.xxx_hidden_SingularImportEnum = v +} + +func (x *TestAllTypes) SetOptionalInt32(v int32) { + x.xxx_hidden_OptionalInt32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 21, 81) +} + +func (x *TestAllTypes) SetOptionalInt64(v int64) { + x.xxx_hidden_OptionalInt64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 22, 81) +} + +func (x *TestAllTypes) SetOptionalUint32(v uint32) { + x.xxx_hidden_OptionalUint32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 23, 81) +} + +func (x *TestAllTypes) SetOptionalUint64(v uint64) { + x.xxx_hidden_OptionalUint64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 24, 81) +} + +func (x *TestAllTypes) SetOptionalSint32(v int32) { + x.xxx_hidden_OptionalSint32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 25, 81) +} + +func (x *TestAllTypes) SetOptionalSint64(v int64) { + x.xxx_hidden_OptionalSint64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 26, 81) +} + +func (x *TestAllTypes) SetOptionalFixed32(v uint32) { + x.xxx_hidden_OptionalFixed32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 27, 81) +} + +func (x *TestAllTypes) SetOptionalFixed64(v uint64) { + x.xxx_hidden_OptionalFixed64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 28, 81) +} + +func (x *TestAllTypes) SetOptionalSfixed32(v int32) { + x.xxx_hidden_OptionalSfixed32 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 29, 81) +} + +func (x *TestAllTypes) SetOptionalSfixed64(v int64) { + x.xxx_hidden_OptionalSfixed64 = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 30, 81) +} + +func (x *TestAllTypes) SetOptionalFloat(v float32) { + x.xxx_hidden_OptionalFloat = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 31, 81) +} + +func (x *TestAllTypes) SetOptionalDouble(v float64) { + x.xxx_hidden_OptionalDouble = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 32, 81) +} + +func (x *TestAllTypes) SetOptionalBool(v bool) { + x.xxx_hidden_OptionalBool = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 33, 81) +} + +func (x *TestAllTypes) SetOptionalString(v string) { + x.xxx_hidden_OptionalString = &v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 34, 81) +} + +func (x *TestAllTypes) SetOptionalBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_OptionalBytes = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 35, 81) +} + +func (x *TestAllTypes) SetOptionalNestedMessage(v *TestAllTypes_NestedMessage) { + x.xxx_hidden_OptionalNestedMessage = v +} + +func (x *TestAllTypes) SetOptionalForeignMessage(v *ForeignMessage) { + x.xxx_hidden_OptionalForeignMessage = v +} + +func (x *TestAllTypes) SetOptionalImportMessage(v *ImportMessage) { + x.xxx_hidden_OptionalImportMessage = v +} + +func (x *TestAllTypes) SetOptionalNestedEnum(v TestAllTypes_NestedEnum) { + x.xxx_hidden_OptionalNestedEnum = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 39, 81) +} + +func (x *TestAllTypes) SetOptionalForeignEnum(v ForeignEnum) { + x.xxx_hidden_OptionalForeignEnum = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 40, 81) +} + +func (x *TestAllTypes) SetOptionalImportEnum(v ImportEnum) { + x.xxx_hidden_OptionalImportEnum = v + protoimpl.X.SetPresent(&(x.XXX_presence[1]), 41, 81) +} + +func (x *TestAllTypes) SetRepeatedInt32(v []int32) { + x.xxx_hidden_RepeatedInt32 = v +} + +func (x *TestAllTypes) SetRepeatedInt64(v []int64) { + x.xxx_hidden_RepeatedInt64 = v +} + +func (x *TestAllTypes) SetRepeatedUint32(v []uint32) { + x.xxx_hidden_RepeatedUint32 = v +} + +func (x *TestAllTypes) SetRepeatedUint64(v []uint64) { + x.xxx_hidden_RepeatedUint64 = v +} + +func (x *TestAllTypes) SetRepeatedSint32(v []int32) { + x.xxx_hidden_RepeatedSint32 = v +} + +func (x *TestAllTypes) SetRepeatedSint64(v []int64) { + x.xxx_hidden_RepeatedSint64 = v +} + +func (x *TestAllTypes) SetRepeatedFixed32(v []uint32) { + x.xxx_hidden_RepeatedFixed32 = v +} + +func (x *TestAllTypes) SetRepeatedFixed64(v []uint64) { + x.xxx_hidden_RepeatedFixed64 = v +} + +func (x *TestAllTypes) SetRepeatedSfixed32(v []int32) { + x.xxx_hidden_RepeatedSfixed32 = v +} + +func (x *TestAllTypes) SetRepeatedSfixed64(v []int64) { + x.xxx_hidden_RepeatedSfixed64 = v +} + +func (x *TestAllTypes) SetRepeatedFloat(v []float32) { + x.xxx_hidden_RepeatedFloat = v +} + +func (x *TestAllTypes) SetRepeatedDouble(v []float64) { + x.xxx_hidden_RepeatedDouble = v +} + +func (x *TestAllTypes) SetRepeatedBool(v []bool) { + x.xxx_hidden_RepeatedBool = v +} + +func (x *TestAllTypes) SetRepeatedString(v []string) { + x.xxx_hidden_RepeatedString = v +} + +func (x *TestAllTypes) SetRepeatedBytes(v [][]byte) { + x.xxx_hidden_RepeatedBytes = v +} + +func (x *TestAllTypes) SetRepeatedNestedMessage(v []*TestAllTypes_NestedMessage) { + x.xxx_hidden_RepeatedNestedMessage = &v +} + +func (x *TestAllTypes) SetRepeatedForeignMessage(v []*ForeignMessage) { + x.xxx_hidden_RepeatedForeignMessage = &v +} + +func (x *TestAllTypes) SetRepeatedImportmessage(v []*ImportMessage) { + x.xxx_hidden_RepeatedImportmessage = &v +} + +func (x *TestAllTypes) SetRepeatedNestedEnum(v []TestAllTypes_NestedEnum) { + x.xxx_hidden_RepeatedNestedEnum = v +} + +func (x *TestAllTypes) SetRepeatedForeignEnum(v []ForeignEnum) { + x.xxx_hidden_RepeatedForeignEnum = v +} + +func (x *TestAllTypes) SetRepeatedImportenum(v []ImportEnum) { + x.xxx_hidden_RepeatedImportenum = v +} + +func (x *TestAllTypes) SetMapInt32Int32(v map[int32]int32) { + x.xxx_hidden_MapInt32Int32 = v +} + +func (x *TestAllTypes) SetMapInt64Int64(v map[int64]int64) { + x.xxx_hidden_MapInt64Int64 = v +} + +func (x *TestAllTypes) SetMapUint32Uint32(v map[uint32]uint32) { + x.xxx_hidden_MapUint32Uint32 = v +} + +func (x *TestAllTypes) SetMapUint64Uint64(v map[uint64]uint64) { + x.xxx_hidden_MapUint64Uint64 = v +} + +func (x *TestAllTypes) SetMapSint32Sint32(v map[int32]int32) { + x.xxx_hidden_MapSint32Sint32 = v +} + +func (x *TestAllTypes) SetMapSint64Sint64(v map[int64]int64) { + x.xxx_hidden_MapSint64Sint64 = v +} + +func (x *TestAllTypes) SetMapFixed32Fixed32(v map[uint32]uint32) { + x.xxx_hidden_MapFixed32Fixed32 = v +} + +func (x *TestAllTypes) SetMapFixed64Fixed64(v map[uint64]uint64) { + x.xxx_hidden_MapFixed64Fixed64 = v +} + +func (x *TestAllTypes) SetMapSfixed32Sfixed32(v map[int32]int32) { + x.xxx_hidden_MapSfixed32Sfixed32 = v +} + +func (x *TestAllTypes) SetMapSfixed64Sfixed64(v map[int64]int64) { + x.xxx_hidden_MapSfixed64Sfixed64 = v +} + +func (x *TestAllTypes) SetMapInt32Float(v map[int32]float32) { + x.xxx_hidden_MapInt32Float = v +} + +func (x *TestAllTypes) SetMapInt32Double(v map[int32]float64) { + x.xxx_hidden_MapInt32Double = v +} + +func (x *TestAllTypes) SetMapBoolBool(v map[bool]bool) { + x.xxx_hidden_MapBoolBool = v +} + +func (x *TestAllTypes) SetMapStringString(v map[string]string) { + x.xxx_hidden_MapStringString = v +} + +func (x *TestAllTypes) SetMapStringBytes(v map[string][]byte) { + x.xxx_hidden_MapStringBytes = v +} + +func (x *TestAllTypes) SetMapStringNestedMessage(v map[string]*TestAllTypes_NestedMessage) { + x.xxx_hidden_MapStringNestedMessage = v +} + +func (x *TestAllTypes) SetMapStringNestedEnum(v map[string]TestAllTypes_NestedEnum) { + x.xxx_hidden_MapStringNestedEnum = v +} + +func (x *TestAllTypes) SetOneofUint32(v uint32) { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{v} +} + +func (x *TestAllTypes) SetOneofNestedMessage(v *TestAllTypes_NestedMessage) { + if v == nil { + x.xxx_hidden_OneofField = nil + return + } + x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{v} +} + +func (x *TestAllTypes) SetOneofString(v string) { + x.xxx_hidden_OneofField = &testAllTypes_OneofString{v} +} + +func (x *TestAllTypes) SetOneofBytes(v []byte) { + if v == nil { + v = []byte{} + } + x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{v} +} + +func (x *TestAllTypes) SetOneofBool(v bool) { + x.xxx_hidden_OneofField = &testAllTypes_OneofBool{v} +} + +func (x *TestAllTypes) SetOneofUint64(v uint64) { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{v} +} + +func (x *TestAllTypes) SetOneofFloat(v float32) { + x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{v} +} + +func (x *TestAllTypes) SetOneofDouble(v float64) { + x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{v} +} + +func (x *TestAllTypes) SetOneofEnum(v TestAllTypes_NestedEnum) { + x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{v} +} + +func (x *TestAllTypes) HasSingularNestedMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_SingularNestedMessage != nil +} + +func (x *TestAllTypes) HasSingularForeignMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_SingularForeignMessage != nil +} + +func (x *TestAllTypes) HasSingularImportMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_SingularImportMessage != nil +} + +func (x *TestAllTypes) HasOptionalInt32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 21) +} + +func (x *TestAllTypes) HasOptionalInt64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 22) +} + +func (x *TestAllTypes) HasOptionalUint32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 23) +} + +func (x *TestAllTypes) HasOptionalUint64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 24) +} + +func (x *TestAllTypes) HasOptionalSint32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 25) +} + +func (x *TestAllTypes) HasOptionalSint64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 26) +} + +func (x *TestAllTypes) HasOptionalFixed32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 27) +} + +func (x *TestAllTypes) HasOptionalFixed64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 28) +} + +func (x *TestAllTypes) HasOptionalSfixed32() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 29) +} + +func (x *TestAllTypes) HasOptionalSfixed64() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 30) +} + +func (x *TestAllTypes) HasOptionalFloat() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 31) +} + +func (x *TestAllTypes) HasOptionalDouble() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 32) +} + +func (x *TestAllTypes) HasOptionalBool() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 33) +} + +func (x *TestAllTypes) HasOptionalString() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 34) +} + +func (x *TestAllTypes) HasOptionalBytes() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 35) +} + +func (x *TestAllTypes) HasOptionalNestedMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_OptionalNestedMessage != nil +} + +func (x *TestAllTypes) HasOptionalForeignMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_OptionalForeignMessage != nil +} + +func (x *TestAllTypes) HasOptionalImportMessage() bool { + if x == nil { + return false + } + return x.xxx_hidden_OptionalImportMessage != nil +} + +func (x *TestAllTypes) HasOptionalNestedEnum() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 39) +} + +func (x *TestAllTypes) HasOptionalForeignEnum() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 40) +} + +func (x *TestAllTypes) HasOptionalImportEnum() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[1]), 41) +} + +func (x *TestAllTypes) HasOneofField() bool { + if x == nil { + return false + } + return x.xxx_hidden_OneofField != nil +} + +func (x *TestAllTypes) HasOneofUint32() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32) + return ok +} + +func (x *TestAllTypes) HasOneofNestedMessage() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage) + return ok +} + +func (x *TestAllTypes) HasOneofString() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString) + return ok +} + +func (x *TestAllTypes) HasOneofBytes() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes) + return ok +} + +func (x *TestAllTypes) HasOneofBool() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool) + return ok +} + +func (x *TestAllTypes) HasOneofUint64() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64) + return ok +} + +func (x *TestAllTypes) HasOneofFloat() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat) + return ok +} + +func (x *TestAllTypes) HasOneofDouble() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble) + return ok +} + +func (x *TestAllTypes) HasOneofEnum() bool { + if x == nil { + return false + } + _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum) + return ok +} + +func (x *TestAllTypes) ClearSingularNestedMessage() { + x.xxx_hidden_SingularNestedMessage = nil +} + +func (x *TestAllTypes) ClearSingularForeignMessage() { + x.xxx_hidden_SingularForeignMessage = nil +} + +func (x *TestAllTypes) ClearSingularImportMessage() { + x.xxx_hidden_SingularImportMessage = nil +} + +func (x *TestAllTypes) ClearOptionalInt32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 21) + x.xxx_hidden_OptionalInt32 = 0 +} + +func (x *TestAllTypes) ClearOptionalInt64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 22) + x.xxx_hidden_OptionalInt64 = 0 +} + +func (x *TestAllTypes) ClearOptionalUint32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 23) + x.xxx_hidden_OptionalUint32 = 0 +} + +func (x *TestAllTypes) ClearOptionalUint64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 24) + x.xxx_hidden_OptionalUint64 = 0 +} + +func (x *TestAllTypes) ClearOptionalSint32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 25) + x.xxx_hidden_OptionalSint32 = 0 +} + +func (x *TestAllTypes) ClearOptionalSint64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 26) + x.xxx_hidden_OptionalSint64 = 0 +} + +func (x *TestAllTypes) ClearOptionalFixed32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 27) + x.xxx_hidden_OptionalFixed32 = 0 +} + +func (x *TestAllTypes) ClearOptionalFixed64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 28) + x.xxx_hidden_OptionalFixed64 = 0 +} + +func (x *TestAllTypes) ClearOptionalSfixed32() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 29) + x.xxx_hidden_OptionalSfixed32 = 0 +} + +func (x *TestAllTypes) ClearOptionalSfixed64() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 30) + x.xxx_hidden_OptionalSfixed64 = 0 +} + +func (x *TestAllTypes) ClearOptionalFloat() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 31) + x.xxx_hidden_OptionalFloat = 0 +} + +func (x *TestAllTypes) ClearOptionalDouble() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 32) + x.xxx_hidden_OptionalDouble = 0 +} + +func (x *TestAllTypes) ClearOptionalBool() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 33) + x.xxx_hidden_OptionalBool = false +} + +func (x *TestAllTypes) ClearOptionalString() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 34) + x.xxx_hidden_OptionalString = nil +} + +func (x *TestAllTypes) ClearOptionalBytes() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 35) + x.xxx_hidden_OptionalBytes = nil +} + +func (x *TestAllTypes) ClearOptionalNestedMessage() { + x.xxx_hidden_OptionalNestedMessage = nil +} + +func (x *TestAllTypes) ClearOptionalForeignMessage() { + x.xxx_hidden_OptionalForeignMessage = nil +} + +func (x *TestAllTypes) ClearOptionalImportMessage() { + x.xxx_hidden_OptionalImportMessage = nil +} + +func (x *TestAllTypes) ClearOptionalNestedEnum() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 39) + x.xxx_hidden_OptionalNestedEnum = TestAllTypes_FOO +} + +func (x *TestAllTypes) ClearOptionalForeignEnum() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 40) + x.xxx_hidden_OptionalForeignEnum = ForeignEnum_FOREIGN_ZERO +} + +func (x *TestAllTypes) ClearOptionalImportEnum() { + protoimpl.X.ClearPresent(&(x.XXX_presence[1]), 41) + x.xxx_hidden_OptionalImportEnum = ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) ClearOneofField() { + x.xxx_hidden_OneofField = nil +} + +func (x *TestAllTypes) ClearOneofUint32() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint32); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofNestedMessage() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofNestedMessage); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofString() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofString); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofBytes() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBytes); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofBool() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofBool); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofUint64() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofUint64); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofFloat() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofFloat); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofDouble() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofDouble); ok { + x.xxx_hidden_OneofField = nil + } +} + +func (x *TestAllTypes) ClearOneofEnum() { + if _, ok := x.xxx_hidden_OneofField.(*testAllTypes_OneofEnum); ok { + x.xxx_hidden_OneofField = nil + } +} + +const TestAllTypes_OneofField_not_set_case case_TestAllTypes_OneofField = 0 +const TestAllTypes_OneofUint32_case case_TestAllTypes_OneofField = 111 +const TestAllTypes_OneofNestedMessage_case case_TestAllTypes_OneofField = 112 +const TestAllTypes_OneofString_case case_TestAllTypes_OneofField = 113 +const TestAllTypes_OneofBytes_case case_TestAllTypes_OneofField = 114 +const TestAllTypes_OneofBool_case case_TestAllTypes_OneofField = 115 +const TestAllTypes_OneofUint64_case case_TestAllTypes_OneofField = 116 +const TestAllTypes_OneofFloat_case case_TestAllTypes_OneofField = 117 +const TestAllTypes_OneofDouble_case case_TestAllTypes_OneofField = 118 +const TestAllTypes_OneofEnum_case case_TestAllTypes_OneofField = 119 + +func (x *TestAllTypes) WhichOneofField() case_TestAllTypes_OneofField { + if x == nil { + return TestAllTypes_OneofField_not_set_case + } + switch x.xxx_hidden_OneofField.(type) { + case *testAllTypes_OneofUint32: + return TestAllTypes_OneofUint32_case + case *testAllTypes_OneofNestedMessage: + return TestAllTypes_OneofNestedMessage_case + case *testAllTypes_OneofString: + return TestAllTypes_OneofString_case + case *testAllTypes_OneofBytes: + return TestAllTypes_OneofBytes_case + case *testAllTypes_OneofBool: + return TestAllTypes_OneofBool_case + case *testAllTypes_OneofUint64: + return TestAllTypes_OneofUint64_case + case *testAllTypes_OneofFloat: + return TestAllTypes_OneofFloat_case + case *testAllTypes_OneofDouble: + return TestAllTypes_OneofDouble_case + case *testAllTypes_OneofEnum: + return TestAllTypes_OneofEnum_case + default: + return TestAllTypes_OneofField_not_set_case + } +} + +type TestAllTypes_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + SingularInt32 int32 + SingularInt64 int64 + SingularUint32 uint32 + SingularUint64 uint64 + SingularSint32 int32 + SingularSint64 int64 + SingularFixed32 uint32 + SingularFixed64 uint64 + SingularSfixed32 int32 + SingularSfixed64 int64 + SingularFloat float32 + SingularDouble float64 + SingularBool bool + SingularString string + SingularBytes []byte + SingularNestedMessage *TestAllTypes_NestedMessage + SingularForeignMessage *ForeignMessage + SingularImportMessage *ImportMessage + SingularNestedEnum TestAllTypes_NestedEnum + SingularForeignEnum ForeignEnum + SingularImportEnum ImportEnum + OptionalInt32 *int32 + OptionalInt64 *int64 + OptionalUint32 *uint32 + OptionalUint64 *uint64 + OptionalSint32 *int32 + OptionalSint64 *int64 + OptionalFixed32 *uint32 + OptionalFixed64 *uint64 + OptionalSfixed32 *int32 + OptionalSfixed64 *int64 + OptionalFloat *float32 + OptionalDouble *float64 + OptionalBool *bool + OptionalString *string + OptionalBytes []byte + OptionalNestedMessage *TestAllTypes_NestedMessage + OptionalForeignMessage *ForeignMessage + OptionalImportMessage *ImportMessage + OptionalNestedEnum *TestAllTypes_NestedEnum + OptionalForeignEnum *ForeignEnum + OptionalImportEnum *ImportEnum + RepeatedInt32 []int32 + RepeatedInt64 []int64 + RepeatedUint32 []uint32 + RepeatedUint64 []uint64 + RepeatedSint32 []int32 + RepeatedSint64 []int64 + RepeatedFixed32 []uint32 + RepeatedFixed64 []uint64 + RepeatedSfixed32 []int32 + RepeatedSfixed64 []int64 + RepeatedFloat []float32 + RepeatedDouble []float64 + RepeatedBool []bool + RepeatedString []string + RepeatedBytes [][]byte + RepeatedNestedMessage []*TestAllTypes_NestedMessage + RepeatedForeignMessage []*ForeignMessage + RepeatedImportmessage []*ImportMessage + RepeatedNestedEnum []TestAllTypes_NestedEnum + RepeatedForeignEnum []ForeignEnum + RepeatedImportenum []ImportEnum + MapInt32Int32 map[int32]int32 + MapInt64Int64 map[int64]int64 + MapUint32Uint32 map[uint32]uint32 + MapUint64Uint64 map[uint64]uint64 + MapSint32Sint32 map[int32]int32 + MapSint64Sint64 map[int64]int64 + MapFixed32Fixed32 map[uint32]uint32 + MapFixed64Fixed64 map[uint64]uint64 + MapSfixed32Sfixed32 map[int32]int32 + MapSfixed64Sfixed64 map[int64]int64 + MapInt32Float map[int32]float32 + MapInt32Double map[int32]float64 + MapBoolBool map[bool]bool + MapStringString map[string]string + MapStringBytes map[string][]byte + MapStringNestedMessage map[string]*TestAllTypes_NestedMessage + MapStringNestedEnum map[string]TestAllTypes_NestedEnum + // Fields of oneof xxx_hidden_OneofField: + OneofUint32 *uint32 + OneofNestedMessage *TestAllTypes_NestedMessage + OneofString *string + OneofBytes []byte + OneofBool *bool + OneofUint64 *uint64 + OneofFloat *float32 + OneofDouble *float64 + OneofEnum *TestAllTypes_NestedEnum + // -- end of xxx_hidden_OneofField +} + +func (b0 TestAllTypes_builder) Build() *TestAllTypes { + m0 := &TestAllTypes{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_SingularInt32 = b.SingularInt32 + x.xxx_hidden_SingularInt64 = b.SingularInt64 + x.xxx_hidden_SingularUint32 = b.SingularUint32 + x.xxx_hidden_SingularUint64 = b.SingularUint64 + x.xxx_hidden_SingularSint32 = b.SingularSint32 + x.xxx_hidden_SingularSint64 = b.SingularSint64 + x.xxx_hidden_SingularFixed32 = b.SingularFixed32 + x.xxx_hidden_SingularFixed64 = b.SingularFixed64 + x.xxx_hidden_SingularSfixed32 = b.SingularSfixed32 + x.xxx_hidden_SingularSfixed64 = b.SingularSfixed64 + x.xxx_hidden_SingularFloat = b.SingularFloat + x.xxx_hidden_SingularDouble = b.SingularDouble + x.xxx_hidden_SingularBool = b.SingularBool + x.xxx_hidden_SingularString = b.SingularString + x.xxx_hidden_SingularBytes = b.SingularBytes + x.xxx_hidden_SingularNestedMessage = b.SingularNestedMessage + x.xxx_hidden_SingularForeignMessage = b.SingularForeignMessage + x.xxx_hidden_SingularImportMessage = b.SingularImportMessage + x.xxx_hidden_SingularNestedEnum = b.SingularNestedEnum + x.xxx_hidden_SingularForeignEnum = b.SingularForeignEnum + x.xxx_hidden_SingularImportEnum = b.SingularImportEnum + if b.OptionalInt32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 21, 81) + x.xxx_hidden_OptionalInt32 = *b.OptionalInt32 + } + if b.OptionalInt64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 22, 81) + x.xxx_hidden_OptionalInt64 = *b.OptionalInt64 + } + if b.OptionalUint32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 23, 81) + x.xxx_hidden_OptionalUint32 = *b.OptionalUint32 + } + if b.OptionalUint64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 24, 81) + x.xxx_hidden_OptionalUint64 = *b.OptionalUint64 + } + if b.OptionalSint32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 25, 81) + x.xxx_hidden_OptionalSint32 = *b.OptionalSint32 + } + if b.OptionalSint64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 26, 81) + x.xxx_hidden_OptionalSint64 = *b.OptionalSint64 + } + if b.OptionalFixed32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 27, 81) + x.xxx_hidden_OptionalFixed32 = *b.OptionalFixed32 + } + if b.OptionalFixed64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 28, 81) + x.xxx_hidden_OptionalFixed64 = *b.OptionalFixed64 + } + if b.OptionalSfixed32 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 29, 81) + x.xxx_hidden_OptionalSfixed32 = *b.OptionalSfixed32 + } + if b.OptionalSfixed64 != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 30, 81) + x.xxx_hidden_OptionalSfixed64 = *b.OptionalSfixed64 + } + if b.OptionalFloat != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 31, 81) + x.xxx_hidden_OptionalFloat = *b.OptionalFloat + } + if b.OptionalDouble != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 32, 81) + x.xxx_hidden_OptionalDouble = *b.OptionalDouble + } + if b.OptionalBool != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 33, 81) + x.xxx_hidden_OptionalBool = *b.OptionalBool + } + if b.OptionalString != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 34, 81) + x.xxx_hidden_OptionalString = b.OptionalString + } + if b.OptionalBytes != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 35, 81) + x.xxx_hidden_OptionalBytes = b.OptionalBytes + } + x.xxx_hidden_OptionalNestedMessage = b.OptionalNestedMessage + x.xxx_hidden_OptionalForeignMessage = b.OptionalForeignMessage + x.xxx_hidden_OptionalImportMessage = b.OptionalImportMessage + if b.OptionalNestedEnum != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 39, 81) + x.xxx_hidden_OptionalNestedEnum = *b.OptionalNestedEnum + } + if b.OptionalForeignEnum != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 40, 81) + x.xxx_hidden_OptionalForeignEnum = *b.OptionalForeignEnum + } + if b.OptionalImportEnum != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[1]), 41, 81) + x.xxx_hidden_OptionalImportEnum = *b.OptionalImportEnum + } + x.xxx_hidden_RepeatedInt32 = b.RepeatedInt32 + x.xxx_hidden_RepeatedInt64 = b.RepeatedInt64 + x.xxx_hidden_RepeatedUint32 = b.RepeatedUint32 + x.xxx_hidden_RepeatedUint64 = b.RepeatedUint64 + x.xxx_hidden_RepeatedSint32 = b.RepeatedSint32 + x.xxx_hidden_RepeatedSint64 = b.RepeatedSint64 + x.xxx_hidden_RepeatedFixed32 = b.RepeatedFixed32 + x.xxx_hidden_RepeatedFixed64 = b.RepeatedFixed64 + x.xxx_hidden_RepeatedSfixed32 = b.RepeatedSfixed32 + x.xxx_hidden_RepeatedSfixed64 = b.RepeatedSfixed64 + x.xxx_hidden_RepeatedFloat = b.RepeatedFloat + x.xxx_hidden_RepeatedDouble = b.RepeatedDouble + x.xxx_hidden_RepeatedBool = b.RepeatedBool + x.xxx_hidden_RepeatedString = b.RepeatedString + x.xxx_hidden_RepeatedBytes = b.RepeatedBytes + x.xxx_hidden_RepeatedNestedMessage = &b.RepeatedNestedMessage + x.xxx_hidden_RepeatedForeignMessage = &b.RepeatedForeignMessage + x.xxx_hidden_RepeatedImportmessage = &b.RepeatedImportmessage + x.xxx_hidden_RepeatedNestedEnum = b.RepeatedNestedEnum + x.xxx_hidden_RepeatedForeignEnum = b.RepeatedForeignEnum + x.xxx_hidden_RepeatedImportenum = b.RepeatedImportenum + x.xxx_hidden_MapInt32Int32 = b.MapInt32Int32 + x.xxx_hidden_MapInt64Int64 = b.MapInt64Int64 + x.xxx_hidden_MapUint32Uint32 = b.MapUint32Uint32 + x.xxx_hidden_MapUint64Uint64 = b.MapUint64Uint64 + x.xxx_hidden_MapSint32Sint32 = b.MapSint32Sint32 + x.xxx_hidden_MapSint64Sint64 = b.MapSint64Sint64 + x.xxx_hidden_MapFixed32Fixed32 = b.MapFixed32Fixed32 + x.xxx_hidden_MapFixed64Fixed64 = b.MapFixed64Fixed64 + x.xxx_hidden_MapSfixed32Sfixed32 = b.MapSfixed32Sfixed32 + x.xxx_hidden_MapSfixed64Sfixed64 = b.MapSfixed64Sfixed64 + x.xxx_hidden_MapInt32Float = b.MapInt32Float + x.xxx_hidden_MapInt32Double = b.MapInt32Double + x.xxx_hidden_MapBoolBool = b.MapBoolBool + x.xxx_hidden_MapStringString = b.MapStringString + x.xxx_hidden_MapStringBytes = b.MapStringBytes + x.xxx_hidden_MapStringNestedMessage = b.MapStringNestedMessage + x.xxx_hidden_MapStringNestedEnum = b.MapStringNestedEnum + if b.OneofUint32 != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint32{*b.OneofUint32} + } + if b.OneofNestedMessage != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofNestedMessage{b.OneofNestedMessage} + } + if b.OneofString != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofString{*b.OneofString} + } + if b.OneofBytes != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofBytes{b.OneofBytes} + } + if b.OneofBool != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofBool{*b.OneofBool} + } + if b.OneofUint64 != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofUint64{*b.OneofUint64} + } + if b.OneofFloat != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofFloat{*b.OneofFloat} + } + if b.OneofDouble != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofDouble{*b.OneofDouble} + } + if b.OneofEnum != nil { + x.xxx_hidden_OneofField = &testAllTypes_OneofEnum{*b.OneofEnum} + } + return m0 +} + +type case_TestAllTypes_OneofField protoreflect.FieldNumber + +func (x case_TestAllTypes_OneofField) String() string { + md := file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0].Descriptor() + if x == 0 { + return "not set" + } + return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x)) +} + +type isTestAllTypes_OneofField interface { + isTestAllTypes_OneofField() +} + +type testAllTypes_OneofUint32 struct { + OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,proto3,oneof"` +} + +type testAllTypes_OneofNestedMessage struct { + OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,proto3,oneof"` +} + +type testAllTypes_OneofString struct { + OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,proto3,oneof"` +} + +type testAllTypes_OneofBytes struct { + OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,proto3,oneof"` +} + +type testAllTypes_OneofBool struct { + OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,proto3,oneof"` +} + +type testAllTypes_OneofUint64 struct { + OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,proto3,oneof"` +} + +type testAllTypes_OneofFloat struct { + OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,proto3,oneof"` +} + +type testAllTypes_OneofDouble struct { + OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,proto3,oneof"` +} + +type testAllTypes_OneofEnum struct { + OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,proto3,enum=opaque.goproto.proto.test3.TestAllTypes_NestedEnum,oneof"` +} + +func (*testAllTypes_OneofUint32) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofString) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofBytes) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofBool) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofUint64) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofFloat) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofDouble) isTestAllTypes_OneofField() {} + +func (*testAllTypes_OneofEnum) isTestAllTypes_OneofField() {} + +type ForeignMessage struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_C int32 `protobuf:"varint,1,opt,name=c,proto3" json:"c,omitempty"` + xxx_hidden_D int32 `protobuf:"varint,2,opt,name=d,proto3" json:"d,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ForeignMessage) Reset() { + *x = ForeignMessage{} + mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ForeignMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForeignMessage) ProtoMessage() {} + +func (x *ForeignMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *ForeignMessage) GetC() int32 { + if x != nil { + return x.xxx_hidden_C + } + return 0 +} + +func (x *ForeignMessage) GetD() int32 { + if x != nil { + return x.xxx_hidden_D + } + return 0 +} + +func (x *ForeignMessage) SetC(v int32) { + x.xxx_hidden_C = v +} + +func (x *ForeignMessage) SetD(v int32) { + x.xxx_hidden_D = v +} + +type ForeignMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + C int32 + D int32 +} + +func (b0 ForeignMessage_builder) Build() *ForeignMessage { + m0 := &ForeignMessage{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_C = b.C + x.xxx_hidden_D = b.D + return m0 +} + +type TestAllTypes_NestedMessage struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_A int32 `protobuf:"varint,1,opt,name=a,proto3" json:"a,omitempty"` + xxx_hidden_Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive,proto3" json:"corecursive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_NestedMessage) Reset() { + *x = TestAllTypes_NestedMessage{} + mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_NestedMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_NestedMessage) ProtoMessage() {} + +func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *TestAllTypes_NestedMessage) GetA() int32 { + if x != nil { + return x.xxx_hidden_A + } + return 0 +} + +func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes { + if x != nil { + return x.xxx_hidden_Corecursive + } + return nil +} + +func (x *TestAllTypes_NestedMessage) SetA(v int32) { + x.xxx_hidden_A = v +} + +func (x *TestAllTypes_NestedMessage) SetCorecursive(v *TestAllTypes) { + x.xxx_hidden_Corecursive = v +} + +func (x *TestAllTypes_NestedMessage) HasCorecursive() bool { + if x == nil { + return false + } + return x.xxx_hidden_Corecursive != nil +} + +func (x *TestAllTypes_NestedMessage) ClearCorecursive() { + x.xxx_hidden_Corecursive = nil +} + +type TestAllTypes_NestedMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + A int32 + Corecursive *TestAllTypes +} + +func (b0 TestAllTypes_NestedMessage_builder) Build() *TestAllTypes_NestedMessage { + m0 := &TestAllTypes_NestedMessage{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_A = b.A + x.xxx_hidden_Corecursive = b.Corecursive + return m0 +} + +var File_internal_testprotos_test3_test3_opaque_test_opaque_proto protoreflect.FileDescriptor + +var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_rawDesc = []byte{ + 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6f, 0x70, + 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x1a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa9, 0x3e, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28, + 0x11, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x57, + 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x73, 0x69, 0x6e, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, + 0x11, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x69, + 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x6f, 0x6f, 0x6c, 0x12, + 0x27, 0x0a, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x6e, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x62, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, + 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x64, 0x0a, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x63, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x73, + 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x61, 0x0a, 0x17, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x52, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, 0x73, 0x69, 0x6e, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x18, 0x65, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, + 0x67, 0x75, 0x6c, 0x61, 0x72, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, + 0x5b, 0x0a, 0x15, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, + 0x72, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x58, 0x0a, 0x14, + 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x61, + 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x12, 0x73, 0x69, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x11, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x12, 0x48, 0x06, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, + 0x48, 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, + 0x48, 0x08, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0f, 0x48, 0x09, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x10, 0x48, 0x0a, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x0c, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x48, 0x10, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, + 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x11, 0x52, 0x16, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x48, 0x12, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x6a, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, + 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x48, 0x13, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x15, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x70, + 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x14, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5d, + 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x15, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, + 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, + 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, + 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, + 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, + 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, + 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, + 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x6e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x64, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, + 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x65, 0x0a, 0x14, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x61, + 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, + 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, + 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x57, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x26, 0x2e, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, + 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x63, + 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, + 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, + 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, + 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x69, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, + 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, + 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, + 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x41, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x75, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x63, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, + 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x5d, 0x0a, 0x0d, + 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, + 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x69, 0x0a, 0x11, 0x6d, + 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x66, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x7f, + 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x76, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x6a, 0x0a, 0x14, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x61, + 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, + 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f, + 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, + 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, + 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48, + 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x54, + 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x45, 0x6e, 0x75, 0x6d, 0x1a, 0x69, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x61, 0x12, 0x4a, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, + 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, + 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a, + 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x81, 0x01, 0x0a, 0x1b, + 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4c, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x7b, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6f, + 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x0a, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f, + 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, + 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1b, + 0x0a, 0x19, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, + 0x6e, 0x75, 0x6d, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, + 0x64, 0x2a, 0x52, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, + 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x5a, 0x45, 0x52, 0x4f, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, + 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, + 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, + 0x42, 0x41, 0x5a, 0x10, 0x06, 0x42, 0x43, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, + 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_goTypes = []any{ + (ForeignEnum)(0), // 0: opaque.goproto.proto.test3.ForeignEnum + (TestAllTypes_NestedEnum)(0), // 1: opaque.goproto.proto.test3.TestAllTypes.NestedEnum + (*TestAllTypes)(nil), // 2: opaque.goproto.proto.test3.TestAllTypes + (*ForeignMessage)(nil), // 3: opaque.goproto.proto.test3.ForeignMessage + (*TestAllTypes_NestedMessage)(nil), // 4: opaque.goproto.proto.test3.TestAllTypes.NestedMessage + nil, // 5: opaque.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry + nil, // 6: opaque.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry + nil, // 7: opaque.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry + nil, // 8: opaque.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry + nil, // 9: opaque.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry + nil, // 10: opaque.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry + nil, // 11: opaque.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry + nil, // 12: opaque.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry + nil, // 13: opaque.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry + nil, // 14: opaque.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry + nil, // 15: opaque.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry + nil, // 16: opaque.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry + nil, // 17: opaque.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry + nil, // 18: opaque.goproto.proto.test3.TestAllTypes.MapStringStringEntry + nil, // 19: opaque.goproto.proto.test3.TestAllTypes.MapStringBytesEntry + nil, // 20: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry + nil, // 21: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry + (*ImportMessage)(nil), // 22: opaque.goproto.proto.test3.ImportMessage + (ImportEnum)(0), // 23: opaque.goproto.proto.test3.ImportEnum +} +var file_internal_testprotos_test3_test3_opaque_test_opaque_proto_depIdxs = []int32{ + 4, // 0: opaque.goproto.proto.test3.TestAllTypes.singular_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 1: opaque.goproto.proto.test3.TestAllTypes.singular_foreign_message:type_name -> opaque.goproto.proto.test3.ForeignMessage + 22, // 2: opaque.goproto.proto.test3.TestAllTypes.singular_import_message:type_name -> opaque.goproto.proto.test3.ImportMessage + 1, // 3: opaque.goproto.proto.test3.TestAllTypes.singular_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 4: opaque.goproto.proto.test3.TestAllTypes.singular_foreign_enum:type_name -> opaque.goproto.proto.test3.ForeignEnum + 23, // 5: opaque.goproto.proto.test3.TestAllTypes.singular_import_enum:type_name -> opaque.goproto.proto.test3.ImportEnum + 4, // 6: opaque.goproto.proto.test3.TestAllTypes.optional_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 7: opaque.goproto.proto.test3.TestAllTypes.optional_foreign_message:type_name -> opaque.goproto.proto.test3.ForeignMessage + 22, // 8: opaque.goproto.proto.test3.TestAllTypes.optional_import_message:type_name -> opaque.goproto.proto.test3.ImportMessage + 1, // 9: opaque.goproto.proto.test3.TestAllTypes.optional_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 10: opaque.goproto.proto.test3.TestAllTypes.optional_foreign_enum:type_name -> opaque.goproto.proto.test3.ForeignEnum + 23, // 11: opaque.goproto.proto.test3.TestAllTypes.optional_import_enum:type_name -> opaque.goproto.proto.test3.ImportEnum + 4, // 12: opaque.goproto.proto.test3.TestAllTypes.repeated_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage + 3, // 13: opaque.goproto.proto.test3.TestAllTypes.repeated_foreign_message:type_name -> opaque.goproto.proto.test3.ForeignMessage + 22, // 14: opaque.goproto.proto.test3.TestAllTypes.repeated_importmessage:type_name -> opaque.goproto.proto.test3.ImportMessage + 1, // 15: opaque.goproto.proto.test3.TestAllTypes.repeated_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum + 0, // 16: opaque.goproto.proto.test3.TestAllTypes.repeated_foreign_enum:type_name -> opaque.goproto.proto.test3.ForeignEnum + 23, // 17: opaque.goproto.proto.test3.TestAllTypes.repeated_importenum:type_name -> opaque.goproto.proto.test3.ImportEnum + 5, // 18: opaque.goproto.proto.test3.TestAllTypes.map_int32_int32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt32Int32Entry + 6, // 19: opaque.goproto.proto.test3.TestAllTypes.map_int64_int64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt64Int64Entry + 7, // 20: opaque.goproto.proto.test3.TestAllTypes.map_uint32_uint32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapUint32Uint32Entry + 8, // 21: opaque.goproto.proto.test3.TestAllTypes.map_uint64_uint64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapUint64Uint64Entry + 9, // 22: opaque.goproto.proto.test3.TestAllTypes.map_sint32_sint32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSint32Sint32Entry + 10, // 23: opaque.goproto.proto.test3.TestAllTypes.map_sint64_sint64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSint64Sint64Entry + 11, // 24: opaque.goproto.proto.test3.TestAllTypes.map_fixed32_fixed32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapFixed32Fixed32Entry + 12, // 25: opaque.goproto.proto.test3.TestAllTypes.map_fixed64_fixed64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapFixed64Fixed64Entry + 13, // 26: opaque.goproto.proto.test3.TestAllTypes.map_sfixed32_sfixed32:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSfixed32Sfixed32Entry + 14, // 27: opaque.goproto.proto.test3.TestAllTypes.map_sfixed64_sfixed64:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapSfixed64Sfixed64Entry + 15, // 28: opaque.goproto.proto.test3.TestAllTypes.map_int32_float:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt32FloatEntry + 16, // 29: opaque.goproto.proto.test3.TestAllTypes.map_int32_double:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapInt32DoubleEntry + 17, // 30: opaque.goproto.proto.test3.TestAllTypes.map_bool_bool:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapBoolBoolEntry + 18, // 31: opaque.goproto.proto.test3.TestAllTypes.map_string_string:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringStringEntry + 19, // 32: opaque.goproto.proto.test3.TestAllTypes.map_string_bytes:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringBytesEntry + 20, // 33: opaque.goproto.proto.test3.TestAllTypes.map_string_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry + 21, // 34: opaque.goproto.proto.test3.TestAllTypes.map_string_nested_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry + 4, // 35: opaque.goproto.proto.test3.TestAllTypes.oneof_nested_message:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage + 1, // 36: opaque.goproto.proto.test3.TestAllTypes.oneof_enum:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum + 2, // 37: opaque.goproto.proto.test3.TestAllTypes.NestedMessage.corecursive:type_name -> opaque.goproto.proto.test3.TestAllTypes + 4, // 38: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedMessage + 1, // 39: opaque.goproto.proto.test3.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> opaque.goproto.proto.test3.TestAllTypes.NestedEnum + 40, // [40:40] is the sub-list for method output_type + 40, // [40:40] is the sub-list for method input_type + 40, // [40:40] is the sub-list for extension type_name + 40, // [40:40] is the sub-list for extension extendee + 0, // [0:40] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_test3_test3_opaque_test_opaque_proto_init() } +func file_internal_testprotos_test3_test3_opaque_test_opaque_proto_init() { + if File_internal_testprotos_test3_test3_opaque_test_opaque_proto != nil { + return + } + file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_init() + file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes[0].OneofWrappers = []any{ + (*testAllTypes_OneofUint32)(nil), + (*testAllTypes_OneofNestedMessage)(nil), + (*testAllTypes_OneofString)(nil), + (*testAllTypes_OneofBytes)(nil), + (*testAllTypes_OneofBool)(nil), + (*testAllTypes_OneofUint64)(nil), + (*testAllTypes_OneofFloat)(nil), + (*testAllTypes_OneofDouble)(nil), + (*testAllTypes_OneofEnum)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_rawDesc, + NumEnums: 2, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_goTypes, + DependencyIndexes: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_depIdxs, + EnumInfos: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_enumTypes, + MessageInfos: file_internal_testprotos_test3_test3_opaque_test_opaque_proto_msgTypes, + }.Build() + File_internal_testprotos_test3_test3_opaque_test_opaque_proto = out.File + file_internal_testprotos_test3_test3_opaque_test_opaque_proto_rawDesc = nil + file_internal_testprotos_test3_test3_opaque_test_opaque_proto_goTypes = nil + file_internal_testprotos_test3_test3_opaque_test_opaque_proto_depIdxs = nil +} diff --git a/internal/testprotos/test3/test3_opaque/test.opaque.proto b/internal/testprotos/test3/test3_opaque/test.opaque.proto new file mode 100644 index 00000000..a6df2532 --- /dev/null +++ b/internal/testprotos/test3/test3_opaque/test.opaque.proto @@ -0,0 +1,134 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto3"; + +package opaque.goproto.proto.test3; + +import "internal/testprotos/test3/test3_opaque/test_import.opaque.proto"; + +option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_opaque"; + + +message TestAllTypes { + message NestedMessage { + int32 a = 1; + TestAllTypes corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + int32 singular_int32 = 81; + int64 singular_int64 = 82; + uint32 singular_uint32 = 83; + uint64 singular_uint64 = 84; + sint32 singular_sint32 = 85; + sint64 singular_sint64 = 86; + fixed32 singular_fixed32 = 87; + fixed64 singular_fixed64 = 88; + sfixed32 singular_sfixed32 = 89; + sfixed64 singular_sfixed64 = 90; + float singular_float = 91; + double singular_double = 92; + bool singular_bool = 93; + string singular_string = 94; + bytes singular_bytes = 95; + NestedMessage singular_nested_message = 98; + ForeignMessage singular_foreign_message = 99; + ImportMessage singular_import_message = 100; + NestedEnum singular_nested_enum = 101; + ForeignEnum singular_foreign_enum = 102; + ImportEnum singular_import_enum = 103; + + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + optional NestedMessage optional_nested_message = 18; + optional ForeignMessage optional_foreign_message = 19; + optional ImportMessage optional_import_message = 20; + optional NestedEnum optional_nested_enum = 21; + optional ForeignEnum optional_foreign_enum = 22; + optional ImportEnum optional_import_enum = 23; + + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated ImportMessage repeated_importmessage = 50; + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + repeated ImportEnum repeated_importenum = 53; + + map map_int32_int32 = 56; + map map_int64_int64 = 57; + map map_uint32_uint32 = 58; + map map_uint64_uint64 = 59; + map map_sint32_sint32 = 60; + map map_sint64_sint64 = 61; + map map_fixed32_fixed32 = 62; + map map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map map_int32_float = 66; + map map_int32_double = 67; + map map_bool_bool = 68; + map map_string_string = 69; + map map_string_bytes = 70; + map map_string_nested_message = 71; + map map_string_nested_enum = 73; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + bool oneof_bool = 115; + uint64 oneof_uint64 = 116; + float oneof_float = 117; + double oneof_double = 118; + NestedEnum oneof_enum = 119; + } +} + +message ForeignMessage { + int32 c = 1; + int32 d = 2; +} + +enum ForeignEnum { + FOREIGN_ZERO = 0; + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; +} \ No newline at end of file diff --git a/internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go b/internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go new file mode 100644 index 00000000..07c94bde --- /dev/null +++ b/internal/testprotos/test3/test3_opaque/test_import.opaque.pb.go @@ -0,0 +1,154 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/test3/test3_opaque/test_import.opaque.proto + +package test3_opaque + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +type ImportEnum int32 + +const ( + ImportEnum_IMPORT_ZERO ImportEnum = 0 +) + +// Enum value maps for ImportEnum. +var ( + ImportEnum_name = map[int32]string{ + 0: "IMPORT_ZERO", + } + ImportEnum_value = map[string]int32{ + "IMPORT_ZERO": 0, + } +) + +func (x ImportEnum) Enum() *ImportEnum { + p := new(ImportEnum) + *p = x + return p +} + +func (x ImportEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ImportEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes[0].Descriptor() +} + +func (ImportEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes[0] +} + +func (x ImportEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +type ImportMessage struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImportMessage) Reset() { + *x = ImportMessage{} + mi := &file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMessage) ProtoMessage() {} + +func (x *ImportMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +type ImportMessage_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + +} + +func (b0 ImportMessage_builder) Build() *ImportMessage { + m0 := &ImportMessage{} + b, x := &b0, m0 + _, _ = b, x + return m0 +} + +var File_internal_testprotos_test3_test3_opaque_test_import_opaque_proto protoreflect.FileDescriptor + +var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_rawDesc = []byte{ + 0x0a, 0x3f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x1a, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x33, 0x22, 0x0f, 0x0a, + 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d, + 0x0a, 0x0a, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, + 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x43, 0x5a, + 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x33, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x33, 0x5f, 0x6f, 0x70, 0x61, 0x71, + 0x75, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_goTypes = []any{ + (ImportEnum)(0), // 0: opaque.goproto.proto.test3.ImportEnum + (*ImportMessage)(nil), // 1: opaque.goproto.proto.test3.ImportMessage +} +var file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_init() } +func file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_init() { + if File_internal_testprotos_test3_test3_opaque_test_import_opaque_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_rawDesc, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_goTypes, + DependencyIndexes: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_depIdxs, + EnumInfos: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_enumTypes, + MessageInfos: file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_msgTypes, + }.Build() + File_internal_testprotos_test3_test3_opaque_test_import_opaque_proto = out.File + file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_rawDesc = nil + file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_goTypes = nil + file_internal_testprotos_test3_test3_opaque_test_import_opaque_proto_depIdxs = nil +} diff --git a/internal/testprotos/test3/test3_opaque/test_import.opaque.proto b/internal/testprotos/test3/test3_opaque/test_import.opaque.proto new file mode 100644 index 00000000..26a10816 --- /dev/null +++ b/internal/testprotos/test3/test3_opaque/test_import.opaque.proto @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto3"; + +package opaque.goproto.proto.test3; + +option go_package = "google.golang.org/protobuf/internal/testprotos/test3/test3_opaque"; + + +message ImportMessage {} + +enum ImportEnum { + IMPORT_ZERO = 0; +} \ No newline at end of file diff --git a/proto/oneof_which_test.go b/proto/oneof_which_test.go index a53ae30d..43108d1c 100644 --- a/proto/oneof_which_test.go +++ b/proto/oneof_which_test.go @@ -8,6 +8,8 @@ import ( "testing" test3openpb "google.golang.org/protobuf/internal/testprotos/test3" + test3hybridpb "google.golang.org/protobuf/internal/testprotos/test3/test3_hybrid" + test3opaquepb "google.golang.org/protobuf/internal/testprotos/test3/test3_opaque" testhybridpb "google.golang.org/protobuf/internal/testprotos/testeditions/testeditions_hybrid" testopaquepb "google.golang.org/protobuf/internal/testprotos/testeditions/testeditions_opaque" "google.golang.org/protobuf/proto" @@ -189,7 +191,7 @@ func TestOpaqueWhich(t *testing.T) { } } -func TestSyntheticOneof(t *testing.T) { +func TestSyntheticOneofOpen(t *testing.T) { msg := test3openpb.TestAllTypes{} md := msg.ProtoReflect().Descriptor() ood := md.Oneofs().ByName("_optional_int32") @@ -208,4 +210,40 @@ func TestSyntheticOneof(t *testing.T) { } } -// TODO(stapelberg): add test variants for the Hybrid API and Opaque API. +func TestSyntheticOneofHybrid(t *testing.T) { + msg := test3hybridpb.TestAllTypes{} + md := msg.ProtoReflect().Descriptor() + ood := md.Oneofs().ByName("_optional_int32") + if ood == nil { + t.Fatal("failed to find oneof _optional_int32") + } + if !ood.IsSynthetic() { + t.Fatal("oneof _optional_int32 should be synthetic") + } + if msg.ProtoReflect().WhichOneof(ood) != nil { + t.Error("oneof _optional_int32 should not have a field set yet") + } + msg.OptionalInt32 = proto.Int32(123) + if msg.ProtoReflect().WhichOneof(ood) == nil { + t.Error("oneof _optional_int32 should have a field set") + } +} + +func TestSyntheticOneofOpaque(t *testing.T) { + msg := test3opaquepb.TestAllTypes{} + md := msg.ProtoReflect().Descriptor() + ood := md.Oneofs().ByName("_optional_int32") + if ood == nil { + t.Fatal("failed to find oneof _optional_int32") + } + if !ood.IsSynthetic() { + t.Fatal("oneof _optional_int32 should be synthetic") + } + if msg.ProtoReflect().WhichOneof(ood) != nil { + t.Error("oneof _optional_int32 should not have a field set yet") + } + msg.SetOptionalInt32(123) + if msg.ProtoReflect().WhichOneof(ood) == nil { + t.Error("oneof _optional_int32 should have a field set") + } +}