build(deps): bump google.golang.org/protobuf from 1.33.0 to 1.34.1
Bumps google.golang.org/protobuf from 1.33.0 to 1.34.1. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -73,7 +73,7 @@ require (
 | 
				
			|||||||
	golang.org/x/sys v0.20.0
 | 
						golang.org/x/sys v0.20.0
 | 
				
			||||||
	google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be
 | 
						google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be
 | 
				
			||||||
	google.golang.org/grpc v1.63.2
 | 
						google.golang.org/grpc v1.63.2
 | 
				
			||||||
	google.golang.org/protobuf v1.33.0
 | 
						google.golang.org/protobuf v1.34.1
 | 
				
			||||||
	k8s.io/apimachinery v0.30.0
 | 
						k8s.io/apimachinery v0.30.0
 | 
				
			||||||
	k8s.io/client-go v0.30.0
 | 
						k8s.io/client-go v0.30.0
 | 
				
			||||||
	k8s.io/component-base v0.30.0
 | 
						k8s.io/component-base v0.30.0
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
									
									
									
									
								
							@@ -471,8 +471,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba
 | 
				
			|||||||
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 | 
					google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 | 
				
			||||||
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 | 
					google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 | 
				
			||||||
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 | 
					google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
 | 
				
			||||||
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
 | 
					google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
 | 
				
			||||||
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 | 
					google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
 | 
				
			||||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 | 
					gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 | 
				
			||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 | 
					gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 | 
				
			||||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 | 
					gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								vendor/google.golang.org/protobuf/compiler/protogen/protogen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/google.golang.org/protobuf/compiler/protogen/protogen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -19,7 +19,7 @@ import (
 | 
				
			|||||||
	"go/printer"
 | 
						"go/printer"
 | 
				
			||||||
	"go/token"
 | 
						"go/token"
 | 
				
			||||||
	"go/types"
 | 
						"go/types"
 | 
				
			||||||
	"io/ioutil"
 | 
						"io"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
	"path"
 | 
						"path"
 | 
				
			||||||
	"path/filepath"
 | 
						"path/filepath"
 | 
				
			||||||
@@ -60,7 +60,7 @@ func run(opts Options, f func(*Plugin) error) error {
 | 
				
			|||||||
	if len(os.Args) > 1 {
 | 
						if len(os.Args) > 1 {
 | 
				
			||||||
		return fmt.Errorf("unknown argument %q (this program should be run by protoc, not directly)", os.Args[1])
 | 
							return fmt.Errorf("unknown argument %q (this program should be run by protoc, not directly)", os.Args[1])
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	in, err := ioutil.ReadAll(os.Stdin)
 | 
						in, err := io.ReadAll(os.Stdin)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -108,6 +108,9 @@ type Plugin struct {
 | 
				
			|||||||
	// google.protobuf.CodeGeneratorResponse.supported_features for details.
 | 
						// google.protobuf.CodeGeneratorResponse.supported_features for details.
 | 
				
			||||||
	SupportedFeatures uint64
 | 
						SupportedFeatures uint64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						SupportedEditionsMinimum descriptorpb.Edition
 | 
				
			||||||
 | 
						SupportedEditionsMaximum descriptorpb.Edition
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fileReg        *protoregistry.Files
 | 
						fileReg        *protoregistry.Files
 | 
				
			||||||
	enumsByName    map[protoreflect.FullName]*Enum
 | 
						enumsByName    map[protoreflect.FullName]*Enum
 | 
				
			||||||
	messagesByName map[protoreflect.FullName]*Message
 | 
						messagesByName map[protoreflect.FullName]*Message
 | 
				
			||||||
@@ -140,7 +143,7 @@ type Options struct {
 | 
				
			|||||||
	//   opts := &protogen.Options{
 | 
						//   opts := &protogen.Options{
 | 
				
			||||||
	//     ParamFunc: flags.Set,
 | 
						//     ParamFunc: flags.Set,
 | 
				
			||||||
	//   }
 | 
						//   }
 | 
				
			||||||
	//   protogen.Run(opts, func(p *protogen.Plugin) error {
 | 
						//   opts.Run(func(p *protogen.Plugin) error {
 | 
				
			||||||
	//     if *value { ... }
 | 
						//     if *value { ... }
 | 
				
			||||||
	//   })
 | 
						//   })
 | 
				
			||||||
	ParamFunc func(name, value string) error
 | 
						ParamFunc func(name, value string) error
 | 
				
			||||||
@@ -396,6 +399,10 @@ func (gen *Plugin) Response() *pluginpb.CodeGeneratorResponse {
 | 
				
			|||||||
	if gen.SupportedFeatures > 0 {
 | 
						if gen.SupportedFeatures > 0 {
 | 
				
			||||||
		resp.SupportedFeatures = proto.Uint64(gen.SupportedFeatures)
 | 
							resp.SupportedFeatures = proto.Uint64(gen.SupportedFeatures)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if gen.SupportedEditionsMinimum != descriptorpb.Edition_EDITION_UNKNOWN && gen.SupportedEditionsMaximum != descriptorpb.Edition_EDITION_UNKNOWN {
 | 
				
			||||||
 | 
							resp.MinimumEdition = proto.Int32(int32(gen.SupportedEditionsMinimum))
 | 
				
			||||||
 | 
							resp.MaximumEdition = proto.Int32(int32(gen.SupportedEditionsMaximum))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return resp
 | 
						return resp
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								vendor/google.golang.org/protobuf/encoding/protojson/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/google.golang.org/protobuf/encoding/protojson/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -25,15 +25,17 @@ const defaultIndent = "  "
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Format formats the message as a multiline string.
 | 
					// Format formats the message as a multiline string.
 | 
				
			||||||
// This function is only intended for human consumption and ignores errors.
 | 
					// This function is only intended for human consumption and ignores errors.
 | 
				
			||||||
// Do not depend on the output being stable. It may change over time across
 | 
					// Do not depend on the output being stable. Its output will change across
 | 
				
			||||||
// different versions of the program.
 | 
					// different builds of your program, even when using the same version of the
 | 
				
			||||||
 | 
					// protobuf module.
 | 
				
			||||||
func Format(m proto.Message) string {
 | 
					func Format(m proto.Message) string {
 | 
				
			||||||
	return MarshalOptions{Multiline: true}.Format(m)
 | 
						return MarshalOptions{Multiline: true}.Format(m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Marshal writes the given [proto.Message] in JSON format using default options.
 | 
					// Marshal writes the given [proto.Message] in JSON format using default options.
 | 
				
			||||||
// Do not depend on the output being stable. It may change over time across
 | 
					// Do not depend on the output being stable. Its output will change across
 | 
				
			||||||
// different versions of the program.
 | 
					// different builds of your program, even when using the same version of the
 | 
				
			||||||
 | 
					// protobuf module.
 | 
				
			||||||
func Marshal(m proto.Message) ([]byte, error) {
 | 
					func Marshal(m proto.Message) ([]byte, error) {
 | 
				
			||||||
	return MarshalOptions{}.Marshal(m)
 | 
						return MarshalOptions{}.Marshal(m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -110,8 +112,9 @@ type MarshalOptions struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Format formats the message as a string.
 | 
					// Format formats the message as a string.
 | 
				
			||||||
// This method is only intended for human consumption and ignores errors.
 | 
					// This method is only intended for human consumption and ignores errors.
 | 
				
			||||||
// Do not depend on the output being stable. It may change over time across
 | 
					// Do not depend on the output being stable. Its output will change across
 | 
				
			||||||
// different versions of the program.
 | 
					// different builds of your program, even when using the same version of the
 | 
				
			||||||
 | 
					// protobuf module.
 | 
				
			||||||
func (o MarshalOptions) Format(m proto.Message) string {
 | 
					func (o MarshalOptions) Format(m proto.Message) string {
 | 
				
			||||||
	if m == nil || !m.ProtoReflect().IsValid() {
 | 
						if m == nil || !m.ProtoReflect().IsValid() {
 | 
				
			||||||
		return "<nil>" // invalid syntax, but okay since this is for debugging
 | 
							return "<nil>" // invalid syntax, but okay since this is for debugging
 | 
				
			||||||
@@ -122,8 +125,9 @@ func (o MarshalOptions) Format(m proto.Message) string {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Marshal marshals the given [proto.Message] in the JSON format using options in
 | 
					// Marshal marshals the given [proto.Message] in the JSON format using options in
 | 
				
			||||||
// MarshalOptions. Do not depend on the output being stable. It may change over
 | 
					// Do not depend on the output being stable. Its output will change across
 | 
				
			||||||
// time across different versions of the program.
 | 
					// different builds of your program, even when using the same version of the
 | 
				
			||||||
 | 
					// protobuf module.
 | 
				
			||||||
func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) {
 | 
					func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) {
 | 
				
			||||||
	return o.marshal(nil, m)
 | 
						return o.marshal(nil, m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								vendor/google.golang.org/protobuf/encoding/prototext/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/google.golang.org/protobuf/encoding/prototext/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -27,15 +27,17 @@ const defaultIndent = "  "
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Format formats the message as a multiline string.
 | 
					// Format formats the message as a multiline string.
 | 
				
			||||||
// This function is only intended for human consumption and ignores errors.
 | 
					// This function is only intended for human consumption and ignores errors.
 | 
				
			||||||
// Do not depend on the output being stable. It may change over time across
 | 
					// Do not depend on the output being stable. Its output will change across
 | 
				
			||||||
// different versions of the program.
 | 
					// different builds of your program, even when using the same version of the
 | 
				
			||||||
 | 
					// protobuf module.
 | 
				
			||||||
func Format(m proto.Message) string {
 | 
					func Format(m proto.Message) string {
 | 
				
			||||||
	return MarshalOptions{Multiline: true}.Format(m)
 | 
						return MarshalOptions{Multiline: true}.Format(m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Marshal writes the given [proto.Message] in textproto format using default
 | 
					// Marshal writes the given [proto.Message] in textproto format using default
 | 
				
			||||||
// options. Do not depend on the output being stable. It may change over time
 | 
					// options. Do not depend on the output being stable. Its output will change
 | 
				
			||||||
// across different versions of the program.
 | 
					// across different builds of your program, even when using the same version of
 | 
				
			||||||
 | 
					// the protobuf module.
 | 
				
			||||||
func Marshal(m proto.Message) ([]byte, error) {
 | 
					func Marshal(m proto.Message) ([]byte, error) {
 | 
				
			||||||
	return MarshalOptions{}.Marshal(m)
 | 
						return MarshalOptions{}.Marshal(m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -84,8 +86,9 @@ type MarshalOptions struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Format formats the message as a string.
 | 
					// Format formats the message as a string.
 | 
				
			||||||
// This method is only intended for human consumption and ignores errors.
 | 
					// This method is only intended for human consumption and ignores errors.
 | 
				
			||||||
// Do not depend on the output being stable. It may change over time across
 | 
					// Do not depend on the output being stable. Its output will change across
 | 
				
			||||||
// different versions of the program.
 | 
					// different builds of your program, even when using the same version of the
 | 
				
			||||||
 | 
					// protobuf module.
 | 
				
			||||||
func (o MarshalOptions) Format(m proto.Message) string {
 | 
					func (o MarshalOptions) Format(m proto.Message) string {
 | 
				
			||||||
	if m == nil || !m.ProtoReflect().IsValid() {
 | 
						if m == nil || !m.ProtoReflect().IsValid() {
 | 
				
			||||||
		return "<nil>" // invalid syntax, but okay since this is for debugging
 | 
							return "<nil>" // invalid syntax, but okay since this is for debugging
 | 
				
			||||||
@@ -98,8 +101,9 @@ func (o MarshalOptions) Format(m proto.Message) string {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Marshal writes the given [proto.Message] in textproto format using options in
 | 
					// Marshal writes the given [proto.Message] in textproto format using options in
 | 
				
			||||||
// MarshalOptions object. Do not depend on the output being stable. It may
 | 
					// MarshalOptions object. Do not depend on the output being stable. Its output
 | 
				
			||||||
// change over time across different versions of the program.
 | 
					// will change across different builds of your program, even when using the
 | 
				
			||||||
 | 
					// same version of the protobuf module.
 | 
				
			||||||
func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) {
 | 
					func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) {
 | 
				
			||||||
	return o.marshal(nil, m)
 | 
						return o.marshal(nil, m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/descfmt/stringer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -252,6 +252,7 @@ func formatDescOpt(t protoreflect.Descriptor, isRoot, allowMulti bool, record fu
 | 
				
			|||||||
				{rv.MethodByName("Values"), "Values"},
 | 
									{rv.MethodByName("Values"), "Values"},
 | 
				
			||||||
				{rv.MethodByName("ReservedNames"), "ReservedNames"},
 | 
									{rv.MethodByName("ReservedNames"), "ReservedNames"},
 | 
				
			||||||
				{rv.MethodByName("ReservedRanges"), "ReservedRanges"},
 | 
									{rv.MethodByName("ReservedRanges"), "ReservedRanges"},
 | 
				
			||||||
 | 
									{rv.MethodByName("IsClosed"), "IsClosed"},
 | 
				
			||||||
			}...)
 | 
								}...)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		case protoreflect.EnumValueDescriptor:
 | 
							case protoreflect.EnumValueDescriptor:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb
									
									
									
										generated
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										13
									
								
								vendor/google.golang.org/protobuf/internal/editionssupport/editions.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								vendor/google.golang.org/protobuf/internal/editionssupport/editions.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					// Copyright 2024 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Package editionssupport defines constants for editions that are supported.
 | 
				
			||||||
 | 
					package editionssupport
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import descriptorpb "google.golang.org/protobuf/types/descriptorpb"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						Minimum = descriptorpb.Edition_EDITION_PROTO2
 | 
				
			||||||
 | 
						Maximum = descriptorpb.Edition_EDITION_2023
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -32,6 +32,7 @@ var byteType = reflect.TypeOf(byte(0))
 | 
				
			|||||||
func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescriptors) protoreflect.FieldDescriptor {
 | 
					func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescriptors) protoreflect.FieldDescriptor {
 | 
				
			||||||
	f := new(filedesc.Field)
 | 
						f := new(filedesc.Field)
 | 
				
			||||||
	f.L0.ParentFile = filedesc.SurrogateProto2
 | 
						f.L0.ParentFile = filedesc.SurrogateProto2
 | 
				
			||||||
 | 
						f.L1.EditionFeatures = f.L0.ParentFile.L1.EditionFeatures
 | 
				
			||||||
	for len(tag) > 0 {
 | 
						for len(tag) > 0 {
 | 
				
			||||||
		i := strings.IndexByte(tag, ',')
 | 
							i := strings.IndexByte(tag, ',')
 | 
				
			||||||
		if i < 0 {
 | 
							if i < 0 {
 | 
				
			||||||
@@ -107,8 +108,7 @@ func Unmarshal(tag string, goType reflect.Type, evs protoreflect.EnumValueDescri
 | 
				
			|||||||
				f.L1.StringName.InitJSON(jsonName)
 | 
									f.L1.StringName.InitJSON(jsonName)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		case s == "packed":
 | 
							case s == "packed":
 | 
				
			||||||
			f.L1.HasPacked = true
 | 
								f.L1.EditionFeatures.IsPacked = true
 | 
				
			||||||
			f.L1.IsPacked = true
 | 
					 | 
				
			||||||
		case strings.HasPrefix(s, "weak="):
 | 
							case strings.HasPrefix(s, "weak="):
 | 
				
			||||||
			f.L1.IsWeak = true
 | 
								f.L1.IsWeak = true
 | 
				
			||||||
			f.L1.Message = filedesc.PlaceholderMessage(protoreflect.FullName(s[len("weak="):]))
 | 
								f.L1.Message = filedesc.PlaceholderMessage(protoreflect.FullName(s[len("weak="):]))
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								vendor/google.golang.org/protobuf/internal/errors/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/google.golang.org/protobuf/internal/errors/errors.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -87,3 +87,18 @@ func InvalidUTF8(name string) error {
 | 
				
			|||||||
func RequiredNotSet(name string) error {
 | 
					func RequiredNotSet(name string) error {
 | 
				
			||||||
	return New("required field %v not set", name)
 | 
						return New("required field %v not set", name)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type SizeMismatchError struct {
 | 
				
			||||||
 | 
						Calculated, Measured int
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (e *SizeMismatchError) Error() string {
 | 
				
			||||||
 | 
						return fmt.Sprintf("size mismatch (see https://github.com/golang/protobuf/issues/1609): calculated=%d, measured=%d", e.Calculated, e.Measured)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func MismatchedSizeCalculation(calculated, measured int) error {
 | 
				
			||||||
 | 
						return &SizeMismatchError{
 | 
				
			||||||
 | 
							Calculated: calculated,
 | 
				
			||||||
 | 
							Measured:   measured,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										70
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,6 +7,7 @@ package filedesc
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	"bytes"
 | 
						"bytes"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
	"sync/atomic"
 | 
						"sync/atomic"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -108,6 +109,9 @@ func (fd *File) ParentFile() protoreflect.FileDescriptor { return fd }
 | 
				
			|||||||
func (fd *File) Parent() protoreflect.Descriptor         { return nil }
 | 
					func (fd *File) Parent() protoreflect.Descriptor         { return nil }
 | 
				
			||||||
func (fd *File) Index() int                              { return 0 }
 | 
					func (fd *File) Index() int                              { return 0 }
 | 
				
			||||||
func (fd *File) Syntax() protoreflect.Syntax             { return fd.L1.Syntax }
 | 
					func (fd *File) Syntax() protoreflect.Syntax             { return fd.L1.Syntax }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Not exported and just used to reconstruct the original FileDescriptor proto
 | 
				
			||||||
 | 
					func (fd *File) Edition() int32                  { return int32(fd.L1.Edition) }
 | 
				
			||||||
func (fd *File) Name() protoreflect.Name         { return fd.L1.Package.Name() }
 | 
					func (fd *File) Name() protoreflect.Name         { return fd.L1.Package.Name() }
 | 
				
			||||||
func (fd *File) FullName() protoreflect.FullName { return fd.L1.Package }
 | 
					func (fd *File) FullName() protoreflect.FullName { return fd.L1.Package }
 | 
				
			||||||
func (fd *File) IsPlaceholder() bool             { return false }
 | 
					func (fd *File) IsPlaceholder() bool             { return false }
 | 
				
			||||||
@@ -202,6 +206,9 @@ func (ed *Enum) lazyInit() *EnumL2 {
 | 
				
			|||||||
	ed.L0.ParentFile.lazyInit() // implicitly initializes L2
 | 
						ed.L0.ParentFile.lazyInit() // implicitly initializes L2
 | 
				
			||||||
	return ed.L2
 | 
						return ed.L2
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					func (ed *Enum) IsClosed() bool {
 | 
				
			||||||
 | 
						return !ed.L1.EditionFeatures.IsOpenEnum
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (ed *EnumValue) Options() protoreflect.ProtoMessage {
 | 
					func (ed *EnumValue) Options() protoreflect.ProtoMessage {
 | 
				
			||||||
	if f := ed.L1.Options; f != nil {
 | 
						if f := ed.L1.Options; f != nil {
 | 
				
			||||||
@@ -251,10 +258,6 @@ type (
 | 
				
			|||||||
		StringName       stringName
 | 
							StringName       stringName
 | 
				
			||||||
		IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto
 | 
							IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto
 | 
				
			||||||
		IsWeak           bool // promoted from google.protobuf.FieldOptions
 | 
							IsWeak           bool // promoted from google.protobuf.FieldOptions
 | 
				
			||||||
		HasPacked        bool // promoted from google.protobuf.FieldOptions
 | 
					 | 
				
			||||||
		IsPacked         bool // promoted from google.protobuf.FieldOptions
 | 
					 | 
				
			||||||
		HasEnforceUTF8   bool // promoted from google.protobuf.FieldOptions
 | 
					 | 
				
			||||||
		EnforceUTF8      bool // promoted from google.protobuf.FieldOptions
 | 
					 | 
				
			||||||
		Default          defaultValue
 | 
							Default          defaultValue
 | 
				
			||||||
		ContainingOneof  protoreflect.OneofDescriptor // must be consistent with Message.Oneofs.Fields
 | 
							ContainingOneof  protoreflect.OneofDescriptor // must be consistent with Message.Oneofs.Fields
 | 
				
			||||||
		Enum             protoreflect.EnumDescriptor
 | 
							Enum             protoreflect.EnumDescriptor
 | 
				
			||||||
@@ -331,8 +334,7 @@ func (fd *Field) HasPresence() bool {
 | 
				
			|||||||
	if fd.L1.Cardinality == protoreflect.Repeated {
 | 
						if fd.L1.Cardinality == protoreflect.Repeated {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	explicitFieldPresence := fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsFieldPresence
 | 
						return fd.IsExtension() || fd.L1.EditionFeatures.IsFieldPresence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil
 | 
				
			||||||
	return fd.Syntax() == protoreflect.Proto2 || explicitFieldPresence || fd.L1.Message != nil || fd.L1.ContainingOneof != nil
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (fd *Field) HasOptionalKeyword() bool {
 | 
					func (fd *Field) HasOptionalKeyword() bool {
 | 
				
			||||||
	return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional
 | 
						return (fd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && fd.L1.Cardinality == protoreflect.Optional && fd.L1.ContainingOneof == nil) || fd.L1.IsProto3Optional
 | 
				
			||||||
@@ -345,14 +347,7 @@ func (fd *Field) IsPacked() bool {
 | 
				
			|||||||
	case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
 | 
						case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
 | 
					 | 
				
			||||||
	return fd.L1.EditionFeatures.IsPacked
 | 
						return fd.L1.EditionFeatures.IsPacked
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3 {
 | 
					 | 
				
			||||||
		// proto3 repeated fields are packed by default.
 | 
					 | 
				
			||||||
		return !fd.L1.HasPacked || fd.L1.IsPacked
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return fd.L1.IsPacked
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (fd *Field) IsExtension() bool { return false }
 | 
					func (fd *Field) IsExtension() bool { return false }
 | 
				
			||||||
func (fd *Field) IsWeak() bool      { return fd.L1.IsWeak }
 | 
					func (fd *Field) IsWeak() bool      { return fd.L1.IsWeak }
 | 
				
			||||||
@@ -399,13 +394,7 @@ func (fd *Field) ProtoType(protoreflect.FieldDescriptor) {}
 | 
				
			|||||||
// WARNING: This method is exempt from the compatibility promise and may be
 | 
					// WARNING: This method is exempt from the compatibility promise and may be
 | 
				
			||||||
// removed in the future without warning.
 | 
					// removed in the future without warning.
 | 
				
			||||||
func (fd *Field) EnforceUTF8() bool {
 | 
					func (fd *Field) EnforceUTF8() bool {
 | 
				
			||||||
	if fd.L0.ParentFile.L1.Syntax == protoreflect.Editions {
 | 
					 | 
				
			||||||
	return fd.L1.EditionFeatures.IsUTF8Validated
 | 
						return fd.L1.EditionFeatures.IsUTF8Validated
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if fd.L1.HasEnforceUTF8 {
 | 
					 | 
				
			||||||
		return fd.L1.EnforceUTF8
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return fd.L0.ParentFile.L1.Syntax == protoreflect.Proto3
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (od *Oneof) IsSynthetic() bool {
 | 
					func (od *Oneof) IsSynthetic() bool {
 | 
				
			||||||
@@ -438,7 +427,6 @@ type (
 | 
				
			|||||||
		Options          func() protoreflect.ProtoMessage
 | 
							Options          func() protoreflect.ProtoMessage
 | 
				
			||||||
		StringName       stringName
 | 
							StringName       stringName
 | 
				
			||||||
		IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto
 | 
							IsProto3Optional bool // promoted from google.protobuf.FieldDescriptorProto
 | 
				
			||||||
		IsPacked         bool // promoted from google.protobuf.FieldOptions
 | 
					 | 
				
			||||||
		Default          defaultValue
 | 
							Default          defaultValue
 | 
				
			||||||
		Enum             protoreflect.EnumDescriptor
 | 
							Enum             protoreflect.EnumDescriptor
 | 
				
			||||||
		Message          protoreflect.MessageDescriptor
 | 
							Message          protoreflect.MessageDescriptor
 | 
				
			||||||
@@ -461,7 +449,16 @@ func (xd *Extension) HasPresence() bool                     { return xd.L1.Cardi
 | 
				
			|||||||
func (xd *Extension) HasOptionalKeyword() bool {
 | 
					func (xd *Extension) HasOptionalKeyword() bool {
 | 
				
			||||||
	return (xd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && xd.L1.Cardinality == protoreflect.Optional) || xd.lazyInit().IsProto3Optional
 | 
						return (xd.L0.ParentFile.L1.Syntax == protoreflect.Proto2 && xd.L1.Cardinality == protoreflect.Optional) || xd.lazyInit().IsProto3Optional
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (xd *Extension) IsPacked() bool                         { return xd.lazyInit().IsPacked }
 | 
					func (xd *Extension) IsPacked() bool {
 | 
				
			||||||
 | 
						if xd.L1.Cardinality != protoreflect.Repeated {
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						switch xd.L1.Kind {
 | 
				
			||||||
 | 
						case protoreflect.StringKind, protoreflect.BytesKind, protoreflect.MessageKind, protoreflect.GroupKind:
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return xd.L1.EditionFeatures.IsPacked
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
func (xd *Extension) IsExtension() bool                      { return true }
 | 
					func (xd *Extension) IsExtension() bool                      { return true }
 | 
				
			||||||
func (xd *Extension) IsWeak() bool                           { return false }
 | 
					func (xd *Extension) IsWeak() bool                           { return false }
 | 
				
			||||||
func (xd *Extension) IsList() bool                           { return xd.Cardinality() == protoreflect.Repeated }
 | 
					func (xd *Extension) IsList() bool                           { return xd.Cardinality() == protoreflect.Repeated }
 | 
				
			||||||
@@ -544,6 +541,7 @@ func (md *Method) ProtoInternal(pragma.DoNotImplement)     {}
 | 
				
			|||||||
var (
 | 
					var (
 | 
				
			||||||
	SurrogateProto2      = &File{L1: FileL1{Syntax: protoreflect.Proto2}, L2: &FileL2{}}
 | 
						SurrogateProto2      = &File{L1: FileL1{Syntax: protoreflect.Proto2}, L2: &FileL2{}}
 | 
				
			||||||
	SurrogateProto3      = &File{L1: FileL1{Syntax: protoreflect.Proto3}, L2: &FileL2{}}
 | 
						SurrogateProto3      = &File{L1: FileL1{Syntax: protoreflect.Proto3}, L2: &FileL2{}}
 | 
				
			||||||
 | 
						SurrogateEdition2023 = &File{L1: FileL1{Syntax: protoreflect.Editions, Edition: Edition2023}, L2: &FileL2{}}
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type (
 | 
					type (
 | 
				
			||||||
@@ -585,6 +583,34 @@ func (s *stringName) InitJSON(name string) {
 | 
				
			|||||||
	s.nameJSON = name
 | 
						s.nameJSON = name
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Returns true if this field is structured like the synthetic field of a proto2
 | 
				
			||||||
 | 
					// group. This allows us to expand our treatment of delimited fields without
 | 
				
			||||||
 | 
					// breaking proto2 files that have been upgraded to editions.
 | 
				
			||||||
 | 
					func isGroupLike(fd protoreflect.FieldDescriptor) bool {
 | 
				
			||||||
 | 
						// Groups are always group types.
 | 
				
			||||||
 | 
						if fd.Kind() != protoreflect.GroupKind {
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Group fields are always the lowercase type name.
 | 
				
			||||||
 | 
						if strings.ToLower(string(fd.Message().Name())) != string(fd.Name()) {
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Groups could only be defined in the same file they're used.
 | 
				
			||||||
 | 
						if fd.Message().ParentFile() != fd.ParentFile() {
 | 
				
			||||||
 | 
							return false
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Group messages are always defined in the same scope as the field.  File
 | 
				
			||||||
 | 
						// level extensions will compare NULL == NULL here, which is why the file
 | 
				
			||||||
 | 
						// comparison above is necessary to ensure both come from the same file.
 | 
				
			||||||
 | 
						if fd.IsExtension() {
 | 
				
			||||||
 | 
							return fd.Parent() == fd.Message().Parent()
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return fd.ContainingMessage() == fd.Message().Parent()
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName {
 | 
					func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName {
 | 
				
			||||||
	s.once.Do(func() {
 | 
						s.once.Do(func() {
 | 
				
			||||||
		if fd.IsExtension() {
 | 
							if fd.IsExtension() {
 | 
				
			||||||
@@ -605,7 +631,7 @@ func (s *stringName) lazyInit(fd protoreflect.FieldDescriptor) *stringName {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			// Format the text name.
 | 
								// Format the text name.
 | 
				
			||||||
			s.nameText = string(fd.Name())
 | 
								s.nameText = string(fd.Name())
 | 
				
			||||||
			if fd.Kind() == protoreflect.GroupKind {
 | 
								if isGroupLike(fd) {
 | 
				
			||||||
				s.nameText = string(fd.Message().Name())
 | 
									s.nameText = string(fd.Message().Name())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										39
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -113,8 +113,10 @@ func (fd *File) unmarshalSeed(b []byte) {
 | 
				
			|||||||
				switch string(v) {
 | 
									switch string(v) {
 | 
				
			||||||
				case "proto2":
 | 
									case "proto2":
 | 
				
			||||||
					fd.L1.Syntax = protoreflect.Proto2
 | 
										fd.L1.Syntax = protoreflect.Proto2
 | 
				
			||||||
 | 
										fd.L1.Edition = EditionProto2
 | 
				
			||||||
				case "proto3":
 | 
									case "proto3":
 | 
				
			||||||
					fd.L1.Syntax = protoreflect.Proto3
 | 
										fd.L1.Syntax = protoreflect.Proto3
 | 
				
			||||||
 | 
										fd.L1.Edition = EditionProto3
 | 
				
			||||||
				case "editions":
 | 
									case "editions":
 | 
				
			||||||
					fd.L1.Syntax = protoreflect.Editions
 | 
										fd.L1.Syntax = protoreflect.Editions
 | 
				
			||||||
				default:
 | 
									default:
 | 
				
			||||||
@@ -177,11 +179,10 @@ func (fd *File) unmarshalSeed(b []byte) {
 | 
				
			|||||||
	// If syntax is missing, it is assumed to be proto2.
 | 
						// If syntax is missing, it is assumed to be proto2.
 | 
				
			||||||
	if fd.L1.Syntax == 0 {
 | 
						if fd.L1.Syntax == 0 {
 | 
				
			||||||
		fd.L1.Syntax = protoreflect.Proto2
 | 
							fd.L1.Syntax = protoreflect.Proto2
 | 
				
			||||||
 | 
							fd.L1.Edition = EditionProto2
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if fd.L1.Syntax == protoreflect.Editions {
 | 
					 | 
				
			||||||
	fd.L1.EditionFeatures = getFeaturesFor(fd.L1.Edition)
 | 
						fd.L1.EditionFeatures = getFeaturesFor(fd.L1.Edition)
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Parse editions features from options if any
 | 
						// Parse editions features from options if any
 | 
				
			||||||
	if options != nil {
 | 
						if options != nil {
 | 
				
			||||||
@@ -267,6 +268,7 @@ func (ed *Enum) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd protorefl
 | 
				
			|||||||
	ed.L0.ParentFile = pf
 | 
						ed.L0.ParentFile = pf
 | 
				
			||||||
	ed.L0.Parent = pd
 | 
						ed.L0.Parent = pd
 | 
				
			||||||
	ed.L0.Index = i
 | 
						ed.L0.Index = i
 | 
				
			||||||
 | 
						ed.L1.EditionFeatures = featuresFromParentDesc(ed.Parent())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var numValues int
 | 
						var numValues int
 | 
				
			||||||
	for b := b; len(b) > 0; {
 | 
						for b := b; len(b) > 0; {
 | 
				
			||||||
@@ -443,6 +445,7 @@ func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd prot
 | 
				
			|||||||
	xd.L0.ParentFile = pf
 | 
						xd.L0.ParentFile = pf
 | 
				
			||||||
	xd.L0.Parent = pd
 | 
						xd.L0.Parent = pd
 | 
				
			||||||
	xd.L0.Index = i
 | 
						xd.L0.Index = i
 | 
				
			||||||
 | 
						xd.L1.EditionFeatures = featuresFromParentDesc(pd)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for len(b) > 0 {
 | 
						for len(b) > 0 {
 | 
				
			||||||
		num, typ, n := protowire.ConsumeTag(b)
 | 
							num, typ, n := protowire.ConsumeTag(b)
 | 
				
			||||||
@@ -467,6 +470,38 @@ func (xd *Extension) unmarshalSeed(b []byte, sb *strs.Builder, pf *File, pd prot
 | 
				
			|||||||
				xd.L0.FullName = appendFullName(sb, pd.FullName(), v)
 | 
									xd.L0.FullName = appendFullName(sb, pd.FullName(), v)
 | 
				
			||||||
			case genid.FieldDescriptorProto_Extendee_field_number:
 | 
								case genid.FieldDescriptorProto_Extendee_field_number:
 | 
				
			||||||
				xd.L1.Extendee = PlaceholderMessage(makeFullName(sb, v))
 | 
									xd.L1.Extendee = PlaceholderMessage(makeFullName(sb, v))
 | 
				
			||||||
 | 
								case genid.FieldDescriptorProto_Options_field_number:
 | 
				
			||||||
 | 
									xd.unmarshalOptions(v)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							default:
 | 
				
			||||||
 | 
								m := protowire.ConsumeFieldValue(num, typ, b)
 | 
				
			||||||
 | 
								b = b[m:]
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if xd.L1.Kind == protoreflect.MessageKind && xd.L1.EditionFeatures.IsDelimitedEncoded {
 | 
				
			||||||
 | 
							xd.L1.Kind = protoreflect.GroupKind
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (xd *Extension) unmarshalOptions(b []byte) {
 | 
				
			||||||
 | 
						for len(b) > 0 {
 | 
				
			||||||
 | 
							num, typ, n := protowire.ConsumeTag(b)
 | 
				
			||||||
 | 
							b = b[n:]
 | 
				
			||||||
 | 
							switch typ {
 | 
				
			||||||
 | 
							case protowire.VarintType:
 | 
				
			||||||
 | 
								v, m := protowire.ConsumeVarint(b)
 | 
				
			||||||
 | 
								b = b[m:]
 | 
				
			||||||
 | 
								switch num {
 | 
				
			||||||
 | 
								case genid.FieldOptions_Packed_field_number:
 | 
				
			||||||
 | 
									xd.L1.EditionFeatures.IsPacked = protowire.DecodeBool(v)
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							case protowire.BytesType:
 | 
				
			||||||
 | 
								v, m := protowire.ConsumeBytes(b)
 | 
				
			||||||
 | 
								b = b[m:]
 | 
				
			||||||
 | 
								switch num {
 | 
				
			||||||
 | 
								case genid.FieldOptions_Features_field_number:
 | 
				
			||||||
 | 
									xd.L1.EditionFeatures = unmarshalFeatureSet(v, xd.L1.EditionFeatures)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			m := protowire.ConsumeFieldValue(num, typ, b)
 | 
								m := protowire.ConsumeFieldValue(num, typ, b)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										44
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -466,10 +466,10 @@ func (fd *Field) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref
 | 
				
			|||||||
			b = b[m:]
 | 
								b = b[m:]
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if fd.Syntax() == protoreflect.Editions && fd.L1.Kind == protoreflect.MessageKind && fd.L1.EditionFeatures.IsDelimitedEncoded {
 | 
						if fd.L1.Kind == protoreflect.MessageKind && fd.L1.EditionFeatures.IsDelimitedEncoded {
 | 
				
			||||||
		fd.L1.Kind = protoreflect.GroupKind
 | 
							fd.L1.Kind = protoreflect.GroupKind
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if fd.Syntax() == protoreflect.Editions && fd.L1.EditionFeatures.IsLegacyRequired {
 | 
						if fd.L1.EditionFeatures.IsLegacyRequired {
 | 
				
			||||||
		fd.L1.Cardinality = protoreflect.Required
 | 
							fd.L1.Cardinality = protoreflect.Required
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if rawTypeName != nil {
 | 
						if rawTypeName != nil {
 | 
				
			||||||
@@ -496,13 +496,11 @@ func (fd *Field) unmarshalOptions(b []byte) {
 | 
				
			|||||||
			b = b[m:]
 | 
								b = b[m:]
 | 
				
			||||||
			switch num {
 | 
								switch num {
 | 
				
			||||||
			case genid.FieldOptions_Packed_field_number:
 | 
								case genid.FieldOptions_Packed_field_number:
 | 
				
			||||||
				fd.L1.HasPacked = true
 | 
									fd.L1.EditionFeatures.IsPacked = protowire.DecodeBool(v)
 | 
				
			||||||
				fd.L1.IsPacked = protowire.DecodeBool(v)
 | 
					 | 
				
			||||||
			case genid.FieldOptions_Weak_field_number:
 | 
								case genid.FieldOptions_Weak_field_number:
 | 
				
			||||||
				fd.L1.IsWeak = protowire.DecodeBool(v)
 | 
									fd.L1.IsWeak = protowire.DecodeBool(v)
 | 
				
			||||||
			case FieldOptions_EnforceUTF8:
 | 
								case FieldOptions_EnforceUTF8:
 | 
				
			||||||
				fd.L1.HasEnforceUTF8 = true
 | 
									fd.L1.EditionFeatures.IsUTF8Validated = protowire.DecodeBool(v)
 | 
				
			||||||
				fd.L1.EnforceUTF8 = protowire.DecodeBool(v)
 | 
					 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		case protowire.BytesType:
 | 
							case protowire.BytesType:
 | 
				
			||||||
			v, m := protowire.ConsumeBytes(b)
 | 
								v, m := protowire.ConsumeBytes(b)
 | 
				
			||||||
@@ -548,7 +546,6 @@ func (od *Oneof) unmarshalFull(b []byte, sb *strs.Builder, pf *File, pd protoref
 | 
				
			|||||||
func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
					func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
				
			||||||
	var rawTypeName []byte
 | 
						var rawTypeName []byte
 | 
				
			||||||
	var rawOptions []byte
 | 
						var rawOptions []byte
 | 
				
			||||||
	xd.L1.EditionFeatures = featuresFromParentDesc(xd.L1.Extendee)
 | 
					 | 
				
			||||||
	xd.L2 = new(ExtensionL2)
 | 
						xd.L2 = new(ExtensionL2)
 | 
				
			||||||
	for len(b) > 0 {
 | 
						for len(b) > 0 {
 | 
				
			||||||
		num, typ, n := protowire.ConsumeTag(b)
 | 
							num, typ, n := protowire.ConsumeTag(b)
 | 
				
			||||||
@@ -572,7 +569,6 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
				
			|||||||
			case genid.FieldDescriptorProto_TypeName_field_number:
 | 
								case genid.FieldDescriptorProto_TypeName_field_number:
 | 
				
			||||||
				rawTypeName = v
 | 
									rawTypeName = v
 | 
				
			||||||
			case genid.FieldDescriptorProto_Options_field_number:
 | 
								case genid.FieldDescriptorProto_Options_field_number:
 | 
				
			||||||
				xd.unmarshalOptions(v)
 | 
					 | 
				
			||||||
				rawOptions = appendOptions(rawOptions, v)
 | 
									rawOptions = appendOptions(rawOptions, v)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
@@ -580,12 +576,6 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
				
			|||||||
			b = b[m:]
 | 
								b = b[m:]
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if xd.Syntax() == protoreflect.Editions && xd.L1.Kind == protoreflect.MessageKind && xd.L1.EditionFeatures.IsDelimitedEncoded {
 | 
					 | 
				
			||||||
		xd.L1.Kind = protoreflect.GroupKind
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if xd.Syntax() == protoreflect.Editions && xd.L1.EditionFeatures.IsLegacyRequired {
 | 
					 | 
				
			||||||
		xd.L1.Cardinality = protoreflect.Required
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if rawTypeName != nil {
 | 
						if rawTypeName != nil {
 | 
				
			||||||
		name := makeFullName(sb, rawTypeName)
 | 
							name := makeFullName(sb, rawTypeName)
 | 
				
			||||||
		switch xd.L1.Kind {
 | 
							switch xd.L1.Kind {
 | 
				
			||||||
@@ -598,32 +588,6 @@ func (xd *Extension) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
				
			|||||||
	xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions)
 | 
						xd.L2.Options = xd.L0.ParentFile.builder.optionsUnmarshaler(&descopts.Field, rawOptions)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (xd *Extension) unmarshalOptions(b []byte) {
 | 
					 | 
				
			||||||
	for len(b) > 0 {
 | 
					 | 
				
			||||||
		num, typ, n := protowire.ConsumeTag(b)
 | 
					 | 
				
			||||||
		b = b[n:]
 | 
					 | 
				
			||||||
		switch typ {
 | 
					 | 
				
			||||||
		case protowire.VarintType:
 | 
					 | 
				
			||||||
			v, m := protowire.ConsumeVarint(b)
 | 
					 | 
				
			||||||
			b = b[m:]
 | 
					 | 
				
			||||||
			switch num {
 | 
					 | 
				
			||||||
			case genid.FieldOptions_Packed_field_number:
 | 
					 | 
				
			||||||
				xd.L2.IsPacked = protowire.DecodeBool(v)
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		case protowire.BytesType:
 | 
					 | 
				
			||||||
			v, m := protowire.ConsumeBytes(b)
 | 
					 | 
				
			||||||
			b = b[m:]
 | 
					 | 
				
			||||||
			switch num {
 | 
					 | 
				
			||||||
			case genid.FieldOptions_Features_field_number:
 | 
					 | 
				
			||||||
				xd.L1.EditionFeatures = unmarshalFeatureSet(v, xd.L1.EditionFeatures)
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		default:
 | 
					 | 
				
			||||||
			m := protowire.ConsumeFieldValue(num, typ, b)
 | 
					 | 
				
			||||||
			b = b[m:]
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
					func (sd *Service) unmarshalFull(b []byte, sb *strs.Builder) {
 | 
				
			||||||
	var rawMethods [][]byte
 | 
						var rawMethods [][]byte
 | 
				
			||||||
	var rawOptions []byte
 | 
						var rawOptions []byte
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -8,6 +8,7 @@ package filedesc
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"google.golang.org/protobuf/internal/descfmt"
 | 
						"google.golang.org/protobuf/internal/descfmt"
 | 
				
			||||||
@@ -198,6 +199,16 @@ func (p *Fields) lazyInit() *Fields {
 | 
				
			|||||||
				if _, ok := p.byText[d.TextName()]; !ok {
 | 
									if _, ok := p.byText[d.TextName()]; !ok {
 | 
				
			||||||
					p.byText[d.TextName()] = d
 | 
										p.byText[d.TextName()] = d
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
									if isGroupLike(d) {
 | 
				
			||||||
 | 
										lowerJSONName := strings.ToLower(d.JSONName())
 | 
				
			||||||
 | 
										if _, ok := p.byJSON[lowerJSONName]; !ok {
 | 
				
			||||||
 | 
											p.byJSON[lowerJSONName] = d
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
										lowerTextName := strings.ToLower(d.TextName())
 | 
				
			||||||
 | 
										if _, ok := p.byText[lowerTextName]; !ok {
 | 
				
			||||||
 | 
											p.byText[lowerTextName] = d
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
				if _, ok := p.byNum[d.Number()]; !ok {
 | 
									if _, ok := p.byNum[d.Number()]; !ok {
 | 
				
			||||||
					p.byNum[d.Number()] = d
 | 
										p.byNum[d.Number()] = d
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/editions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/editions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -14,9 +14,13 @@ import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var defaultsCache = make(map[Edition]EditionFeatures)
 | 
					var defaultsCache = make(map[Edition]EditionFeatures)
 | 
				
			||||||
 | 
					var defaultsKeys = []Edition{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() {
 | 
					func init() {
 | 
				
			||||||
	unmarshalEditionDefaults(editiondefaults.Defaults)
 | 
						unmarshalEditionDefaults(editiondefaults.Defaults)
 | 
				
			||||||
 | 
						SurrogateProto2.L1.EditionFeatures = getFeaturesFor(EditionProto2)
 | 
				
			||||||
 | 
						SurrogateProto3.L1.EditionFeatures = getFeaturesFor(EditionProto3)
 | 
				
			||||||
 | 
						SurrogateEdition2023.L1.EditionFeatures = getFeaturesFor(Edition2023)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func unmarshalGoFeature(b []byte, parent EditionFeatures) EditionFeatures {
 | 
					func unmarshalGoFeature(b []byte, parent EditionFeatures) EditionFeatures {
 | 
				
			||||||
@@ -104,12 +108,15 @@ func unmarshalEditionDefault(b []byte) {
 | 
				
			|||||||
			v, m := protowire.ConsumeBytes(b)
 | 
								v, m := protowire.ConsumeBytes(b)
 | 
				
			||||||
			b = b[m:]
 | 
								b = b[m:]
 | 
				
			||||||
			switch num {
 | 
								switch num {
 | 
				
			||||||
			case genid.FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number:
 | 
								case genid.FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_number:
 | 
				
			||||||
 | 
									fs = unmarshalFeatureSet(v, fs)
 | 
				
			||||||
 | 
								case genid.FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_number:
 | 
				
			||||||
				fs = unmarshalFeatureSet(v, fs)
 | 
									fs = unmarshalFeatureSet(v, fs)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defaultsCache[ed] = fs
 | 
						defaultsCache[ed] = fs
 | 
				
			||||||
 | 
						defaultsKeys = append(defaultsKeys, ed)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func unmarshalEditionDefaults(b []byte) {
 | 
					func unmarshalEditionDefaults(b []byte) {
 | 
				
			||||||
@@ -135,8 +142,15 @@ func unmarshalEditionDefaults(b []byte) {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func getFeaturesFor(ed Edition) EditionFeatures {
 | 
					func getFeaturesFor(ed Edition) EditionFeatures {
 | 
				
			||||||
	if def, ok := defaultsCache[ed]; ok {
 | 
						match := EditionUnknown
 | 
				
			||||||
		return def
 | 
						for _, key := range defaultsKeys {
 | 
				
			||||||
 | 
							if key > ed {
 | 
				
			||||||
 | 
								break
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							match = key
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if match == EditionUnknown {
 | 
				
			||||||
		panic(fmt.Sprintf("unsupported edition: %v", ed))
 | 
							panic(fmt.Sprintf("unsupported edition: %v", ed))
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return defaultsCache[match]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -63,6 +63,7 @@ func (e PlaceholderEnum) Options() protoreflect.ProtoMessage        { return des
 | 
				
			|||||||
func (e PlaceholderEnum) Values() protoreflect.EnumValueDescriptors { return emptyEnumValues }
 | 
					func (e PlaceholderEnum) Values() protoreflect.EnumValueDescriptors { return emptyEnumValues }
 | 
				
			||||||
func (e PlaceholderEnum) ReservedNames() protoreflect.Names         { return emptyNames }
 | 
					func (e PlaceholderEnum) ReservedNames() protoreflect.Names         { return emptyNames }
 | 
				
			||||||
func (e PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges   { return emptyEnumRanges }
 | 
					func (e PlaceholderEnum) ReservedRanges() protoreflect.EnumRanges   { return emptyEnumRanges }
 | 
				
			||||||
 | 
					func (e PlaceholderEnum) IsClosed() bool                            { return false }
 | 
				
			||||||
func (e PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor)     { return }
 | 
					func (e PlaceholderEnum) ProtoType(protoreflect.EnumDescriptor)     { return }
 | 
				
			||||||
func (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement)       { return }
 | 
					func (e PlaceholderEnum) ProtoInternal(pragma.DoNotImplement)       { return }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										40
									
								
								vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -21,6 +21,7 @@ const (
 | 
				
			|||||||
// Enum values for google.protobuf.Edition.
 | 
					// Enum values for google.protobuf.Edition.
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	Edition_EDITION_UNKNOWN_enum_value         = 0
 | 
						Edition_EDITION_UNKNOWN_enum_value         = 0
 | 
				
			||||||
 | 
						Edition_EDITION_LEGACY_enum_value          = 900
 | 
				
			||||||
	Edition_EDITION_PROTO2_enum_value          = 998
 | 
						Edition_EDITION_PROTO2_enum_value          = 998
 | 
				
			||||||
	Edition_EDITION_PROTO3_enum_value          = 999
 | 
						Edition_EDITION_PROTO3_enum_value          = 999
 | 
				
			||||||
	Edition_EDITION_2023_enum_value            = 1000
 | 
						Edition_EDITION_2023_enum_value            = 1000
 | 
				
			||||||
@@ -653,6 +654,7 @@ const (
 | 
				
			|||||||
	FieldOptions_Targets_field_name             protoreflect.Name = "targets"
 | 
						FieldOptions_Targets_field_name             protoreflect.Name = "targets"
 | 
				
			||||||
	FieldOptions_EditionDefaults_field_name     protoreflect.Name = "edition_defaults"
 | 
						FieldOptions_EditionDefaults_field_name     protoreflect.Name = "edition_defaults"
 | 
				
			||||||
	FieldOptions_Features_field_name            protoreflect.Name = "features"
 | 
						FieldOptions_Features_field_name            protoreflect.Name = "features"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_field_name      protoreflect.Name = "feature_support"
 | 
				
			||||||
	FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
 | 
						FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FieldOptions_Ctype_field_fullname               protoreflect.FullName = "google.protobuf.FieldOptions.ctype"
 | 
						FieldOptions_Ctype_field_fullname               protoreflect.FullName = "google.protobuf.FieldOptions.ctype"
 | 
				
			||||||
@@ -667,6 +669,7 @@ const (
 | 
				
			|||||||
	FieldOptions_Targets_field_fullname             protoreflect.FullName = "google.protobuf.FieldOptions.targets"
 | 
						FieldOptions_Targets_field_fullname             protoreflect.FullName = "google.protobuf.FieldOptions.targets"
 | 
				
			||||||
	FieldOptions_EditionDefaults_field_fullname     protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults"
 | 
						FieldOptions_EditionDefaults_field_fullname     protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults"
 | 
				
			||||||
	FieldOptions_Features_field_fullname            protoreflect.FullName = "google.protobuf.FieldOptions.features"
 | 
						FieldOptions_Features_field_fullname            protoreflect.FullName = "google.protobuf.FieldOptions.features"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_field_fullname      protoreflect.FullName = "google.protobuf.FieldOptions.feature_support"
 | 
				
			||||||
	FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"
 | 
						FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -684,6 +687,7 @@ const (
 | 
				
			|||||||
	FieldOptions_Targets_field_number             protoreflect.FieldNumber = 19
 | 
						FieldOptions_Targets_field_number             protoreflect.FieldNumber = 19
 | 
				
			||||||
	FieldOptions_EditionDefaults_field_number     protoreflect.FieldNumber = 20
 | 
						FieldOptions_EditionDefaults_field_number     protoreflect.FieldNumber = 20
 | 
				
			||||||
	FieldOptions_Features_field_number            protoreflect.FieldNumber = 21
 | 
						FieldOptions_Features_field_number            protoreflect.FieldNumber = 21
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_field_number      protoreflect.FieldNumber = 22
 | 
				
			||||||
	FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
 | 
						FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -767,6 +771,33 @@ const (
 | 
				
			|||||||
	FieldOptions_EditionDefault_Value_field_number   protoreflect.FieldNumber = 2
 | 
						FieldOptions_EditionDefault_Value_field_number   protoreflect.FieldNumber = 2
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Names for google.protobuf.FieldOptions.FeatureSupport.
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_message_name     protoreflect.Name     = "FeatureSupport"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Field names for google.protobuf.FieldOptions.FeatureSupport.
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionIntroduced_field_name  protoreflect.Name = "edition_introduced"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionDeprecated_field_name  protoreflect.Name = "edition_deprecated"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_DeprecationWarning_field_name protoreflect.Name = "deprecation_warning"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionRemoved_field_name     protoreflect.Name = "edition_removed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionIntroduced_field_fullname  protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_introduced"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionDeprecated_field_fullname  protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_deprecated"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_DeprecationWarning_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.deprecation_warning"
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionRemoved_field_fullname     protoreflect.FullName = "google.protobuf.FieldOptions.FeatureSupport.edition_removed"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Field numbers for google.protobuf.FieldOptions.FeatureSupport.
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionIntroduced_field_number  protoreflect.FieldNumber = 1
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionDeprecated_field_number  protoreflect.FieldNumber = 2
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_DeprecationWarning_field_number protoreflect.FieldNumber = 3
 | 
				
			||||||
 | 
						FieldOptions_FeatureSupport_EditionRemoved_field_number     protoreflect.FieldNumber = 4
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Names for google.protobuf.OneofOptions.
 | 
					// Names for google.protobuf.OneofOptions.
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	OneofOptions_message_name     protoreflect.Name     = "OneofOptions"
 | 
						OneofOptions_message_name     protoreflect.Name     = "OneofOptions"
 | 
				
			||||||
@@ -1111,16 +1142,19 @@ const (
 | 
				
			|||||||
// Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
 | 
					// Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name             protoreflect.Name = "edition"
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name             protoreflect.Name = "edition"
 | 
				
			||||||
	FeatureSetDefaults_FeatureSetEditionDefault_Features_field_name protoreflect.Name = "features"
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_name protoreflect.Name = "overridable_features"
 | 
				
			||||||
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_name       protoreflect.Name = "fixed_features"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname             protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition"
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname             protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition"
 | 
				
			||||||
	FeatureSetDefaults_FeatureSetEditionDefault_Features_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features"
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features"
 | 
				
			||||||
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_fullname       protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
 | 
					// Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number             protoreflect.FieldNumber = 3
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number             protoreflect.FieldNumber = 3
 | 
				
			||||||
	FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number protoreflect.FieldNumber = 2
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_OverridableFeatures_field_number protoreflect.FieldNumber = 4
 | 
				
			||||||
 | 
						FeatureSetDefaults_FeatureSetEditionDefault_FixedFeatures_field_number       protoreflect.FieldNumber = 5
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Names for google.protobuf.SourceCodeInfo.
 | 
					// Names for google.protobuf.SourceCodeInfo.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/genid/go_features_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -10,7 +10,7 @@ import (
 | 
				
			|||||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
						protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const File_reflect_protodesc_proto_go_features_proto = "reflect/protodesc/proto/go_features.proto"
 | 
					const File_google_protobuf_go_features_proto = "google/protobuf/go_features.proto"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Names for google.protobuf.GoFeatures.
 | 
					// Names for google.protobuf.GoFeatures.
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										64
									
								
								vendor/google.golang.org/protobuf/internal/impl/codec_field.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										64
									
								
								vendor/google.golang.org/protobuf/internal/impl/codec_field.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -233,9 +233,15 @@ func sizeMessageInfo(p pointer, f *coderFieldInfo, opts marshalOptions) int {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func appendMessageInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
 | 
					func appendMessageInfo(b []byte, p pointer, f *coderFieldInfo, opts marshalOptions) ([]byte, error) {
 | 
				
			||||||
 | 
						calculatedSize := f.mi.sizePointer(p.Elem(), opts)
 | 
				
			||||||
	b = protowire.AppendVarint(b, f.wiretag)
 | 
						b = protowire.AppendVarint(b, f.wiretag)
 | 
				
			||||||
	b = protowire.AppendVarint(b, uint64(f.mi.sizePointer(p.Elem(), opts)))
 | 
						b = protowire.AppendVarint(b, uint64(calculatedSize))
 | 
				
			||||||
	return f.mi.marshalAppendPointer(b, p.Elem(), opts)
 | 
						before := len(b)
 | 
				
			||||||
 | 
						b, err := f.mi.marshalAppendPointer(b, p.Elem(), opts)
 | 
				
			||||||
 | 
						if measuredSize := len(b) - before; calculatedSize != measuredSize && err == nil {
 | 
				
			||||||
 | 
							return nil, errors.MismatchedSizeCalculation(calculatedSize, measuredSize)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return b, err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func consumeMessageInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
 | 
					func consumeMessageInfo(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInfo, opts unmarshalOptions) (out unmarshalOutput, err error) {
 | 
				
			||||||
@@ -262,14 +268,21 @@ func isInitMessageInfo(p pointer, f *coderFieldInfo) error {
 | 
				
			|||||||
	return f.mi.checkInitializedPointer(p.Elem())
 | 
						return f.mi.checkInitializedPointer(p.Elem())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func sizeMessage(m proto.Message, tagsize int, _ marshalOptions) int {
 | 
					func sizeMessage(m proto.Message, tagsize int, opts marshalOptions) int {
 | 
				
			||||||
	return protowire.SizeBytes(proto.Size(m)) + tagsize
 | 
						return protowire.SizeBytes(opts.Options().Size(m)) + tagsize
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func appendMessage(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) {
 | 
					func appendMessage(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) {
 | 
				
			||||||
 | 
						mopts := opts.Options()
 | 
				
			||||||
 | 
						calculatedSize := mopts.Size(m)
 | 
				
			||||||
	b = protowire.AppendVarint(b, wiretag)
 | 
						b = protowire.AppendVarint(b, wiretag)
 | 
				
			||||||
	b = protowire.AppendVarint(b, uint64(proto.Size(m)))
 | 
						b = protowire.AppendVarint(b, uint64(calculatedSize))
 | 
				
			||||||
	return opts.Options().MarshalAppend(b, m)
 | 
						before := len(b)
 | 
				
			||||||
 | 
						b, err := mopts.MarshalAppend(b, m)
 | 
				
			||||||
 | 
						if measuredSize := len(b) - before; calculatedSize != measuredSize && err == nil {
 | 
				
			||||||
 | 
							return nil, errors.MismatchedSizeCalculation(calculatedSize, measuredSize)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return b, err
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func consumeMessage(b []byte, m proto.Message, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) {
 | 
					func consumeMessage(b []byte, m proto.Message, wtyp protowire.Type, opts unmarshalOptions) (out unmarshalOutput, err error) {
 | 
				
			||||||
@@ -405,8 +418,8 @@ func consumeGroupType(b []byte, p pointer, wtyp protowire.Type, f *coderFieldInf
 | 
				
			|||||||
	return f.mi.unmarshalPointer(b, p.Elem(), f.num, opts)
 | 
						return f.mi.unmarshalPointer(b, p.Elem(), f.num, opts)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func sizeGroup(m proto.Message, tagsize int, _ marshalOptions) int {
 | 
					func sizeGroup(m proto.Message, tagsize int, opts marshalOptions) int {
 | 
				
			||||||
	return 2*tagsize + proto.Size(m)
 | 
						return 2*tagsize + opts.Options().Size(m)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func appendGroup(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) {
 | 
					func appendGroup(b []byte, m proto.Message, wiretag uint64, opts marshalOptions) ([]byte, error) {
 | 
				
			||||||
@@ -482,10 +495,14 @@ func appendMessageSliceInfo(b []byte, p pointer, f *coderFieldInfo, opts marshal
 | 
				
			|||||||
		b = protowire.AppendVarint(b, f.wiretag)
 | 
							b = protowire.AppendVarint(b, f.wiretag)
 | 
				
			||||||
		siz := f.mi.sizePointer(v, opts)
 | 
							siz := f.mi.sizePointer(v, opts)
 | 
				
			||||||
		b = protowire.AppendVarint(b, uint64(siz))
 | 
							b = protowire.AppendVarint(b, uint64(siz))
 | 
				
			||||||
 | 
							before := len(b)
 | 
				
			||||||
		b, err = f.mi.marshalAppendPointer(b, v, opts)
 | 
							b, err = f.mi.marshalAppendPointer(b, v, opts)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return b, err
 | 
								return b, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							if measuredSize := len(b) - before; siz != measuredSize {
 | 
				
			||||||
 | 
								return nil, errors.MismatchedSizeCalculation(siz, measuredSize)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return b, nil
 | 
						return b, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -520,28 +537,34 @@ func isInitMessageSliceInfo(p pointer, f *coderFieldInfo) error {
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, _ marshalOptions) int {
 | 
					func sizeMessageSlice(p pointer, goType reflect.Type, tagsize int, opts marshalOptions) int {
 | 
				
			||||||
 | 
						mopts := opts.Options()
 | 
				
			||||||
	s := p.PointerSlice()
 | 
						s := p.PointerSlice()
 | 
				
			||||||
	n := 0
 | 
						n := 0
 | 
				
			||||||
	for _, v := range s {
 | 
						for _, v := range s {
 | 
				
			||||||
		m := asMessage(v.AsValueOf(goType.Elem()))
 | 
							m := asMessage(v.AsValueOf(goType.Elem()))
 | 
				
			||||||
		n += protowire.SizeBytes(proto.Size(m)) + tagsize
 | 
							n += protowire.SizeBytes(mopts.Size(m)) + tagsize
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return n
 | 
						return n
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func appendMessageSlice(b []byte, p pointer, wiretag uint64, goType reflect.Type, opts marshalOptions) ([]byte, error) {
 | 
					func appendMessageSlice(b []byte, p pointer, wiretag uint64, goType reflect.Type, opts marshalOptions) ([]byte, error) {
 | 
				
			||||||
 | 
						mopts := opts.Options()
 | 
				
			||||||
	s := p.PointerSlice()
 | 
						s := p.PointerSlice()
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	for _, v := range s {
 | 
						for _, v := range s {
 | 
				
			||||||
		m := asMessage(v.AsValueOf(goType.Elem()))
 | 
							m := asMessage(v.AsValueOf(goType.Elem()))
 | 
				
			||||||
		b = protowire.AppendVarint(b, wiretag)
 | 
							b = protowire.AppendVarint(b, wiretag)
 | 
				
			||||||
		siz := proto.Size(m)
 | 
							siz := mopts.Size(m)
 | 
				
			||||||
		b = protowire.AppendVarint(b, uint64(siz))
 | 
							b = protowire.AppendVarint(b, uint64(siz))
 | 
				
			||||||
		b, err = opts.Options().MarshalAppend(b, m)
 | 
							before := len(b)
 | 
				
			||||||
 | 
							b, err = mopts.MarshalAppend(b, m)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return b, err
 | 
								return b, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							if measuredSize := len(b) - before; siz != measuredSize {
 | 
				
			||||||
 | 
								return nil, errors.MismatchedSizeCalculation(siz, measuredSize)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return b, nil
 | 
						return b, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -582,11 +605,12 @@ func isInitMessageSlice(p pointer, goType reflect.Type) error {
 | 
				
			|||||||
// Slices of messages
 | 
					// Slices of messages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func sizeMessageSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int {
 | 
					func sizeMessageSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int {
 | 
				
			||||||
 | 
						mopts := opts.Options()
 | 
				
			||||||
	list := listv.List()
 | 
						list := listv.List()
 | 
				
			||||||
	n := 0
 | 
						n := 0
 | 
				
			||||||
	for i, llen := 0, list.Len(); i < llen; i++ {
 | 
						for i, llen := 0, list.Len(); i < llen; i++ {
 | 
				
			||||||
		m := list.Get(i).Message().Interface()
 | 
							m := list.Get(i).Message().Interface()
 | 
				
			||||||
		n += protowire.SizeBytes(proto.Size(m)) + tagsize
 | 
							n += protowire.SizeBytes(mopts.Size(m)) + tagsize
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return n
 | 
						return n
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -597,13 +621,17 @@ func appendMessageSliceValue(b []byte, listv protoreflect.Value, wiretag uint64,
 | 
				
			|||||||
	for i, llen := 0, list.Len(); i < llen; i++ {
 | 
						for i, llen := 0, list.Len(); i < llen; i++ {
 | 
				
			||||||
		m := list.Get(i).Message().Interface()
 | 
							m := list.Get(i).Message().Interface()
 | 
				
			||||||
		b = protowire.AppendVarint(b, wiretag)
 | 
							b = protowire.AppendVarint(b, wiretag)
 | 
				
			||||||
		siz := proto.Size(m)
 | 
							siz := mopts.Size(m)
 | 
				
			||||||
		b = protowire.AppendVarint(b, uint64(siz))
 | 
							b = protowire.AppendVarint(b, uint64(siz))
 | 
				
			||||||
 | 
							before := len(b)
 | 
				
			||||||
		var err error
 | 
							var err error
 | 
				
			||||||
		b, err = mopts.MarshalAppend(b, m)
 | 
							b, err = mopts.MarshalAppend(b, m)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return b, err
 | 
								return b, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							if measuredSize := len(b) - before; siz != measuredSize {
 | 
				
			||||||
 | 
								return nil, errors.MismatchedSizeCalculation(siz, measuredSize)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return b, nil
 | 
						return b, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -651,11 +679,12 @@ var coderMessageSliceValue = valueCoderFuncs{
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func sizeGroupSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int {
 | 
					func sizeGroupSliceValue(listv protoreflect.Value, tagsize int, opts marshalOptions) int {
 | 
				
			||||||
 | 
						mopts := opts.Options()
 | 
				
			||||||
	list := listv.List()
 | 
						list := listv.List()
 | 
				
			||||||
	n := 0
 | 
						n := 0
 | 
				
			||||||
	for i, llen := 0, list.Len(); i < llen; i++ {
 | 
						for i, llen := 0, list.Len(); i < llen; i++ {
 | 
				
			||||||
		m := list.Get(i).Message().Interface()
 | 
							m := list.Get(i).Message().Interface()
 | 
				
			||||||
		n += 2*tagsize + proto.Size(m)
 | 
							n += 2*tagsize + mopts.Size(m)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return n
 | 
						return n
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -738,12 +767,13 @@ func makeGroupSliceFieldCoder(fd protoreflect.FieldDescriptor, ft reflect.Type)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, _ marshalOptions) int {
 | 
					func sizeGroupSlice(p pointer, messageType reflect.Type, tagsize int, opts marshalOptions) int {
 | 
				
			||||||
 | 
						mopts := opts.Options()
 | 
				
			||||||
	s := p.PointerSlice()
 | 
						s := p.PointerSlice()
 | 
				
			||||||
	n := 0
 | 
						n := 0
 | 
				
			||||||
	for _, v := range s {
 | 
						for _, v := range s {
 | 
				
			||||||
		m := asMessage(v.AsValueOf(messageType.Elem()))
 | 
							m := asMessage(v.AsValueOf(messageType.Elem()))
 | 
				
			||||||
		n += 2*tagsize + proto.Size(m)
 | 
							n += 2*tagsize + mopts.Size(m)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return n
 | 
						return n
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								vendor/google.golang.org/protobuf/internal/impl/codec_map.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/google.golang.org/protobuf/internal/impl/codec_map.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -9,6 +9,7 @@ import (
 | 
				
			|||||||
	"sort"
 | 
						"sort"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"google.golang.org/protobuf/encoding/protowire"
 | 
						"google.golang.org/protobuf/encoding/protowire"
 | 
				
			||||||
 | 
						"google.golang.org/protobuf/internal/errors"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/genid"
 | 
						"google.golang.org/protobuf/internal/genid"
 | 
				
			||||||
	"google.golang.org/protobuf/reflect/protoreflect"
 | 
						"google.golang.org/protobuf/reflect/protoreflect"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -240,11 +241,16 @@ func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coder
 | 
				
			|||||||
		size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts)
 | 
							size += mapi.keyFuncs.size(key.Value(), mapKeyTagSize, opts)
 | 
				
			||||||
		size += mapi.valFuncs.size(val, mapValTagSize, opts)
 | 
							size += mapi.valFuncs.size(val, mapValTagSize, opts)
 | 
				
			||||||
		b = protowire.AppendVarint(b, uint64(size))
 | 
							b = protowire.AppendVarint(b, uint64(size))
 | 
				
			||||||
 | 
							before := len(b)
 | 
				
			||||||
		b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts)
 | 
							b, err := mapi.keyFuncs.marshal(b, key.Value(), mapi.keyWiretag, opts)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts)
 | 
							b, err = mapi.valFuncs.marshal(b, val, mapi.valWiretag, opts)
 | 
				
			||||||
 | 
							if measuredSize := len(b) - before; size != measuredSize && err == nil {
 | 
				
			||||||
 | 
								return nil, errors.MismatchedSizeCalculation(size, measuredSize)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return b, err
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey()
 | 
							key := mapi.conv.keyConv.PBValueOf(keyrv).MapKey()
 | 
				
			||||||
		val := pointerOfValue(valrv)
 | 
							val := pointerOfValue(valrv)
 | 
				
			||||||
@@ -259,7 +265,12 @@ func appendMapItem(b []byte, keyrv, valrv reflect.Value, mapi *mapInfo, f *coder
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
		b = protowire.AppendVarint(b, mapi.valWiretag)
 | 
							b = protowire.AppendVarint(b, mapi.valWiretag)
 | 
				
			||||||
		b = protowire.AppendVarint(b, uint64(valSize))
 | 
							b = protowire.AppendVarint(b, uint64(valSize))
 | 
				
			||||||
		return f.mi.marshalAppendPointer(b, val, opts)
 | 
							before := len(b)
 | 
				
			||||||
 | 
							b, err = f.mi.marshalAppendPointer(b, val, opts)
 | 
				
			||||||
 | 
							if measuredSize := len(b) - before; valSize != measuredSize && err == nil {
 | 
				
			||||||
 | 
								return nil, errors.MismatchedSizeCalculation(valSize, measuredSize)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return b, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -167,6 +167,7 @@ func aberrantLoadEnumDesc(t reflect.Type) protoreflect.EnumDescriptor {
 | 
				
			|||||||
	ed := &filedesc.Enum{L2: new(filedesc.EnumL2)}
 | 
						ed := &filedesc.Enum{L2: new(filedesc.EnumL2)}
 | 
				
			||||||
	ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum
 | 
						ed.L0.FullName = AberrantDeriveFullName(t) // e.g., github_com.user.repo.MyEnum
 | 
				
			||||||
	ed.L0.ParentFile = filedesc.SurrogateProto3
 | 
						ed.L0.ParentFile = filedesc.SurrogateProto3
 | 
				
			||||||
 | 
						ed.L1.EditionFeatures = ed.L0.ParentFile.L1.EditionFeatures
 | 
				
			||||||
	ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{})
 | 
						ed.L2.Values.List = append(ed.L2.Values.List, filedesc.EnumValue{})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// TODO: Use the presence of a UnmarshalJSON method to determine proto2?
 | 
						// TODO: Use the presence of a UnmarshalJSON method to determine proto2?
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -118,7 +118,7 @@ func (xi *ExtensionInfo) initFromLegacy() {
 | 
				
			|||||||
	xd.L1.Number = protoreflect.FieldNumber(xi.Field)
 | 
						xd.L1.Number = protoreflect.FieldNumber(xi.Field)
 | 
				
			||||||
	xd.L1.Cardinality = fd.L1.Cardinality
 | 
						xd.L1.Cardinality = fd.L1.Cardinality
 | 
				
			||||||
	xd.L1.Kind = fd.L1.Kind
 | 
						xd.L1.Kind = fd.L1.Kind
 | 
				
			||||||
	xd.L2.IsPacked = fd.L1.IsPacked
 | 
						xd.L1.EditionFeatures = fd.L1.EditionFeatures
 | 
				
			||||||
	xd.L2.Default = fd.L1.Default
 | 
						xd.L2.Default = fd.L1.Default
 | 
				
			||||||
	xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType)
 | 
						xd.L1.Extendee = Export{}.MessageDescriptorOf(xi.ExtendedType)
 | 
				
			||||||
	xd.L2.Enum = ed
 | 
						xd.L2.Enum = ed
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_file.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_file.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,7 +7,7 @@ package impl
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	"bytes"
 | 
						"bytes"
 | 
				
			||||||
	"compress/gzip"
 | 
						"compress/gzip"
 | 
				
			||||||
	"io/ioutil"
 | 
						"io"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"google.golang.org/protobuf/internal/filedesc"
 | 
						"google.golang.org/protobuf/internal/filedesc"
 | 
				
			||||||
@@ -51,7 +51,7 @@ func legacyLoadFileDesc(b []byte) protoreflect.FileDescriptor {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		panic(err)
 | 
							panic(err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	b2, err := ioutil.ReadAll(zr)
 | 
						b2, err := io.ReadAll(zr)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		panic(err)
 | 
							panic(err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_message.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/google.golang.org/protobuf/internal/impl/legacy_message.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -204,6 +204,7 @@ func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						md.L1.EditionFeatures = md.L0.ParentFile.L1.EditionFeatures
 | 
				
			||||||
	// Obtain a list of oneof wrapper types.
 | 
						// Obtain a list of oneof wrapper types.
 | 
				
			||||||
	var oneofWrappers []reflect.Type
 | 
						var oneofWrappers []reflect.Type
 | 
				
			||||||
	methods := make([]reflect.Method, 0, 2)
 | 
						methods := make([]reflect.Method, 0, 2)
 | 
				
			||||||
@@ -250,6 +251,7 @@ func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName
 | 
				
			|||||||
			od := &md.L2.Oneofs.List[n]
 | 
								od := &md.L2.Oneofs.List[n]
 | 
				
			||||||
			od.L0.FullName = md.FullName().Append(protoreflect.Name(tag))
 | 
								od.L0.FullName = md.FullName().Append(protoreflect.Name(tag))
 | 
				
			||||||
			od.L0.ParentFile = md.L0.ParentFile
 | 
								od.L0.ParentFile = md.L0.ParentFile
 | 
				
			||||||
 | 
								od.L1.EditionFeatures = md.L1.EditionFeatures
 | 
				
			||||||
			od.L0.Parent = md
 | 
								od.L0.Parent = md
 | 
				
			||||||
			od.L0.Index = n
 | 
								od.L0.Index = n
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -260,6 +262,7 @@ func aberrantLoadMessageDescReentrant(t reflect.Type, name protoreflect.FullName
 | 
				
			|||||||
						aberrantAppendField(md, f.Type, tag, "", "")
 | 
											aberrantAppendField(md, f.Type, tag, "", "")
 | 
				
			||||||
						fd := &md.L2.Fields.List[len(md.L2.Fields.List)-1]
 | 
											fd := &md.L2.Fields.List[len(md.L2.Fields.List)-1]
 | 
				
			||||||
						fd.L1.ContainingOneof = od
 | 
											fd.L1.ContainingOneof = od
 | 
				
			||||||
 | 
											fd.L1.EditionFeatures = od.L1.EditionFeatures
 | 
				
			||||||
						od.L1.Fields.List = append(od.L1.Fields.List, fd)
 | 
											od.L1.Fields.List = append(od.L1.Fields.List, fd)
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
@@ -307,14 +310,14 @@ func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey,
 | 
				
			|||||||
	fd.L0.Parent = md
 | 
						fd.L0.Parent = md
 | 
				
			||||||
	fd.L0.Index = n
 | 
						fd.L0.Index = n
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if fd.L1.IsWeak || fd.L1.HasPacked {
 | 
						if fd.L1.IsWeak || fd.L1.EditionFeatures.IsPacked {
 | 
				
			||||||
		fd.L1.Options = func() protoreflect.ProtoMessage {
 | 
							fd.L1.Options = func() protoreflect.ProtoMessage {
 | 
				
			||||||
			opts := descopts.Field.ProtoReflect().New()
 | 
								opts := descopts.Field.ProtoReflect().New()
 | 
				
			||||||
			if fd.L1.IsWeak {
 | 
								if fd.L1.IsWeak {
 | 
				
			||||||
				opts.Set(opts.Descriptor().Fields().ByName("weak"), protoreflect.ValueOfBool(true))
 | 
									opts.Set(opts.Descriptor().Fields().ByName("weak"), protoreflect.ValueOfBool(true))
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if fd.L1.HasPacked {
 | 
								if fd.L1.EditionFeatures.IsPacked {
 | 
				
			||||||
				opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.IsPacked))
 | 
									opts.Set(opts.Descriptor().Fields().ByName("packed"), protoreflect.ValueOfBool(fd.L1.EditionFeatures.IsPacked))
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			return opts.Interface()
 | 
								return opts.Interface()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
@@ -344,6 +347,7 @@ func aberrantAppendField(md *filedesc.Message, goType reflect.Type, tag, tagKey,
 | 
				
			|||||||
				md2.L0.ParentFile = md.L0.ParentFile
 | 
									md2.L0.ParentFile = md.L0.ParentFile
 | 
				
			||||||
				md2.L0.Parent = md
 | 
									md2.L0.Parent = md
 | 
				
			||||||
				md2.L0.Index = n
 | 
									md2.L0.Index = n
 | 
				
			||||||
 | 
									md2.L1.EditionFeatures = md.L1.EditionFeatures
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				md2.L1.IsMapEntry = true
 | 
									md2.L1.IsMapEntry = true
 | 
				
			||||||
				md2.L2.Options = func() protoreflect.ProtoMessage {
 | 
									md2.L2.Options = func() protoreflect.ProtoMessage {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										31
									
								
								vendor/google.golang.org/protobuf/internal/impl/message_reflect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								vendor/google.golang.org/protobuf/internal/impl/message_reflect.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -247,11 +247,10 @@ func (m *extensionMap) Range(f func(protoreflect.FieldDescriptor, protoreflect.V
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *extensionMap) Has(xt protoreflect.ExtensionType) (ok bool) {
 | 
					func (m *extensionMap) Has(xd protoreflect.ExtensionTypeDescriptor) (ok bool) {
 | 
				
			||||||
	if m == nil {
 | 
						if m == nil {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	xd := xt.TypeDescriptor()
 | 
					 | 
				
			||||||
	x, ok := (*m)[int32(xd.Number())]
 | 
						x, ok := (*m)[int32(xd.Number())]
 | 
				
			||||||
	if !ok {
 | 
						if !ok {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
@@ -261,25 +260,22 @@ func (m *extensionMap) Has(xt protoreflect.ExtensionType) (ok bool) {
 | 
				
			|||||||
		return x.Value().List().Len() > 0
 | 
							return x.Value().List().Len() > 0
 | 
				
			||||||
	case xd.IsMap():
 | 
						case xd.IsMap():
 | 
				
			||||||
		return x.Value().Map().Len() > 0
 | 
							return x.Value().Map().Len() > 0
 | 
				
			||||||
	case xd.Message() != nil:
 | 
					 | 
				
			||||||
		return x.Value().Message().IsValid()
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return true
 | 
						return true
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *extensionMap) Clear(xt protoreflect.ExtensionType) {
 | 
					func (m *extensionMap) Clear(xd protoreflect.ExtensionTypeDescriptor) {
 | 
				
			||||||
	delete(*m, int32(xt.TypeDescriptor().Number()))
 | 
						delete(*m, int32(xd.Number()))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *extensionMap) Get(xt protoreflect.ExtensionType) protoreflect.Value {
 | 
					func (m *extensionMap) Get(xd protoreflect.ExtensionTypeDescriptor) protoreflect.Value {
 | 
				
			||||||
	xd := xt.TypeDescriptor()
 | 
					 | 
				
			||||||
	if m != nil {
 | 
						if m != nil {
 | 
				
			||||||
		if x, ok := (*m)[int32(xd.Number())]; ok {
 | 
							if x, ok := (*m)[int32(xd.Number())]; ok {
 | 
				
			||||||
			return x.Value()
 | 
								return x.Value()
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return xt.Zero()
 | 
						return xd.Type().Zero()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value) {
 | 
					func (m *extensionMap) Set(xd protoreflect.ExtensionTypeDescriptor, v protoreflect.Value) {
 | 
				
			||||||
	xd := xt.TypeDescriptor()
 | 
						xt := xd.Type()
 | 
				
			||||||
	isValid := true
 | 
						isValid := true
 | 
				
			||||||
	switch {
 | 
						switch {
 | 
				
			||||||
	case !xt.IsValidValue(v):
 | 
						case !xt.IsValidValue(v):
 | 
				
			||||||
@@ -292,7 +288,7 @@ func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value)
 | 
				
			|||||||
		isValid = v.Message().IsValid()
 | 
							isValid = v.Message().IsValid()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if !isValid {
 | 
						if !isValid {
 | 
				
			||||||
		panic(fmt.Sprintf("%v: assigning invalid value", xt.TypeDescriptor().FullName()))
 | 
							panic(fmt.Sprintf("%v: assigning invalid value", xd.FullName()))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if *m == nil {
 | 
						if *m == nil {
 | 
				
			||||||
@@ -302,16 +298,15 @@ func (m *extensionMap) Set(xt protoreflect.ExtensionType, v protoreflect.Value)
 | 
				
			|||||||
	x.Set(xt, v)
 | 
						x.Set(xt, v)
 | 
				
			||||||
	(*m)[int32(xd.Number())] = x
 | 
						(*m)[int32(xd.Number())] = x
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *extensionMap) Mutable(xt protoreflect.ExtensionType) protoreflect.Value {
 | 
					func (m *extensionMap) Mutable(xd protoreflect.ExtensionTypeDescriptor) protoreflect.Value {
 | 
				
			||||||
	xd := xt.TypeDescriptor()
 | 
					 | 
				
			||||||
	if xd.Kind() != protoreflect.MessageKind && xd.Kind() != protoreflect.GroupKind && !xd.IsList() && !xd.IsMap() {
 | 
						if xd.Kind() != protoreflect.MessageKind && xd.Kind() != protoreflect.GroupKind && !xd.IsList() && !xd.IsMap() {
 | 
				
			||||||
		panic("invalid Mutable on field with non-composite type")
 | 
							panic("invalid Mutable on field with non-composite type")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if x, ok := (*m)[int32(xd.Number())]; ok {
 | 
						if x, ok := (*m)[int32(xd.Number())]; ok {
 | 
				
			||||||
		return x.Value()
 | 
							return x.Value()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	v := xt.New()
 | 
						v := xd.Type().New()
 | 
				
			||||||
	m.Set(xt, v)
 | 
						m.Set(xd, v)
 | 
				
			||||||
	return v
 | 
						return v
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -428,7 +423,7 @@ func (m *messageIfaceWrapper) protoUnwrap() interface{} {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// checkField verifies that the provided field descriptor is valid.
 | 
					// checkField verifies that the provided field descriptor is valid.
 | 
				
			||||||
// Exactly one of the returned values is populated.
 | 
					// Exactly one of the returned values is populated.
 | 
				
			||||||
func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, protoreflect.ExtensionType) {
 | 
					func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo, protoreflect.ExtensionTypeDescriptor) {
 | 
				
			||||||
	var fi *fieldInfo
 | 
						var fi *fieldInfo
 | 
				
			||||||
	if n := fd.Number(); 0 < n && int(n) < len(mi.denseFields) {
 | 
						if n := fd.Number(); 0 < n && int(n) < len(mi.denseFields) {
 | 
				
			||||||
		fi = mi.denseFields[n]
 | 
							fi = mi.denseFields[n]
 | 
				
			||||||
@@ -457,7 +452,7 @@ func (mi *MessageInfo) checkField(fd protoreflect.FieldDescriptor) (*fieldInfo,
 | 
				
			|||||||
		if !ok {
 | 
							if !ok {
 | 
				
			||||||
			panic(fmt.Sprintf("extension %v does not implement protoreflect.ExtensionTypeDescriptor", fd.FullName()))
 | 
								panic(fmt.Sprintf("extension %v does not implement protoreflect.ExtensionTypeDescriptor", fd.FullName()))
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return nil, xtd.Type()
 | 
							return nil, xtd
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	panic(fmt.Sprintf("field %v is invalid", fd.FullName()))
 | 
						panic(fmt.Sprintf("field %v is invalid", fd.FullName()))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										142
									
								
								vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										142
									
								
								vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -27,8 +27,9 @@ func (m *messageState) protoUnwrap() interface{} {
 | 
				
			|||||||
	return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem())
 | 
						return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) ProtoMethods() *protoiface.Methods {
 | 
					func (m *messageState) ProtoMethods() *protoiface.Methods {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	return &m.messageInfo().methods
 | 
						mi.init()
 | 
				
			||||||
 | 
						return &mi.methods
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code
 | 
					// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code
 | 
				
			||||||
@@ -41,8 +42,9 @@ func (m *messageState) ProtoMessageInfo() *MessageInfo {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 | 
					func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	for _, ri := range m.messageInfo().rangeInfos {
 | 
						mi.init()
 | 
				
			||||||
 | 
						for _, ri := range mi.rangeInfos {
 | 
				
			||||||
		switch ri := ri.(type) {
 | 
							switch ri := ri.(type) {
 | 
				
			||||||
		case *fieldInfo:
 | 
							case *fieldInfo:
 | 
				
			||||||
			if ri.has(m.pointer()) {
 | 
								if ri.has(m.pointer()) {
 | 
				
			||||||
@@ -52,77 +54,86 @@ func (m *messageState) Range(f func(protoreflect.FieldDescriptor, protoreflect.V
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		case *oneofInfo:
 | 
							case *oneofInfo:
 | 
				
			||||||
			if n := ri.which(m.pointer()); n > 0 {
 | 
								if n := ri.which(m.pointer()); n > 0 {
 | 
				
			||||||
				fi := m.messageInfo().fields[n]
 | 
									fi := mi.fields[n]
 | 
				
			||||||
				if !f(fi.fieldDesc, fi.get(m.pointer())) {
 | 
									if !f(fi.fieldDesc, fi.get(m.pointer())) {
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	m.messageInfo().extensionMap(m.pointer()).Range(f)
 | 
						mi.extensionMap(m.pointer()).Range(f)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool {
 | 
					func (m *messageState) Has(fd protoreflect.FieldDescriptor) bool {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.has(m.pointer())
 | 
							return fi.has(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return m.messageInfo().extensionMap(m.pointer()).Has(xt)
 | 
							return mi.extensionMap(m.pointer()).Has(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) Clear(fd protoreflect.FieldDescriptor) {
 | 
					func (m *messageState) Clear(fd protoreflect.FieldDescriptor) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		fi.clear(m.pointer())
 | 
							fi.clear(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		m.messageInfo().extensionMap(m.pointer()).Clear(xt)
 | 
							mi.extensionMap(m.pointer()).Clear(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
					func (m *messageState) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.get(m.pointer())
 | 
							return fi.get(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return m.messageInfo().extensionMap(m.pointer()).Get(xt)
 | 
							return mi.extensionMap(m.pointer()).Get(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
 | 
					func (m *messageState) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		fi.set(m.pointer(), v)
 | 
							fi.set(m.pointer(), v)
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		m.messageInfo().extensionMap(m.pointer()).Set(xt, v)
 | 
							mi.extensionMap(m.pointer()).Set(xd, v)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
					func (m *messageState) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.mutable(m.pointer())
 | 
							return fi.mutable(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return m.messageInfo().extensionMap(m.pointer()).Mutable(xt)
 | 
							return mi.extensionMap(m.pointer()).Mutable(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
					func (m *messageState) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.newField()
 | 
							return fi.newField()
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return xt.New()
 | 
							return xd.Type().New()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 | 
					func (m *messageState) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if oi := mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
 | 
				
			||||||
		return od.Fields().ByNumber(oi.which(m.pointer()))
 | 
							return od.Fields().ByNumber(oi.which(m.pointer()))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName()))
 | 
						panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName()))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) GetUnknown() protoreflect.RawFields {
 | 
					func (m *messageState) GetUnknown() protoreflect.RawFields {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	return m.messageInfo().getUnknown(m.pointer())
 | 
						mi.init()
 | 
				
			||||||
 | 
						return mi.getUnknown(m.pointer())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) SetUnknown(b protoreflect.RawFields) {
 | 
					func (m *messageState) SetUnknown(b protoreflect.RawFields) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	m.messageInfo().setUnknown(m.pointer(), b)
 | 
						mi.init()
 | 
				
			||||||
 | 
						mi.setUnknown(m.pointer(), b)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageState) IsValid() bool {
 | 
					func (m *messageState) IsValid() bool {
 | 
				
			||||||
	return !m.pointer().IsNil()
 | 
						return !m.pointer().IsNil()
 | 
				
			||||||
@@ -147,8 +158,9 @@ func (m *messageReflectWrapper) protoUnwrap() interface{} {
 | 
				
			|||||||
	return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem())
 | 
						return m.pointer().AsIfaceOf(m.messageInfo().GoReflectType.Elem())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods {
 | 
					func (m *messageReflectWrapper) ProtoMethods() *protoiface.Methods {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	return &m.messageInfo().methods
 | 
						mi.init()
 | 
				
			||||||
 | 
						return &mi.methods
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code
 | 
					// ProtoMessageInfo is a pseudo-internal API for allowing the v1 code
 | 
				
			||||||
@@ -161,8 +173,9 @@ func (m *messageReflectWrapper) ProtoMessageInfo() *MessageInfo {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 | 
					func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	for _, ri := range m.messageInfo().rangeInfos {
 | 
						mi.init()
 | 
				
			||||||
 | 
						for _, ri := range mi.rangeInfos {
 | 
				
			||||||
		switch ri := ri.(type) {
 | 
							switch ri := ri.(type) {
 | 
				
			||||||
		case *fieldInfo:
 | 
							case *fieldInfo:
 | 
				
			||||||
			if ri.has(m.pointer()) {
 | 
								if ri.has(m.pointer()) {
 | 
				
			||||||
@@ -172,77 +185,86 @@ func (m *messageReflectWrapper) Range(f func(protoreflect.FieldDescriptor, proto
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		case *oneofInfo:
 | 
							case *oneofInfo:
 | 
				
			||||||
			if n := ri.which(m.pointer()); n > 0 {
 | 
								if n := ri.which(m.pointer()); n > 0 {
 | 
				
			||||||
				fi := m.messageInfo().fields[n]
 | 
									fi := mi.fields[n]
 | 
				
			||||||
				if !f(fi.fieldDesc, fi.get(m.pointer())) {
 | 
									if !f(fi.fieldDesc, fi.get(m.pointer())) {
 | 
				
			||||||
					return
 | 
										return
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	m.messageInfo().extensionMap(m.pointer()).Range(f)
 | 
						mi.extensionMap(m.pointer()).Range(f)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool {
 | 
					func (m *messageReflectWrapper) Has(fd protoreflect.FieldDescriptor) bool {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.has(m.pointer())
 | 
							return fi.has(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return m.messageInfo().extensionMap(m.pointer()).Has(xt)
 | 
							return mi.extensionMap(m.pointer()).Has(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) {
 | 
					func (m *messageReflectWrapper) Clear(fd protoreflect.FieldDescriptor) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		fi.clear(m.pointer())
 | 
							fi.clear(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		m.messageInfo().extensionMap(m.pointer()).Clear(xt)
 | 
							mi.extensionMap(m.pointer()).Clear(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
					func (m *messageReflectWrapper) Get(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.get(m.pointer())
 | 
							return fi.get(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return m.messageInfo().extensionMap(m.pointer()).Get(xt)
 | 
							return mi.extensionMap(m.pointer()).Get(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
 | 
					func (m *messageReflectWrapper) Set(fd protoreflect.FieldDescriptor, v protoreflect.Value) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		fi.set(m.pointer(), v)
 | 
							fi.set(m.pointer(), v)
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		m.messageInfo().extensionMap(m.pointer()).Set(xt, v)
 | 
							mi.extensionMap(m.pointer()).Set(xd, v)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
					func (m *messageReflectWrapper) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.mutable(m.pointer())
 | 
							return fi.mutable(m.pointer())
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return m.messageInfo().extensionMap(m.pointer()).Mutable(xt)
 | 
							return mi.extensionMap(m.pointer()).Mutable(xd)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
					func (m *messageReflectWrapper) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if fi, xt := m.messageInfo().checkField(fd); fi != nil {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if fi, xd := mi.checkField(fd); fi != nil {
 | 
				
			||||||
		return fi.newField()
 | 
							return fi.newField()
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		return xt.New()
 | 
							return xd.Type().New()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 | 
					func (m *messageReflectWrapper) WhichOneof(od protoreflect.OneofDescriptor) protoreflect.FieldDescriptor {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	if oi := m.messageInfo().oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
 | 
						mi.init()
 | 
				
			||||||
 | 
						if oi := mi.oneofs[od.Name()]; oi != nil && oi.oneofDesc == od {
 | 
				
			||||||
		return od.Fields().ByNumber(oi.which(m.pointer()))
 | 
							return od.Fields().ByNumber(oi.which(m.pointer()))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName()))
 | 
						panic("invalid oneof descriptor " + string(od.FullName()) + " for message " + string(m.Descriptor().FullName()))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields {
 | 
					func (m *messageReflectWrapper) GetUnknown() protoreflect.RawFields {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	return m.messageInfo().getUnknown(m.pointer())
 | 
						mi.init()
 | 
				
			||||||
 | 
						return mi.getUnknown(m.pointer())
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) {
 | 
					func (m *messageReflectWrapper) SetUnknown(b protoreflect.RawFields) {
 | 
				
			||||||
	m.messageInfo().init()
 | 
						mi := m.messageInfo()
 | 
				
			||||||
	m.messageInfo().setUnknown(m.pointer(), b)
 | 
						mi.init()
 | 
				
			||||||
 | 
						mi.setUnknown(m.pointer(), b)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
func (m *messageReflectWrapper) IsValid() bool {
 | 
					func (m *messageReflectWrapper) IsValid() bool {
 | 
				
			||||||
	return !m.pointer().IsNil()
 | 
						return !m.pointer().IsNil()
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/version/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/google.golang.org/protobuf/internal/version/version.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -51,8 +51,8 @@ import (
 | 
				
			|||||||
//  10. Send out the CL for review and submit it.
 | 
					//  10. Send out the CL for review and submit it.
 | 
				
			||||||
const (
 | 
					const (
 | 
				
			||||||
	Major      = 1
 | 
						Major      = 1
 | 
				
			||||||
	Minor      = 33
 | 
						Minor      = 34
 | 
				
			||||||
	Patch      = 0
 | 
						Patch      = 1
 | 
				
			||||||
	PreRelease = ""
 | 
						PreRelease = ""
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/proto/decode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/proto/decode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -51,6 +51,8 @@ type UnmarshalOptions struct {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Unmarshal parses the wire-format message in b and places the result in m.
 | 
					// Unmarshal parses the wire-format message in b and places the result in m.
 | 
				
			||||||
// The provided message must be mutable (e.g., a non-nil pointer to a message).
 | 
					// The provided message must be mutable (e.g., a non-nil pointer to a message).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// See the [UnmarshalOptions] type if you need more control.
 | 
				
			||||||
func Unmarshal(b []byte, m Message) error {
 | 
					func Unmarshal(b []byte, m Message) error {
 | 
				
			||||||
	_, err := UnmarshalOptions{RecursionLimit: protowire.DefaultRecursionLimit}.unmarshal(b, m.ProtoReflect())
 | 
						_, err := UnmarshalOptions{RecursionLimit: protowire.DefaultRecursionLimit}.unmarshal(b, m.ProtoReflect())
 | 
				
			||||||
	return err
 | 
						return err
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										44
									
								
								vendor/google.golang.org/protobuf/proto/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								vendor/google.golang.org/protobuf/proto/encode.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -5,12 +5,17 @@
 | 
				
			|||||||
package proto
 | 
					package proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"errors"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"google.golang.org/protobuf/encoding/protowire"
 | 
						"google.golang.org/protobuf/encoding/protowire"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/encoding/messageset"
 | 
						"google.golang.org/protobuf/internal/encoding/messageset"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/order"
 | 
						"google.golang.org/protobuf/internal/order"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/pragma"
 | 
						"google.golang.org/protobuf/internal/pragma"
 | 
				
			||||||
	"google.golang.org/protobuf/reflect/protoreflect"
 | 
						"google.golang.org/protobuf/reflect/protoreflect"
 | 
				
			||||||
	"google.golang.org/protobuf/runtime/protoiface"
 | 
						"google.golang.org/protobuf/runtime/protoiface"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						protoerrors "google.golang.org/protobuf/internal/errors"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MarshalOptions configures the marshaler.
 | 
					// MarshalOptions configures the marshaler.
 | 
				
			||||||
@@ -70,7 +75,32 @@ type MarshalOptions struct {
 | 
				
			|||||||
	UseCachedSize bool
 | 
						UseCachedSize bool
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// flags turns the specified MarshalOptions (user-facing) into
 | 
				
			||||||
 | 
					// protoiface.MarshalInputFlags (used internally by the marshaler).
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// See impl.marshalOptions.Options for the inverse operation.
 | 
				
			||||||
 | 
					func (o MarshalOptions) flags() protoiface.MarshalInputFlags {
 | 
				
			||||||
 | 
						var flags protoiface.MarshalInputFlags
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Note: o.AllowPartial is always forced to true by MarshalOptions.marshal,
 | 
				
			||||||
 | 
						// which is why it is not a part of MarshalInputFlags.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if o.Deterministic {
 | 
				
			||||||
 | 
							flags |= protoiface.MarshalDeterministic
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if o.UseCachedSize {
 | 
				
			||||||
 | 
							flags |= protoiface.MarshalUseCachedSize
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return flags
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Marshal returns the wire-format encoding of m.
 | 
					// Marshal returns the wire-format encoding of m.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// This is the most common entry point for encoding a Protobuf message.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// See the [MarshalOptions] type if you need more control.
 | 
				
			||||||
func Marshal(m Message) ([]byte, error) {
 | 
					func Marshal(m Message) ([]byte, error) {
 | 
				
			||||||
	// Treat nil message interface as an empty message; nothing to output.
 | 
						// Treat nil message interface as an empty message; nothing to output.
 | 
				
			||||||
	if m == nil {
 | 
						if m == nil {
 | 
				
			||||||
@@ -116,6 +146,9 @@ func emptyBytesForMessage(m Message) []byte {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// MarshalAppend appends the wire-format encoding of m to b,
 | 
					// MarshalAppend appends the wire-format encoding of m to b,
 | 
				
			||||||
// returning the result.
 | 
					// returning the result.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// This is a less common entry point than [Marshal], which is only needed if you
 | 
				
			||||||
 | 
					// need to supply your own buffers for performance reasons.
 | 
				
			||||||
func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) {
 | 
					func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) {
 | 
				
			||||||
	// Treat nil message interface as an empty message; nothing to append.
 | 
						// Treat nil message interface as an empty message; nothing to append.
 | 
				
			||||||
	if m == nil {
 | 
						if m == nil {
 | 
				
			||||||
@@ -145,12 +178,7 @@ func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoifac
 | 
				
			|||||||
		in := protoiface.MarshalInput{
 | 
							in := protoiface.MarshalInput{
 | 
				
			||||||
			Message: m,
 | 
								Message: m,
 | 
				
			||||||
			Buf:     b,
 | 
								Buf:     b,
 | 
				
			||||||
		}
 | 
								Flags:   o.flags(),
 | 
				
			||||||
		if o.Deterministic {
 | 
					 | 
				
			||||||
			in.Flags |= protoiface.MarshalDeterministic
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		if o.UseCachedSize {
 | 
					 | 
				
			||||||
			in.Flags |= protoiface.MarshalUseCachedSize
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if methods.Size != nil {
 | 
							if methods.Size != nil {
 | 
				
			||||||
			sout := methods.Size(protoiface.SizeInput{
 | 
								sout := methods.Size(protoiface.SizeInput{
 | 
				
			||||||
@@ -168,6 +196,10 @@ func (o MarshalOptions) marshal(b []byte, m protoreflect.Message) (out protoifac
 | 
				
			|||||||
		out.Buf, err = o.marshalMessageSlow(b, m)
 | 
							out.Buf, err = o.marshalMessageSlow(b, m)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 | 
							var mismatch *protoerrors.SizeMismatchError
 | 
				
			||||||
 | 
							if errors.As(err, &mismatch) {
 | 
				
			||||||
 | 
								return out, fmt.Errorf("marshaling %s: %v", string(m.Descriptor().FullName()), err)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		return out, err
 | 
							return out, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if allowPartial {
 | 
						if allowPartial {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								vendor/google.golang.org/protobuf/proto/extension.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/google.golang.org/protobuf/proto/extension.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -11,18 +11,21 @@ import (
 | 
				
			|||||||
// HasExtension reports whether an extension field is populated.
 | 
					// HasExtension reports whether an extension field is populated.
 | 
				
			||||||
// It returns false if m is invalid or if xt does not extend m.
 | 
					// It returns false if m is invalid or if xt does not extend m.
 | 
				
			||||||
func HasExtension(m Message, xt protoreflect.ExtensionType) bool {
 | 
					func HasExtension(m Message, xt protoreflect.ExtensionType) bool {
 | 
				
			||||||
	// Treat nil message interface as an empty message; no populated fields.
 | 
						// Treat nil message interface or descriptor as an empty message; no populated
 | 
				
			||||||
	if m == nil {
 | 
						// fields.
 | 
				
			||||||
 | 
						if m == nil || xt == nil {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// As a special-case, we reports invalid or mismatching descriptors
 | 
						// As a special-case, we reports invalid or mismatching descriptors
 | 
				
			||||||
	// as always not being populated (since they aren't).
 | 
						// as always not being populated (since they aren't).
 | 
				
			||||||
	if xt == nil || m.ProtoReflect().Descriptor() != xt.TypeDescriptor().ContainingMessage() {
 | 
						mr := m.ProtoReflect()
 | 
				
			||||||
 | 
						xd := xt.TypeDescriptor()
 | 
				
			||||||
 | 
						if mr.Descriptor() != xd.ContainingMessage() {
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return m.ProtoReflect().Has(xt.TypeDescriptor())
 | 
						return mr.Has(xd)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ClearExtension clears an extension field such that subsequent
 | 
					// ClearExtension clears an extension field such that subsequent
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								vendor/google.golang.org/protobuf/proto/messageset.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/google.golang.org/protobuf/proto/messageset.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -47,11 +47,16 @@ func (o MarshalOptions) marshalMessageSet(b []byte, m protoreflect.Message) ([]b
 | 
				
			|||||||
func (o MarshalOptions) marshalMessageSetField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) {
 | 
					func (o MarshalOptions) marshalMessageSetField(b []byte, fd protoreflect.FieldDescriptor, value protoreflect.Value) ([]byte, error) {
 | 
				
			||||||
	b = messageset.AppendFieldStart(b, fd.Number())
 | 
						b = messageset.AppendFieldStart(b, fd.Number())
 | 
				
			||||||
	b = protowire.AppendTag(b, messageset.FieldMessage, protowire.BytesType)
 | 
						b = protowire.AppendTag(b, messageset.FieldMessage, protowire.BytesType)
 | 
				
			||||||
	b = protowire.AppendVarint(b, uint64(o.Size(value.Message().Interface())))
 | 
						calculatedSize := o.Size(value.Message().Interface())
 | 
				
			||||||
 | 
						b = protowire.AppendVarint(b, uint64(calculatedSize))
 | 
				
			||||||
 | 
						before := len(b)
 | 
				
			||||||
	b, err := o.marshalMessage(b, value.Message())
 | 
						b, err := o.marshalMessage(b, value.Message())
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return b, err
 | 
							return b, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if measuredSize := len(b) - before; calculatedSize != measuredSize {
 | 
				
			||||||
 | 
							return nil, errors.MismatchedSizeCalculation(calculatedSize, measuredSize)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	b = messageset.AppendFieldEnd(b)
 | 
						b = messageset.AppendFieldEnd(b)
 | 
				
			||||||
	return b, nil
 | 
						return b, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/proto/size.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/proto/size.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -34,6 +34,7 @@ func (o MarshalOptions) size(m protoreflect.Message) (size int) {
 | 
				
			|||||||
	if methods != nil && methods.Size != nil {
 | 
						if methods != nil && methods.Size != nil {
 | 
				
			||||||
		out := methods.Size(protoiface.SizeInput{
 | 
							out := methods.Size(protoiface.SizeInput{
 | 
				
			||||||
			Message: m,
 | 
								Message: m,
 | 
				
			||||||
 | 
								Flags:   o.flags(),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
		return out.Size
 | 
							return out.Size
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -42,6 +43,7 @@ func (o MarshalOptions) size(m protoreflect.Message) (size int) {
 | 
				
			|||||||
		// This case is mainly used for legacy types with a Marshal method.
 | 
							// This case is mainly used for legacy types with a Marshal method.
 | 
				
			||||||
		out, _ := methods.Marshal(protoiface.MarshalInput{
 | 
							out, _ := methods.Marshal(protoiface.MarshalInput{
 | 
				
			||||||
			Message: m,
 | 
								Message: m,
 | 
				
			||||||
 | 
								Flags:   o.flags(),
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
		return len(out.Buf)
 | 
							return len(out.Buf)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/desc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -13,6 +13,7 @@
 | 
				
			|||||||
package protodesc
 | 
					package protodesc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"google.golang.org/protobuf/internal/editionssupport"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/errors"
 | 
						"google.golang.org/protobuf/internal/errors"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/filedesc"
 | 
						"google.golang.org/protobuf/internal/filedesc"
 | 
				
			||||||
	"google.golang.org/protobuf/internal/pragma"
 | 
						"google.golang.org/protobuf/internal/pragma"
 | 
				
			||||||
@@ -91,15 +92,17 @@ func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (prot
 | 
				
			|||||||
	switch fd.GetSyntax() {
 | 
						switch fd.GetSyntax() {
 | 
				
			||||||
	case "proto2", "":
 | 
						case "proto2", "":
 | 
				
			||||||
		f.L1.Syntax = protoreflect.Proto2
 | 
							f.L1.Syntax = protoreflect.Proto2
 | 
				
			||||||
 | 
							f.L1.Edition = filedesc.EditionProto2
 | 
				
			||||||
	case "proto3":
 | 
						case "proto3":
 | 
				
			||||||
		f.L1.Syntax = protoreflect.Proto3
 | 
							f.L1.Syntax = protoreflect.Proto3
 | 
				
			||||||
 | 
							f.L1.Edition = filedesc.EditionProto3
 | 
				
			||||||
	case "editions":
 | 
						case "editions":
 | 
				
			||||||
		f.L1.Syntax = protoreflect.Editions
 | 
							f.L1.Syntax = protoreflect.Editions
 | 
				
			||||||
		f.L1.Edition = fromEditionProto(fd.GetEdition())
 | 
							f.L1.Edition = fromEditionProto(fd.GetEdition())
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		return nil, errors.New("invalid syntax: %q", fd.GetSyntax())
 | 
							return nil, errors.New("invalid syntax: %q", fd.GetSyntax())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if f.L1.Syntax == protoreflect.Editions && (fd.GetEdition() < SupportedEditionsMinimum || fd.GetEdition() > SupportedEditionsMaximum) {
 | 
						if f.L1.Syntax == protoreflect.Editions && (fd.GetEdition() < editionssupport.Minimum || fd.GetEdition() > editionssupport.Maximum) {
 | 
				
			||||||
		return nil, errors.New("use of edition %v not yet supported by the Go Protobuf runtime", fd.GetEdition())
 | 
							return nil, errors.New("use of edition %v not yet supported by the Go Protobuf runtime", fd.GetEdition())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	f.L1.Path = fd.GetName()
 | 
						f.L1.Path = fd.GetName()
 | 
				
			||||||
@@ -114,9 +117,7 @@ func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (prot
 | 
				
			|||||||
		opts = proto.Clone(opts).(*descriptorpb.FileOptions)
 | 
							opts = proto.Clone(opts).(*descriptorpb.FileOptions)
 | 
				
			||||||
		f.L2.Options = func() protoreflect.ProtoMessage { return opts }
 | 
							f.L2.Options = func() protoreflect.ProtoMessage { return opts }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if f.L1.Syntax == protoreflect.Editions {
 | 
					 | 
				
			||||||
	initFileDescFromFeatureSet(f, fd.GetOptions().GetFeatures())
 | 
						initFileDescFromFeatureSet(f, fd.GetOptions().GetFeatures())
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	f.L2.Imports = make(filedesc.FileImports, len(fd.GetDependency()))
 | 
						f.L2.Imports = make(filedesc.FileImports, len(fd.GetDependency()))
 | 
				
			||||||
	for _, i := range fd.GetPublicDependency() {
 | 
						for _, i := range fd.GetPublicDependency() {
 | 
				
			||||||
@@ -219,10 +220,10 @@ func (o FileOptions) New(fd *descriptorpb.FileDescriptorProto, r Resolver) (prot
 | 
				
			|||||||
	if err := validateEnumDeclarations(f.L1.Enums.List, fd.GetEnumType()); err != nil {
 | 
						if err := validateEnumDeclarations(f.L1.Enums.List, fd.GetEnumType()); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err := validateMessageDeclarations(f.L1.Messages.List, fd.GetMessageType()); err != nil {
 | 
						if err := validateMessageDeclarations(f, f.L1.Messages.List, fd.GetMessageType()); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if err := validateExtensionDeclarations(f.L1.Extensions.List, fd.GetExtension()); err != nil {
 | 
						if err := validateExtensionDeclarations(f, f.L1.Extensions.List, fd.GetExtension()); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -69,9 +69,7 @@ func (r descsByName) initMessagesDeclarations(mds []*descriptorpb.DescriptorProt
 | 
				
			|||||||
		if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil {
 | 
							if m.L0, err = r.makeBase(m, parent, md.GetName(), i, sb); err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if m.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
 | 
					 | 
				
			||||||
		m.L1.EditionFeatures = mergeEditionFeatures(parent, md.GetOptions().GetFeatures())
 | 
							m.L1.EditionFeatures = mergeEditionFeatures(parent, md.GetOptions().GetFeatures())
 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		if opts := md.GetOptions(); opts != nil {
 | 
							if opts := md.GetOptions(); opts != nil {
 | 
				
			||||||
			opts = proto.Clone(opts).(*descriptorpb.MessageOptions)
 | 
								opts = proto.Clone(opts).(*descriptorpb.MessageOptions)
 | 
				
			||||||
			m.L2.Options = func() protoreflect.ProtoMessage { return opts }
 | 
								m.L2.Options = func() protoreflect.ProtoMessage { return opts }
 | 
				
			||||||
@@ -146,13 +144,15 @@ func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDesc
 | 
				
			|||||||
		if f.L0, err = r.makeBase(f, parent, fd.GetName(), i, sb); err != nil {
 | 
							if f.L0, err = r.makeBase(f, parent, fd.GetName(), i, sb); err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							f.L1.EditionFeatures = mergeEditionFeatures(parent, fd.GetOptions().GetFeatures())
 | 
				
			||||||
		f.L1.IsProto3Optional = fd.GetProto3Optional()
 | 
							f.L1.IsProto3Optional = fd.GetProto3Optional()
 | 
				
			||||||
		if opts := fd.GetOptions(); opts != nil {
 | 
							if opts := fd.GetOptions(); opts != nil {
 | 
				
			||||||
			opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
 | 
								opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
 | 
				
			||||||
			f.L1.Options = func() protoreflect.ProtoMessage { return opts }
 | 
								f.L1.Options = func() protoreflect.ProtoMessage { return opts }
 | 
				
			||||||
			f.L1.IsWeak = opts.GetWeak()
 | 
								f.L1.IsWeak = opts.GetWeak()
 | 
				
			||||||
			f.L1.HasPacked = opts.Packed != nil
 | 
								if opts.Packed != nil {
 | 
				
			||||||
			f.L1.IsPacked = opts.GetPacked()
 | 
									f.L1.EditionFeatures.IsPacked = opts.GetPacked()
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		f.L1.Number = protoreflect.FieldNumber(fd.GetNumber())
 | 
							f.L1.Number = protoreflect.FieldNumber(fd.GetNumber())
 | 
				
			||||||
		f.L1.Cardinality = protoreflect.Cardinality(fd.GetLabel())
 | 
							f.L1.Cardinality = protoreflect.Cardinality(fd.GetLabel())
 | 
				
			||||||
@@ -163,34 +163,14 @@ func (r descsByName) initFieldsFromDescriptorProto(fds []*descriptorpb.FieldDesc
 | 
				
			|||||||
			f.L1.StringName.InitJSON(fd.GetJsonName())
 | 
								f.L1.StringName.InitJSON(fd.GetJsonName())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if f.Base.L0.ParentFile.Syntax() == protoreflect.Editions {
 | 
					 | 
				
			||||||
			f.L1.EditionFeatures = mergeEditionFeatures(parent, fd.GetOptions().GetFeatures())
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if f.L1.EditionFeatures.IsLegacyRequired {
 | 
							if f.L1.EditionFeatures.IsLegacyRequired {
 | 
				
			||||||
			f.L1.Cardinality = protoreflect.Required
 | 
								f.L1.Cardinality = protoreflect.Required
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
			// We reuse the existing field because the old option `[packed =
 | 
					 | 
				
			||||||
			// true]` is mutually exclusive with the editions feature.
 | 
					 | 
				
			||||||
			if canBePacked(fd) {
 | 
					 | 
				
			||||||
				f.L1.HasPacked = true
 | 
					 | 
				
			||||||
				f.L1.IsPacked = f.L1.EditionFeatures.IsPacked
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
			// We pretend this option is always explicitly set because the only
 | 
					 | 
				
			||||||
			// use of HasEnforceUTF8 is to determine whether to use EnforceUTF8
 | 
					 | 
				
			||||||
			// or to return the appropriate default.
 | 
					 | 
				
			||||||
			// When using editions we either parse the option or resolve the
 | 
					 | 
				
			||||||
			// appropriate default here (instead of later when this option is
 | 
					 | 
				
			||||||
			// requested from the descriptor).
 | 
					 | 
				
			||||||
			// In proto2/proto3 syntax HasEnforceUTF8 might be false.
 | 
					 | 
				
			||||||
			f.L1.HasEnforceUTF8 = true
 | 
					 | 
				
			||||||
			f.L1.EnforceUTF8 = f.L1.EditionFeatures.IsUTF8Validated
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if f.L1.Kind == protoreflect.MessageKind && f.L1.EditionFeatures.IsDelimitedEncoded {
 | 
							if f.L1.Kind == protoreflect.MessageKind && f.L1.EditionFeatures.IsDelimitedEncoded {
 | 
				
			||||||
			f.L1.Kind = protoreflect.GroupKind
 | 
								f.L1.Kind = protoreflect.GroupKind
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return fs, nil
 | 
						return fs, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -201,12 +181,10 @@ func (r descsByName) initOneofsFromDescriptorProto(ods []*descriptorpb.OneofDesc
 | 
				
			|||||||
		if o.L0, err = r.makeBase(o, parent, od.GetName(), i, sb); err != nil {
 | 
							if o.L0, err = r.makeBase(o, parent, od.GetName(), i, sb); err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							o.L1.EditionFeatures = mergeEditionFeatures(parent, od.GetOptions().GetFeatures())
 | 
				
			||||||
		if opts := od.GetOptions(); opts != nil {
 | 
							if opts := od.GetOptions(); opts != nil {
 | 
				
			||||||
			opts = proto.Clone(opts).(*descriptorpb.OneofOptions)
 | 
								opts = proto.Clone(opts).(*descriptorpb.OneofOptions)
 | 
				
			||||||
			o.L1.Options = func() protoreflect.ProtoMessage { return opts }
 | 
								o.L1.Options = func() protoreflect.ProtoMessage { return opts }
 | 
				
			||||||
			if parent.Syntax() == protoreflect.Editions {
 | 
					 | 
				
			||||||
				o.L1.EditionFeatures = mergeEditionFeatures(parent, opts.GetFeatures())
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return os, nil
 | 
						return os, nil
 | 
				
			||||||
@@ -220,10 +198,13 @@ func (r descsByName) initExtensionDeclarations(xds []*descriptorpb.FieldDescript
 | 
				
			|||||||
		if x.L0, err = r.makeBase(x, parent, xd.GetName(), i, sb); err != nil {
 | 
							if x.L0, err = r.makeBase(x, parent, xd.GetName(), i, sb); err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							x.L1.EditionFeatures = mergeEditionFeatures(parent, xd.GetOptions().GetFeatures())
 | 
				
			||||||
		if opts := xd.GetOptions(); opts != nil {
 | 
							if opts := xd.GetOptions(); opts != nil {
 | 
				
			||||||
			opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
 | 
								opts = proto.Clone(opts).(*descriptorpb.FieldOptions)
 | 
				
			||||||
			x.L2.Options = func() protoreflect.ProtoMessage { return opts }
 | 
								x.L2.Options = func() protoreflect.ProtoMessage { return opts }
 | 
				
			||||||
			x.L2.IsPacked = opts.GetPacked()
 | 
								if opts.Packed != nil {
 | 
				
			||||||
 | 
									x.L1.EditionFeatures.IsPacked = opts.GetPacked()
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		x.L1.Number = protoreflect.FieldNumber(xd.GetNumber())
 | 
							x.L1.Number = protoreflect.FieldNumber(xd.GetNumber())
 | 
				
			||||||
		x.L1.Cardinality = protoreflect.Cardinality(xd.GetLabel())
 | 
							x.L1.Cardinality = protoreflect.Cardinality(xd.GetLabel())
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										49
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -45,11 +45,11 @@ func validateEnumDeclarations(es []filedesc.Enum, eds []*descriptorpb.EnumDescri
 | 
				
			|||||||
		if allowAlias && !foundAlias {
 | 
							if allowAlias && !foundAlias {
 | 
				
			||||||
			return errors.New("enum %q allows aliases, but none were found", e.FullName())
 | 
								return errors.New("enum %q allows aliases, but none were found", e.FullName())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if e.Syntax() == protoreflect.Proto3 {
 | 
							if !e.IsClosed() {
 | 
				
			||||||
			if v := e.Values().Get(0); v.Number() != 0 {
 | 
								if v := e.Values().Get(0); v.Number() != 0 {
 | 
				
			||||||
				return errors.New("enum %q using proto3 semantics must have zero number for the first value", v.FullName())
 | 
									return errors.New("enum %q using open semantics must have zero number for the first value", v.FullName())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			// Verify that value names in proto3 do not conflict if the
 | 
								// Verify that value names in open enums do not conflict if the
 | 
				
			||||||
			// case-insensitive prefix is removed.
 | 
								// case-insensitive prefix is removed.
 | 
				
			||||||
			// See protoc v3.8.0: src/google/protobuf/descriptor.cc:4991-5055
 | 
								// See protoc v3.8.0: src/google/protobuf/descriptor.cc:4991-5055
 | 
				
			||||||
			names := map[string]protoreflect.EnumValueDescriptor{}
 | 
								names := map[string]protoreflect.EnumValueDescriptor{}
 | 
				
			||||||
@@ -58,7 +58,7 @@ func validateEnumDeclarations(es []filedesc.Enum, eds []*descriptorpb.EnumDescri
 | 
				
			|||||||
				v1 := e.Values().Get(i)
 | 
									v1 := e.Values().Get(i)
 | 
				
			||||||
				s := strs.EnumValueName(strs.TrimEnumPrefix(string(v1.Name()), prefix))
 | 
									s := strs.EnumValueName(strs.TrimEnumPrefix(string(v1.Name()), prefix))
 | 
				
			||||||
				if v2, ok := names[s]; ok && v1.Number() != v2.Number() {
 | 
									if v2, ok := names[s]; ok && v1.Number() != v2.Number() {
 | 
				
			||||||
					return errors.New("enum %q using proto3 semantics has conflict: %q with %q", e.FullName(), v1.Name(), v2.Name())
 | 
										return errors.New("enum %q using open semantics has conflict: %q with %q", e.FullName(), v1.Name(), v2.Name())
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				names[s] = v1
 | 
									names[s] = v1
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -80,7 +80,9 @@ func validateEnumDeclarations(es []filedesc.Enum, eds []*descriptorpb.EnumDescri
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.DescriptorProto) error {
 | 
					func validateMessageDeclarations(file *filedesc.File, ms []filedesc.Message, mds []*descriptorpb.DescriptorProto) error {
 | 
				
			||||||
 | 
						// There are a few limited exceptions only for proto3
 | 
				
			||||||
 | 
						isProto3 := file.L1.Edition == fromEditionProto(descriptorpb.Edition_EDITION_PROTO3)
 | 
				
			||||||
	for i, md := range mds {
 | 
						for i, md := range mds {
 | 
				
			||||||
		m := &ms[i]
 | 
							m := &ms[i]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -107,10 +109,10 @@ func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.Desc
 | 
				
			|||||||
		if isMessageSet && !flags.ProtoLegacy {
 | 
							if isMessageSet && !flags.ProtoLegacy {
 | 
				
			||||||
			return errors.New("message %q is a MessageSet, which is a legacy proto1 feature that is no longer supported", m.FullName())
 | 
								return errors.New("message %q is a MessageSet, which is a legacy proto1 feature that is no longer supported", m.FullName())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if isMessageSet && (m.Syntax() == protoreflect.Proto3 || m.Fields().Len() > 0 || m.ExtensionRanges().Len() == 0) {
 | 
							if isMessageSet && (isProto3 || m.Fields().Len() > 0 || m.ExtensionRanges().Len() == 0) {
 | 
				
			||||||
			return errors.New("message %q is an invalid proto1 MessageSet", m.FullName())
 | 
								return errors.New("message %q is an invalid proto1 MessageSet", m.FullName())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if m.Syntax() == protoreflect.Proto3 {
 | 
							if isProto3 {
 | 
				
			||||||
			if m.ExtensionRanges().Len() > 0 {
 | 
								if m.ExtensionRanges().Len() > 0 {
 | 
				
			||||||
				return errors.New("message %q using proto3 semantics cannot have extension ranges", m.FullName())
 | 
									return errors.New("message %q using proto3 semantics cannot have extension ranges", m.FullName())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
@@ -149,7 +151,7 @@ func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.Desc
 | 
				
			|||||||
				return errors.New("message field %q may not have extendee: %q", f.FullName(), fd.GetExtendee())
 | 
									return errors.New("message field %q may not have extendee: %q", f.FullName(), fd.GetExtendee())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if f.L1.IsProto3Optional {
 | 
								if f.L1.IsProto3Optional {
 | 
				
			||||||
				if f.Syntax() != protoreflect.Proto3 {
 | 
									if !isProto3 {
 | 
				
			||||||
					return errors.New("message field %q under proto3 optional semantics must be specified in the proto3 syntax", f.FullName())
 | 
										return errors.New("message field %q under proto3 optional semantics must be specified in the proto3 syntax", f.FullName())
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				if f.Cardinality() != protoreflect.Optional {
 | 
									if f.Cardinality() != protoreflect.Optional {
 | 
				
			||||||
@@ -162,26 +164,29 @@ func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.Desc
 | 
				
			|||||||
			if f.IsWeak() && !flags.ProtoLegacy {
 | 
								if f.IsWeak() && !flags.ProtoLegacy {
 | 
				
			||||||
				return errors.New("message field %q is a weak field, which is a legacy proto1 feature that is no longer supported", f.FullName())
 | 
									return errors.New("message field %q is a weak field, which is a legacy proto1 feature that is no longer supported", f.FullName())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if f.IsWeak() && (f.Syntax() != protoreflect.Proto2 || !isOptionalMessage(f) || f.ContainingOneof() != nil) {
 | 
								if f.IsWeak() && (!f.HasPresence() || !isOptionalMessage(f) || f.ContainingOneof() != nil) {
 | 
				
			||||||
				return errors.New("message field %q may only be weak for an optional message", f.FullName())
 | 
									return errors.New("message field %q may only be weak for an optional message", f.FullName())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if f.IsPacked() && !isPackable(f) {
 | 
								if f.IsPacked() && !isPackable(f) {
 | 
				
			||||||
				return errors.New("message field %q is not packable", f.FullName())
 | 
									return errors.New("message field %q is not packable", f.FullName())
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if err := checkValidGroup(f); err != nil {
 | 
								if err := checkValidGroup(file, f); err != nil {
 | 
				
			||||||
				return errors.New("message field %q is an invalid group: %v", f.FullName(), err)
 | 
									return errors.New("message field %q is an invalid group: %v", f.FullName(), err)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if err := checkValidMap(f); err != nil {
 | 
								if err := checkValidMap(f); err != nil {
 | 
				
			||||||
				return errors.New("message field %q is an invalid map: %v", f.FullName(), err)
 | 
									return errors.New("message field %q is an invalid map: %v", f.FullName(), err)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if f.Syntax() == protoreflect.Proto3 {
 | 
								if isProto3 {
 | 
				
			||||||
				if f.Cardinality() == protoreflect.Required {
 | 
									if f.Cardinality() == protoreflect.Required {
 | 
				
			||||||
					return errors.New("message field %q using proto3 semantics cannot be required", f.FullName())
 | 
										return errors.New("message field %q using proto3 semantics cannot be required", f.FullName())
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				if f.Enum() != nil && !f.Enum().IsPlaceholder() && f.Enum().Syntax() != protoreflect.Proto3 {
 | 
									if f.Enum() != nil && !f.Enum().IsPlaceholder() && f.Enum().IsClosed() {
 | 
				
			||||||
					return errors.New("message field %q using proto3 semantics may only depend on a proto3 enum", f.FullName())
 | 
										return errors.New("message field %q using proto3 semantics may only depend on open enums", f.FullName())
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
								if f.Cardinality() == protoreflect.Optional && !f.HasPresence() && f.Enum() != nil && !f.Enum().IsPlaceholder() && f.Enum().IsClosed() {
 | 
				
			||||||
 | 
									return errors.New("message field %q with implicit presence may only use open enums", f.FullName())
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		seenSynthetic := false // synthetic oneofs for proto3 optional must come after real oneofs
 | 
							seenSynthetic := false // synthetic oneofs for proto3 optional must come after real oneofs
 | 
				
			||||||
		for j := range md.GetOneofDecl() {
 | 
							for j := range md.GetOneofDecl() {
 | 
				
			||||||
@@ -215,17 +220,17 @@ func validateMessageDeclarations(ms []filedesc.Message, mds []*descriptorpb.Desc
 | 
				
			|||||||
		if err := validateEnumDeclarations(m.L1.Enums.List, md.GetEnumType()); err != nil {
 | 
							if err := validateEnumDeclarations(m.L1.Enums.List, md.GetEnumType()); err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if err := validateMessageDeclarations(m.L1.Messages.List, md.GetNestedType()); err != nil {
 | 
							if err := validateMessageDeclarations(file, m.L1.Messages.List, md.GetNestedType()); err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if err := validateExtensionDeclarations(m.L1.Extensions.List, md.GetExtension()); err != nil {
 | 
							if err := validateExtensionDeclarations(file, m.L1.Extensions.List, md.GetExtension()); err != nil {
 | 
				
			||||||
			return err
 | 
								return err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func validateExtensionDeclarations(xs []filedesc.Extension, xds []*descriptorpb.FieldDescriptorProto) error {
 | 
					func validateExtensionDeclarations(f *filedesc.File, xs []filedesc.Extension, xds []*descriptorpb.FieldDescriptorProto) error {
 | 
				
			||||||
	for i, xd := range xds {
 | 
						for i, xd := range xds {
 | 
				
			||||||
		x := &xs[i]
 | 
							x := &xs[i]
 | 
				
			||||||
		// NOTE: Avoid using the IsValid method since extensions to MessageSet
 | 
							// NOTE: Avoid using the IsValid method since extensions to MessageSet
 | 
				
			||||||
@@ -267,13 +272,13 @@ func validateExtensionDeclarations(xs []filedesc.Extension, xds []*descriptorpb.
 | 
				
			|||||||
		if x.IsPacked() && !isPackable(x) {
 | 
							if x.IsPacked() && !isPackable(x) {
 | 
				
			||||||
			return errors.New("extension field %q is not packable", x.FullName())
 | 
								return errors.New("extension field %q is not packable", x.FullName())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if err := checkValidGroup(x); err != nil {
 | 
							if err := checkValidGroup(f, x); err != nil {
 | 
				
			||||||
			return errors.New("extension field %q is an invalid group: %v", x.FullName(), err)
 | 
								return errors.New("extension field %q is an invalid group: %v", x.FullName(), err)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if md := x.Message(); md != nil && md.IsMapEntry() {
 | 
							if md := x.Message(); md != nil && md.IsMapEntry() {
 | 
				
			||||||
			return errors.New("extension field %q cannot be a map entry", x.FullName())
 | 
								return errors.New("extension field %q cannot be a map entry", x.FullName())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if x.Syntax() == protoreflect.Proto3 {
 | 
							if f.L1.Edition == fromEditionProto(descriptorpb.Edition_EDITION_PROTO3) {
 | 
				
			||||||
			switch x.ContainingMessage().FullName() {
 | 
								switch x.ContainingMessage().FullName() {
 | 
				
			||||||
			case (*descriptorpb.FileOptions)(nil).ProtoReflect().Descriptor().FullName():
 | 
								case (*descriptorpb.FileOptions)(nil).ProtoReflect().Descriptor().FullName():
 | 
				
			||||||
			case (*descriptorpb.EnumOptions)(nil).ProtoReflect().Descriptor().FullName():
 | 
								case (*descriptorpb.EnumOptions)(nil).ProtoReflect().Descriptor().FullName():
 | 
				
			||||||
@@ -309,15 +314,18 @@ func isPackable(fd protoreflect.FieldDescriptor) bool {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// checkValidGroup reports whether fd is a valid group according to the same
 | 
					// checkValidGroup reports whether fd is a valid group according to the same
 | 
				
			||||||
// rules that protoc imposes.
 | 
					// rules that protoc imposes.
 | 
				
			||||||
func checkValidGroup(fd protoreflect.FieldDescriptor) error {
 | 
					func checkValidGroup(f *filedesc.File, fd protoreflect.FieldDescriptor) error {
 | 
				
			||||||
	md := fd.Message()
 | 
						md := fd.Message()
 | 
				
			||||||
	switch {
 | 
						switch {
 | 
				
			||||||
	case fd.Kind() != protoreflect.GroupKind:
 | 
						case fd.Kind() != protoreflect.GroupKind:
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
	case fd.Syntax() == protoreflect.Proto3:
 | 
						case f.L1.Edition == fromEditionProto(descriptorpb.Edition_EDITION_PROTO3):
 | 
				
			||||||
		return errors.New("invalid under proto3 semantics")
 | 
							return errors.New("invalid under proto3 semantics")
 | 
				
			||||||
	case md == nil || md.IsPlaceholder():
 | 
						case md == nil || md.IsPlaceholder():
 | 
				
			||||||
		return errors.New("message must be resolvable")
 | 
							return errors.New("message must be resolvable")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if f.L1.Edition < fromEditionProto(descriptorpb.Edition_EDITION_2023) {
 | 
				
			||||||
 | 
							switch {
 | 
				
			||||||
		case fd.FullName().Parent() != md.FullName().Parent():
 | 
							case fd.FullName().Parent() != md.FullName().Parent():
 | 
				
			||||||
			return errors.New("message and field must be declared in the same scope")
 | 
								return errors.New("message and field must be declared in the same scope")
 | 
				
			||||||
		case !unicode.IsUpper(rune(md.Name()[0])):
 | 
							case !unicode.IsUpper(rune(md.Name()[0])):
 | 
				
			||||||
@@ -325,6 +333,7 @@ func checkValidGroup(fd protoreflect.FieldDescriptor) error {
 | 
				
			|||||||
		case fd.Name() != protoreflect.Name(strings.ToLower(string(md.Name()))):
 | 
							case fd.Name() != protoreflect.Name(strings.ToLower(string(md.Name()))):
 | 
				
			||||||
			return errors.New("field name must be lowercased form of the message name")
 | 
								return errors.New("field name must be lowercased form of the message name")
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/editions.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -17,11 +17,6 @@ import (
 | 
				
			|||||||
	gofeaturespb "google.golang.org/protobuf/types/gofeaturespb"
 | 
						gofeaturespb "google.golang.org/protobuf/types/gofeaturespb"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const (
 | 
					 | 
				
			||||||
	SupportedEditionsMinimum = descriptorpb.Edition_EDITION_PROTO2
 | 
					 | 
				
			||||||
	SupportedEditionsMaximum = descriptorpb.Edition_EDITION_2023
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
var defaults = &descriptorpb.FeatureSetDefaults{}
 | 
					var defaults = &descriptorpb.FeatureSetDefaults{}
 | 
				
			||||||
var defaultsCacheMu sync.Mutex
 | 
					var defaultsCacheMu sync.Mutex
 | 
				
			||||||
var defaultsCache = make(map[filedesc.Edition]*descriptorpb.FeatureSet)
 | 
					var defaultsCache = make(map[filedesc.Edition]*descriptorpb.FeatureSet)
 | 
				
			||||||
@@ -67,18 +62,20 @@ func getFeatureSetFor(ed filedesc.Edition) *descriptorpb.FeatureSet {
 | 
				
			|||||||
		fmt.Fprintf(os.Stderr, "internal error: unsupported edition %v (did you forget to update the embedded defaults (i.e. the bootstrap descriptor proto)?)\n", edpb)
 | 
							fmt.Fprintf(os.Stderr, "internal error: unsupported edition %v (did you forget to update the embedded defaults (i.e. the bootstrap descriptor proto)?)\n", edpb)
 | 
				
			||||||
		os.Exit(1)
 | 
							os.Exit(1)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	fs := defaults.GetDefaults()[0].GetFeatures()
 | 
						fsed := defaults.GetDefaults()[0]
 | 
				
			||||||
	// Using a linear search for now.
 | 
						// Using a linear search for now.
 | 
				
			||||||
	// Editions are guaranteed to be sorted and thus we could use a binary search.
 | 
						// Editions are guaranteed to be sorted and thus we could use a binary search.
 | 
				
			||||||
	// Given that there are only a handful of editions (with one more per year)
 | 
						// Given that there are only a handful of editions (with one more per year)
 | 
				
			||||||
	// there is not much reason to use a binary search.
 | 
						// there is not much reason to use a binary search.
 | 
				
			||||||
	for _, def := range defaults.GetDefaults() {
 | 
						for _, def := range defaults.GetDefaults() {
 | 
				
			||||||
		if def.GetEdition() <= edpb {
 | 
							if def.GetEdition() <= edpb {
 | 
				
			||||||
			fs = def.GetFeatures()
 | 
								fsed = def
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			break
 | 
								break
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						fs := proto.Clone(fsed.GetFixedFeatures()).(*descriptorpb.FeatureSet)
 | 
				
			||||||
 | 
						proto.Merge(fs, fsed.GetOverridableFeatures())
 | 
				
			||||||
	defaultsCache[ed] = fs
 | 
						defaultsCache[ed] = fs
 | 
				
			||||||
	return fs
 | 
						return fs
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								vendor/google.golang.org/protobuf/reflect/protodesc/proto.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -73,6 +73,16 @@ func ToFileDescriptorProto(file protoreflect.FileDescriptor) *descriptorpb.FileD
 | 
				
			|||||||
	if syntax := file.Syntax(); syntax != protoreflect.Proto2 && syntax.IsValid() {
 | 
						if syntax := file.Syntax(); syntax != protoreflect.Proto2 && syntax.IsValid() {
 | 
				
			||||||
		p.Syntax = proto.String(file.Syntax().String())
 | 
							p.Syntax = proto.String(file.Syntax().String())
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if file.Syntax() == protoreflect.Editions {
 | 
				
			||||||
 | 
							desc := file
 | 
				
			||||||
 | 
							if fileImportDesc, ok := file.(protoreflect.FileImport); ok {
 | 
				
			||||||
 | 
								desc = fileImportDesc.FileDescriptor
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if editionsInterface, ok := desc.(interface{ Edition() int32 }); ok {
 | 
				
			||||||
 | 
								p.Edition = descriptorpb.Edition(editionsInterface.Edition()).Enum()
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return p
 | 
						return p
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -153,6 +163,18 @@ func ToFieldDescriptorProto(field protoreflect.FieldDescriptor) *descriptorpb.Fi
 | 
				
			|||||||
	if field.Syntax() == protoreflect.Proto3 && field.HasOptionalKeyword() {
 | 
						if field.Syntax() == protoreflect.Proto3 && field.HasOptionalKeyword() {
 | 
				
			||||||
		p.Proto3Optional = proto.Bool(true)
 | 
							p.Proto3Optional = proto.Bool(true)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if field.Syntax() == protoreflect.Editions {
 | 
				
			||||||
 | 
							// Editions have no group keyword, this type is only set so that downstream users continue
 | 
				
			||||||
 | 
							// treating this as delimited encoding.
 | 
				
			||||||
 | 
							if p.GetType() == descriptorpb.FieldDescriptorProto_TYPE_GROUP {
 | 
				
			||||||
 | 
								p.Type = descriptorpb.FieldDescriptorProto_TYPE_MESSAGE.Enum()
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							// Editions have no required keyword, this label is only set so that downstream users continue
 | 
				
			||||||
 | 
							// treating it as required.
 | 
				
			||||||
 | 
							if p.GetLabel() == descriptorpb.FieldDescriptorProto_LABEL_REQUIRED {
 | 
				
			||||||
 | 
								p.Label = descriptorpb.FieldDescriptorProto_LABEL_OPTIONAL.Enum()
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	if field.HasDefault() {
 | 
						if field.HasDefault() {
 | 
				
			||||||
		def, err := defval.Marshal(field.Default(), field.DefaultEnumValue(), field.Kind(), defval.Descriptor)
 | 
							def, err := defval.Marshal(field.Default(), field.DefaultEnumValue(), field.Kind(), defval.Descriptor)
 | 
				
			||||||
		if err != nil && field.DefaultEnumValue() != nil {
 | 
							if err != nil && field.DefaultEnumValue() != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -161,7 +161,7 @@ const (
 | 
				
			|||||||
// IsValid reports whether the syntax is valid.
 | 
					// IsValid reports whether the syntax is valid.
 | 
				
			||||||
func (s Syntax) IsValid() bool {
 | 
					func (s Syntax) IsValid() bool {
 | 
				
			||||||
	switch s {
 | 
						switch s {
 | 
				
			||||||
	case Proto2, Proto3:
 | 
						case Proto2, Proto3, Editions:
 | 
				
			||||||
		return true
 | 
							return true
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		return false
 | 
							return false
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -373,6 +373,8 @@ func (p *SourcePath) appendFieldOptions(b []byte) []byte {
 | 
				
			|||||||
		b = p.appendRepeatedField(b, "edition_defaults", (*SourcePath).appendFieldOptions_EditionDefault)
 | 
							b = p.appendRepeatedField(b, "edition_defaults", (*SourcePath).appendFieldOptions_EditionDefault)
 | 
				
			||||||
	case 21:
 | 
						case 21:
 | 
				
			||||||
		b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
 | 
							b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
 | 
				
			||||||
 | 
						case 22:
 | 
				
			||||||
 | 
							b = p.appendSingularField(b, "feature_support", (*SourcePath).appendFieldOptions_FeatureSupport)
 | 
				
			||||||
	case 999:
 | 
						case 999:
 | 
				
			||||||
		b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
 | 
							b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -519,6 +521,23 @@ func (p *SourcePath) appendFieldOptions_EditionDefault(b []byte) []byte {
 | 
				
			|||||||
	return b
 | 
						return b
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (p *SourcePath) appendFieldOptions_FeatureSupport(b []byte) []byte {
 | 
				
			||||||
 | 
						if len(*p) == 0 {
 | 
				
			||||||
 | 
							return b
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						switch (*p)[0] {
 | 
				
			||||||
 | 
						case 1:
 | 
				
			||||||
 | 
							b = p.appendSingularField(b, "edition_introduced", nil)
 | 
				
			||||||
 | 
						case 2:
 | 
				
			||||||
 | 
							b = p.appendSingularField(b, "edition_deprecated", nil)
 | 
				
			||||||
 | 
						case 3:
 | 
				
			||||||
 | 
							b = p.appendSingularField(b, "deprecation_warning", nil)
 | 
				
			||||||
 | 
						case 4:
 | 
				
			||||||
 | 
							b = p.appendSingularField(b, "edition_removed", nil)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return b
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte {
 | 
					func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte {
 | 
				
			||||||
	if len(*p) == 0 {
 | 
						if len(*p) == 0 {
 | 
				
			||||||
		return b
 | 
							return b
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -544,6 +544,12 @@ type EnumDescriptor interface {
 | 
				
			|||||||
	// ReservedRanges is a list of reserved ranges of enum numbers.
 | 
						// ReservedRanges is a list of reserved ranges of enum numbers.
 | 
				
			||||||
	ReservedRanges() EnumRanges
 | 
						ReservedRanges() EnumRanges
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// IsClosed reports whether this enum uses closed semantics.
 | 
				
			||||||
 | 
						// See https://protobuf.dev/programming-guides/enum/#definitions.
 | 
				
			||||||
 | 
						// Note: the Go protobuf implementation is not spec compliant and treats
 | 
				
			||||||
 | 
						// all enums as open enums.
 | 
				
			||||||
 | 
						IsClosed() bool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	isEnumDescriptor
 | 
						isEnumDescriptor
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
type isEnumDescriptor interface{ ProtoType(EnumDescriptor) }
 | 
					type isEnumDescriptor interface{ ProtoType(EnumDescriptor) }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										632
									
								
								vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										632
									
								
								vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -54,6 +54,9 @@ type Edition int32
 | 
				
			|||||||
const (
 | 
					const (
 | 
				
			||||||
	// A placeholder for an unknown edition value.
 | 
						// A placeholder for an unknown edition value.
 | 
				
			||||||
	Edition_EDITION_UNKNOWN Edition = 0
 | 
						Edition_EDITION_UNKNOWN Edition = 0
 | 
				
			||||||
 | 
						// A placeholder edition for specifying default behaviors *before* a feature
 | 
				
			||||||
 | 
						// was first introduced.  This is effectively an "infinite past".
 | 
				
			||||||
 | 
						Edition_EDITION_LEGACY Edition = 900
 | 
				
			||||||
	// Legacy syntax "editions".  These pre-date editions, but behave much like
 | 
						// Legacy syntax "editions".  These pre-date editions, but behave much like
 | 
				
			||||||
	// distinct editions.  These can't be used to specify the edition of proto
 | 
						// distinct editions.  These can't be used to specify the edition of proto
 | 
				
			||||||
	// files, but feature definitions must supply proto2/proto3 defaults for
 | 
						// files, but feature definitions must supply proto2/proto3 defaults for
 | 
				
			||||||
@@ -82,6 +85,7 @@ const (
 | 
				
			|||||||
var (
 | 
					var (
 | 
				
			||||||
	Edition_name = map[int32]string{
 | 
						Edition_name = map[int32]string{
 | 
				
			||||||
		0:          "EDITION_UNKNOWN",
 | 
							0:          "EDITION_UNKNOWN",
 | 
				
			||||||
 | 
							900:        "EDITION_LEGACY",
 | 
				
			||||||
		998:        "EDITION_PROTO2",
 | 
							998:        "EDITION_PROTO2",
 | 
				
			||||||
		999:        "EDITION_PROTO3",
 | 
							999:        "EDITION_PROTO3",
 | 
				
			||||||
		1000:       "EDITION_2023",
 | 
							1000:       "EDITION_2023",
 | 
				
			||||||
@@ -95,6 +99,7 @@ var (
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	Edition_value = map[string]int32{
 | 
						Edition_value = map[string]int32{
 | 
				
			||||||
		"EDITION_UNKNOWN":         0,
 | 
							"EDITION_UNKNOWN":         0,
 | 
				
			||||||
 | 
							"EDITION_LEGACY":          900,
 | 
				
			||||||
		"EDITION_PROTO2":          998,
 | 
							"EDITION_PROTO2":          998,
 | 
				
			||||||
		"EDITION_PROTO3":          999,
 | 
							"EDITION_PROTO3":          999,
 | 
				
			||||||
		"EDITION_2023":            1000,
 | 
							"EDITION_2023":            1000,
 | 
				
			||||||
@@ -2177,12 +2182,16 @@ type FileOptions struct {
 | 
				
			|||||||
	//
 | 
						//
 | 
				
			||||||
	// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
 | 
						// Deprecated: Marked as deprecated in google/protobuf/descriptor.proto.
 | 
				
			||||||
	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
 | 
						JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
 | 
				
			||||||
	// If set true, then the Java2 code generator will generate code that
 | 
						// A proto2 file can set this to true to opt in to UTF-8 checking for Java,
 | 
				
			||||||
	// throws an exception whenever an attempt is made to assign a non-UTF-8
 | 
						// which will throw an exception if invalid UTF-8 is parsed from the wire or
 | 
				
			||||||
	// byte sequence to a string field.
 | 
						// assigned to a string field.
 | 
				
			||||||
	// Message reflection will do the same.
 | 
						//
 | 
				
			||||||
	// However, an extension field still accepts non-UTF-8 byte sequences.
 | 
						// TODO: clarify exactly what kinds of field types this option
 | 
				
			||||||
	// This option has no effect on when used with the lite runtime.
 | 
						// applies to, and update these docs accordingly.
 | 
				
			||||||
 | 
						//
 | 
				
			||||||
 | 
						// Proto3 files already perform these checks. Setting the option explicitly to
 | 
				
			||||||
 | 
						// false has no effect: it cannot be used to opt proto3 files out of UTF-8
 | 
				
			||||||
 | 
						// checks.
 | 
				
			||||||
	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
 | 
						JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
 | 
				
			||||||
	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
 | 
						OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
 | 
				
			||||||
	// Sets the Go package where structs generated from this .proto will be
 | 
						// Sets the Go package where structs generated from this .proto will be
 | 
				
			||||||
@@ -2680,6 +2689,7 @@ type FieldOptions struct {
 | 
				
			|||||||
	EditionDefaults []*FieldOptions_EditionDefault  `protobuf:"bytes,20,rep,name=edition_defaults,json=editionDefaults" json:"edition_defaults,omitempty"`
 | 
						EditionDefaults []*FieldOptions_EditionDefault  `protobuf:"bytes,20,rep,name=edition_defaults,json=editionDefaults" json:"edition_defaults,omitempty"`
 | 
				
			||||||
	// Any features defined in the specific edition.
 | 
						// Any features defined in the specific edition.
 | 
				
			||||||
	Features       *FeatureSet                  `protobuf:"bytes,21,opt,name=features" json:"features,omitempty"`
 | 
						Features       *FeatureSet                  `protobuf:"bytes,21,opt,name=features" json:"features,omitempty"`
 | 
				
			||||||
 | 
						FeatureSupport *FieldOptions_FeatureSupport `protobuf:"bytes,22,opt,name=feature_support,json=featureSupport" json:"feature_support,omitempty"`
 | 
				
			||||||
	// The parser stores options it doesn't recognize here. See above.
 | 
						// The parser stores options it doesn't recognize here. See above.
 | 
				
			||||||
	UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
 | 
						UninterpretedOption []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -2811,6 +2821,13 @@ func (x *FieldOptions) GetFeatures() *FeatureSet {
 | 
				
			|||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions) GetFeatureSupport() *FieldOptions_FeatureSupport {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.FeatureSupport
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
 | 
					func (x *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.UninterpretedOption
 | 
							return x.UninterpretedOption
 | 
				
			||||||
@@ -3968,6 +3985,88 @@ func (x *FieldOptions_EditionDefault) GetValue() string {
 | 
				
			|||||||
	return ""
 | 
						return ""
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Information about the support window of a feature.
 | 
				
			||||||
 | 
					type FieldOptions_FeatureSupport struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// The edition that this feature was first available in.  In editions
 | 
				
			||||||
 | 
						// earlier than this one, the default assigned to EDITION_LEGACY will be
 | 
				
			||||||
 | 
						// used, and proto files will not be able to override it.
 | 
				
			||||||
 | 
						EditionIntroduced *Edition `protobuf:"varint,1,opt,name=edition_introduced,json=editionIntroduced,enum=google.protobuf.Edition" json:"edition_introduced,omitempty"`
 | 
				
			||||||
 | 
						// The edition this feature becomes deprecated in.  Using this after this
 | 
				
			||||||
 | 
						// edition may trigger warnings.
 | 
				
			||||||
 | 
						EditionDeprecated *Edition `protobuf:"varint,2,opt,name=edition_deprecated,json=editionDeprecated,enum=google.protobuf.Edition" json:"edition_deprecated,omitempty"`
 | 
				
			||||||
 | 
						// The deprecation warning text if this feature is used after the edition it
 | 
				
			||||||
 | 
						// was marked deprecated in.
 | 
				
			||||||
 | 
						DeprecationWarning *string `protobuf:"bytes,3,opt,name=deprecation_warning,json=deprecationWarning" json:"deprecation_warning,omitempty"`
 | 
				
			||||||
 | 
						// The edition this feature is no longer available in.  In editions after
 | 
				
			||||||
 | 
						// this one, the last default assigned will be used, and proto files will
 | 
				
			||||||
 | 
						// not be able to override it.
 | 
				
			||||||
 | 
						EditionRemoved *Edition `protobuf:"varint,4,opt,name=edition_removed,json=editionRemoved,enum=google.protobuf.Edition" json:"edition_removed,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) Reset() {
 | 
				
			||||||
 | 
						*x = FieldOptions_FeatureSupport{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_google_protobuf_descriptor_proto_msgTypes[28]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*FieldOptions_FeatureSupport) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_google_protobuf_descriptor_proto_msgTypes[28]
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
 | 
								ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return ms
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return mi.MessageOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Deprecated: Use FieldOptions_FeatureSupport.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*FieldOptions_FeatureSupport) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_google_protobuf_descriptor_proto_rawDescGZIP(), []int{12, 1}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) GetEditionIntroduced() Edition {
 | 
				
			||||||
 | 
						if x != nil && x.EditionIntroduced != nil {
 | 
				
			||||||
 | 
							return *x.EditionIntroduced
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return Edition_EDITION_UNKNOWN
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) GetEditionDeprecated() Edition {
 | 
				
			||||||
 | 
						if x != nil && x.EditionDeprecated != nil {
 | 
				
			||||||
 | 
							return *x.EditionDeprecated
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return Edition_EDITION_UNKNOWN
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) GetDeprecationWarning() string {
 | 
				
			||||||
 | 
						if x != nil && x.DeprecationWarning != nil {
 | 
				
			||||||
 | 
							return *x.DeprecationWarning
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FieldOptions_FeatureSupport) GetEditionRemoved() Edition {
 | 
				
			||||||
 | 
						if x != nil && x.EditionRemoved != nil {
 | 
				
			||||||
 | 
							return *x.EditionRemoved
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return Edition_EDITION_UNKNOWN
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// The name of the uninterpreted option.  Each string represents a segment in
 | 
					// The name of the uninterpreted option.  Each string represents a segment in
 | 
				
			||||||
// a dot-separated name.  is_extension is true iff a segment represents an
 | 
					// a dot-separated name.  is_extension is true iff a segment represents an
 | 
				
			||||||
// extension (denoted with parentheses in options specs in .proto files).
 | 
					// extension (denoted with parentheses in options specs in .proto files).
 | 
				
			||||||
@@ -3985,7 +4084,7 @@ type UninterpretedOption_NamePart struct {
 | 
				
			|||||||
func (x *UninterpretedOption_NamePart) Reset() {
 | 
					func (x *UninterpretedOption_NamePart) Reset() {
 | 
				
			||||||
	*x = UninterpretedOption_NamePart{}
 | 
						*x = UninterpretedOption_NamePart{}
 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
		mi := &file_google_protobuf_descriptor_proto_msgTypes[28]
 | 
							mi := &file_google_protobuf_descriptor_proto_msgTypes[29]
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -3998,7 +4097,7 @@ func (x *UninterpretedOption_NamePart) String() string {
 | 
				
			|||||||
func (*UninterpretedOption_NamePart) ProtoMessage() {}
 | 
					func (*UninterpretedOption_NamePart) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message {
 | 
					func (x *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
	mi := &file_google_protobuf_descriptor_proto_msgTypes[28]
 | 
						mi := &file_google_protobuf_descriptor_proto_msgTypes[29]
 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
@@ -4038,13 +4137,16 @@ type FeatureSetDefaults_FeatureSetEditionDefault struct {
 | 
				
			|||||||
	unknownFields protoimpl.UnknownFields
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Edition *Edition `protobuf:"varint,3,opt,name=edition,enum=google.protobuf.Edition" json:"edition,omitempty"`
 | 
						Edition *Edition `protobuf:"varint,3,opt,name=edition,enum=google.protobuf.Edition" json:"edition,omitempty"`
 | 
				
			||||||
	Features *FeatureSet `protobuf:"bytes,2,opt,name=features" json:"features,omitempty"`
 | 
						// Defaults of features that can be overridden in this edition.
 | 
				
			||||||
 | 
						OverridableFeatures *FeatureSet `protobuf:"bytes,4,opt,name=overridable_features,json=overridableFeatures" json:"overridable_features,omitempty"`
 | 
				
			||||||
 | 
						// Defaults of features that can't be overridden in this edition.
 | 
				
			||||||
 | 
						FixedFeatures *FeatureSet `protobuf:"bytes,5,opt,name=fixed_features,json=fixedFeatures" json:"fixed_features,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
 | 
					func (x *FeatureSetDefaults_FeatureSetEditionDefault) Reset() {
 | 
				
			||||||
	*x = FeatureSetDefaults_FeatureSetEditionDefault{}
 | 
						*x = FeatureSetDefaults_FeatureSetEditionDefault{}
 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
		mi := &file_google_protobuf_descriptor_proto_msgTypes[29]
 | 
							mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -4057,7 +4159,7 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string {
 | 
				
			|||||||
func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
 | 
					func (*FeatureSetDefaults_FeatureSetEditionDefault) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
 | 
					func (x *FeatureSetDefaults_FeatureSetEditionDefault) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
	mi := &file_google_protobuf_descriptor_proto_msgTypes[29]
 | 
						mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
@@ -4080,9 +4182,16 @@ func (x *FeatureSetDefaults_FeatureSetEditionDefault) GetEdition() Edition {
 | 
				
			|||||||
	return Edition_EDITION_UNKNOWN
 | 
						return Edition_EDITION_UNKNOWN
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *FeatureSetDefaults_FeatureSetEditionDefault) GetFeatures() *FeatureSet {
 | 
					func (x *FeatureSetDefaults_FeatureSetEditionDefault) GetOverridableFeatures() *FeatureSet {
 | 
				
			||||||
	if x != nil {
 | 
						if x != nil {
 | 
				
			||||||
		return x.Features
 | 
							return x.OverridableFeatures
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *FeatureSetDefaults_FeatureSetEditionDefault) GetFixedFeatures() *FeatureSet {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.FixedFeatures
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -4188,7 +4297,7 @@ type SourceCodeInfo_Location struct {
 | 
				
			|||||||
func (x *SourceCodeInfo_Location) Reset() {
 | 
					func (x *SourceCodeInfo_Location) Reset() {
 | 
				
			||||||
	*x = SourceCodeInfo_Location{}
 | 
						*x = SourceCodeInfo_Location{}
 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
		mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
 | 
							mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -4201,7 +4310,7 @@ func (x *SourceCodeInfo_Location) String() string {
 | 
				
			|||||||
func (*SourceCodeInfo_Location) ProtoMessage() {}
 | 
					func (*SourceCodeInfo_Location) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
 | 
					func (x *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
	mi := &file_google_protobuf_descriptor_proto_msgTypes[30]
 | 
						mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
@@ -4275,7 +4384,7 @@ type GeneratedCodeInfo_Annotation struct {
 | 
				
			|||||||
func (x *GeneratedCodeInfo_Annotation) Reset() {
 | 
					func (x *GeneratedCodeInfo_Annotation) Reset() {
 | 
				
			||||||
	*x = GeneratedCodeInfo_Annotation{}
 | 
						*x = GeneratedCodeInfo_Annotation{}
 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
		mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
 | 
							mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -4288,7 +4397,7 @@ func (x *GeneratedCodeInfo_Annotation) String() string {
 | 
				
			|||||||
func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
 | 
					func (*GeneratedCodeInfo_Annotation) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
 | 
					func (x *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
	mi := &file_google_protobuf_descriptor_proto_msgTypes[31]
 | 
						mi := &file_google_protobuf_descriptor_proto_msgTypes[32]
 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
@@ -4702,7 +4811,7 @@ var file_google_protobuf_descriptor_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07,
 | 
						0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x09, 0x08, 0xe8, 0x07,
 | 
				
			||||||
	0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05,
 | 
						0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05,
 | 
				
			||||||
	0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04,
 | 
						0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04,
 | 
				
			||||||
	0x08, 0x09, 0x10, 0x0a, 0x22, 0xad, 0x0a, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
 | 
						0x08, 0x09, 0x10, 0x0a, 0x22, 0x9d, 0x0d, 0x0a, 0x0c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70,
 | 
				
			||||||
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
 | 
						0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x63, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
 | 
						0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
 | 
				
			||||||
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
 | 
						0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
 | 
				
			||||||
@@ -4743,18 +4852,41 @@ var file_google_protobuf_descriptor_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01,
 | 
						0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x15, 0x20, 0x01,
 | 
				
			||||||
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
						0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
				
			||||||
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52,
 | 
						0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52,
 | 
				
			||||||
	0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69,
 | 
						0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x66, 0x65, 0x61,
 | 
				
			||||||
	0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f,
 | 
						0x74, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x16, 0x20, 0x01,
 | 
				
			||||||
	0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 | 
						0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
				
			||||||
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74,
 | 
						0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
 | 
				
			||||||
	0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
 | 
						0x73, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74,
 | 
				
			||||||
	0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74,
 | 
						0x52, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74,
 | 
				
			||||||
	0x69, 0x6f, 0x6e, 0x1a, 0x5a, 0x0a, 0x0e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65,
 | 
						0x12, 0x58, 0x0a, 0x14, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65,
 | 
				
			||||||
	0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
 | 
						0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
 | 
				
			||||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
 | 
						0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
				
			||||||
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
 | 
						0x66, 0x2e, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x64, 0x4f,
 | 
				
			||||||
	0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
 | 
						0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72,
 | 
				
			||||||
	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
 | 
						0x65, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5a, 0x0a, 0x0e, 0x45, 0x64,
 | 
				
			||||||
 | 
						0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x07,
 | 
				
			||||||
 | 
						0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
 | 
				
			||||||
 | 
						0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
 | 
				
			||||||
 | 
						0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
 | 
				
			||||||
 | 
						0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
				
			||||||
 | 
						0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x96, 0x02, 0x0a, 0x0e, 0x46, 0x65, 0x61, 0x74, 0x75,
 | 
				
			||||||
 | 
						0x72, 0x65, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x47, 0x0a, 0x12, 0x65, 0x64, 0x69,
 | 
				
			||||||
 | 
						0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x18,
 | 
				
			||||||
 | 
						0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
 | 
				
			||||||
 | 
						0x11, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63,
 | 
				
			||||||
 | 
						0x65, 0x64, 0x12, 0x47, 0x0a, 0x12, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65,
 | 
				
			||||||
 | 
						0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18,
 | 
				
			||||||
 | 
						0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
 | 
				
			||||||
 | 
						0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
 | 
				
			||||||
 | 
						0x6e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x13, 0x64,
 | 
				
			||||||
 | 
						0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69,
 | 
				
			||||||
 | 
						0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
 | 
				
			||||||
 | 
						0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x0f,
 | 
				
			||||||
 | 
						0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18,
 | 
				
			||||||
 | 
						0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
 | 
				
			||||||
 | 
						0x0e, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x22,
 | 
				
			||||||
	0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49,
 | 
						0x2f, 0x0a, 0x05, 0x43, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49,
 | 
				
			||||||
	0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x10,
 | 
						0x4e, 0x47, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x52, 0x44, 0x10, 0x01, 0x12, 0x10,
 | 
				
			||||||
	0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43, 0x45, 0x10, 0x02,
 | 
						0x0a, 0x0c, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x49, 0x45, 0x43, 0x45, 0x10, 0x02,
 | 
				
			||||||
@@ -4898,177 +5030,187 @@ var file_google_protobuf_descriptor_proto_rawDesc = []byte{
 | 
				
			|||||||
	0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52,
 | 
						0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52,
 | 
				
			||||||
	0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
 | 
						0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f,
 | 
				
			||||||
	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52,
 | 
						0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x02, 0x28, 0x08, 0x52,
 | 
				
			||||||
	0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x0a, 0x0a,
 | 
						0x0b, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x0a, 0x0a,
 | 
				
			||||||
	0x0a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0e,
 | 
						0x0a, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x0e,
 | 
				
			||||||
	0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01,
 | 
						0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
 | 
						0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
 | 
				
			||||||
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
 | 
						0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
 | 
				
			||||||
	0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x42,
 | 
						0x74, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x42,
 | 
				
			||||||
	0x39, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45,
 | 
						0x3f, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45,
 | 
				
			||||||
	0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x49,
 | 
						0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x49,
 | 
				
			||||||
	0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe7, 0x07, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45,
 | 
						0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe7, 0x07, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45,
 | 
				
			||||||
	0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe8, 0x07, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c,
 | 
						0x58, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x18, 0xe8, 0x07, 0xb2, 0x01, 0x03, 0x08, 0xe8, 0x07,
 | 
				
			||||||
	0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x66, 0x0a, 0x09, 0x65, 0x6e, 0x75,
 | 
						0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12,
 | 
				
			||||||
	0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67,
 | 
						0x6c, 0x0a, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
 | 
				
			||||||
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
 | 
						0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
				
			||||||
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79,
 | 
						0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e,
 | 
				
			||||||
	0x70, 0x65, 0x42, 0x23, 0x88, 0x01, 0x01, 0x98, 0x01, 0x06, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x0b,
 | 
						0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x42, 0x29, 0x88, 0x01, 0x01, 0x98, 0x01, 0x06,
 | 
				
			||||||
	0x12, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x09, 0x12, 0x04,
 | 
						0x98, 0x01, 0x01, 0xa2, 0x01, 0x0b, 0x12, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x18, 0xe6,
 | 
				
			||||||
	0x4f, 0x50, 0x45, 0x4e, 0x18, 0xe7, 0x07, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70,
 | 
						0x07, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x18, 0xe7, 0x07, 0xb2, 0x01, 0x03,
 | 
				
			||||||
	0x65, 0x12, 0x92, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66,
 | 
						0x08, 0xe8, 0x07, 0x52, 0x08, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x98, 0x01,
 | 
				
			||||||
	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20,
 | 
						0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64,
 | 
				
			||||||
	0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
 | 
						0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
 | 
				
			||||||
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74,
 | 
						0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
				
			||||||
	0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e,
 | 
						0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x70,
 | 
				
			||||||
	0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x27, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01,
 | 
						0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69,
 | 
				
			||||||
	0x01, 0xa2, 0x01, 0x0d, 0x12, 0x08, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x18, 0xe6,
 | 
						0x6e, 0x67, 0x42, 0x2d, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x0d,
 | 
				
			||||||
	0x07, 0xa2, 0x01, 0x0b, 0x12, 0x06, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x18, 0xe7, 0x07, 0x52,
 | 
						0x12, 0x08, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0b,
 | 
				
			||||||
	0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e,
 | 
						0x12, 0x06, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x18, 0xe7, 0x07, 0xb2, 0x01, 0x03, 0x08, 0xe8,
 | 
				
			||||||
	0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x78, 0x0a, 0x0f, 0x75, 0x74, 0x66, 0x38, 0x5f, 0x76,
 | 
						0x07, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
 | 
				
			||||||
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
 | 
						0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x7e, 0x0a, 0x0f, 0x75, 0x74, 0x66, 0x38,
 | 
				
			||||||
	0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
						0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
				
			||||||
	0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x55, 0x74, 0x66,
 | 
						0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
				
			||||||
	0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x23, 0x88, 0x01, 0x01,
 | 
						0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x55,
 | 
				
			||||||
	0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x18,
 | 
						0x74, 0x66, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x29, 0x88,
 | 
				
			||||||
	0xe6, 0x07, 0xa2, 0x01, 0x0b, 0x12, 0x06, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x18, 0xe7, 0x07,
 | 
						0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x4e, 0x4f, 0x4e,
 | 
				
			||||||
	0x52, 0x0e, 0x75, 0x74, 0x66, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
 | 
						0x45, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0b, 0x12, 0x06, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x18,
 | 
				
			||||||
	0x12, 0x78, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f,
 | 
						0xe7, 0x07, 0xb2, 0x01, 0x03, 0x08, 0xe8, 0x07, 0x52, 0x0e, 0x75, 0x74, 0x66, 0x38, 0x56, 0x61,
 | 
				
			||||||
	0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
 | 
						0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x10, 0x6d, 0x65, 0x73, 0x73,
 | 
				
			||||||
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61,
 | 
						0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01,
 | 
				
			||||||
	0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45,
 | 
						0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
				
			||||||
	0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x20, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98,
 | 
						0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e,
 | 
				
			||||||
	0x01, 0x01, 0xa2, 0x01, 0x14, 0x12, 0x0f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x50, 0x52,
 | 
						0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x42,
 | 
				
			||||||
	0x45, 0x46, 0x49, 0x58, 0x45, 0x44, 0x18, 0xe6, 0x07, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61,
 | 
						0x26, 0x88, 0x01, 0x01, 0x98, 0x01, 0x04, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x14, 0x12, 0x0f, 0x4c,
 | 
				
			||||||
	0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x7c, 0x0a, 0x0b, 0x6a, 0x73,
 | 
						0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x45, 0x44, 0x18, 0xe6,
 | 
				
			||||||
	0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
 | 
						0x07, 0xb2, 0x01, 0x03, 0x08, 0xe8, 0x07, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
 | 
				
			||||||
	0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
						0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x82, 0x01, 0x0a, 0x0b, 0x6a, 0x73, 0x6f,
 | 
				
			||||||
	0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x4a, 0x73, 0x6f,
 | 
						0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26,
 | 
				
			||||||
	0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x33, 0x88, 0x01, 0x01, 0x98, 0x01, 0x03, 0x98,
 | 
						0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
 | 
				
			||||||
	0x01, 0x06, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x17, 0x12, 0x12, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59,
 | 
						0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x2e, 0x4a, 0x73, 0x6f, 0x6e,
 | 
				
			||||||
	0x5f, 0x42, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x18, 0xe6, 0x07, 0xa2,
 | 
						0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x42, 0x39, 0x88, 0x01, 0x01, 0x98, 0x01, 0x03, 0x98, 0x01,
 | 
				
			||||||
	0x01, 0x0a, 0x12, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x18, 0xe7, 0x07, 0x52, 0x0a, 0x6a, 0x73,
 | 
						0x06, 0x98, 0x01, 0x01, 0xa2, 0x01, 0x17, 0x12, 0x12, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f,
 | 
				
			||||||
	0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x5c, 0x0a, 0x0d, 0x46, 0x69, 0x65, 0x6c,
 | 
						0x42, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x18, 0xe6, 0x07, 0xa2, 0x01,
 | 
				
			||||||
	0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x49, 0x45,
 | 
						0x0a, 0x12, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x18, 0xe7, 0x07, 0xb2, 0x01, 0x03, 0x08, 0xe8,
 | 
				
			||||||
	0x4c, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e,
 | 
						0x07, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x5c, 0x0a,
 | 
				
			||||||
	0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50, 0x4c, 0x49, 0x43, 0x49,
 | 
						0x0d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a,
 | 
				
			||||||
	0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10,
 | 
						0x0a, 0x16, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43, 0x45,
 | 
				
			||||||
	0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55,
 | 
						0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58,
 | 
				
			||||||
	0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x22, 0x37, 0x0a, 0x08, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79,
 | 
						0x50, 0x4c, 0x49, 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x4c,
 | 
				
			||||||
	0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
 | 
						0x49, 0x43, 0x49, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59,
 | 
				
			||||||
	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45,
 | 
						0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x03, 0x22, 0x37, 0x0a, 0x08, 0x45,
 | 
				
			||||||
	0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x02, 0x22,
 | 
						0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x55, 0x4d, 0x5f,
 | 
				
			||||||
	0x56, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
 | 
						0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08,
 | 
				
			||||||
	0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a, 0x1f, 0x52, 0x45, 0x50, 0x45,
 | 
						0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53,
 | 
				
			||||||
	0x41, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44,
 | 
						0x45, 0x44, 0x10, 0x02, 0x22, 0x56, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
 | 
				
			||||||
	0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a,
 | 
						0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x23, 0x0a,
 | 
				
			||||||
	0x06, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x50,
 | 
						0x1f, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f,
 | 
				
			||||||
	0x41, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x22, 0x43, 0x0a, 0x0e, 0x55, 0x74, 0x66, 0x38, 0x56,
 | 
						0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
 | 
				
			||||||
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x54, 0x46,
 | 
						0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c,
 | 
				
			||||||
	0x38, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b,
 | 
						0x0a, 0x08, 0x45, 0x58, 0x50, 0x41, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x02, 0x22, 0x43, 0x0a, 0x0e,
 | 
				
			||||||
	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59,
 | 
						0x55, 0x74, 0x66, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b,
 | 
				
			||||||
	0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x22, 0x53, 0x0a, 0x0f,
 | 
						0x0a, 0x17, 0x55, 0x54, 0x46, 0x38, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f,
 | 
				
			||||||
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12,
 | 
						0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x56,
 | 
				
			||||||
	0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x45, 0x4e, 0x43, 0x4f, 0x44,
 | 
						0x45, 0x52, 0x49, 0x46, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
 | 
				
			||||||
	0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a,
 | 
						0x03, 0x22, 0x53, 0x0a, 0x0f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x6f,
 | 
				
			||||||
	0x0f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x45, 0x44,
 | 
						0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f,
 | 
				
			||||||
	0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10,
 | 
						0x45, 0x4e, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
 | 
				
			||||||
	0x02, 0x22, 0x48, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
 | 
						0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x5f, 0x50, 0x52, 0x45,
 | 
				
			||||||
	0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55,
 | 
						0x46, 0x49, 0x58, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x4c, 0x49, 0x4d,
 | 
				
			||||||
	0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f,
 | 
						0x49, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x48, 0x0a, 0x0a, 0x4a, 0x73, 0x6f, 0x6e, 0x46, 0x6f,
 | 
				
			||||||
	0x57, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x5f, 0x42, 0x45,
 | 
						0x72, 0x6d, 0x61, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52,
 | 
				
			||||||
	0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x2a, 0x06, 0x08, 0xe8, 0x07,
 | 
						0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a,
 | 
				
			||||||
	0x10, 0xe9, 0x07, 0x2a, 0x06, 0x08, 0xe9, 0x07, 0x10, 0xea, 0x07, 0x2a, 0x06, 0x08, 0xea, 0x07,
 | 
						0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x47, 0x41,
 | 
				
			||||||
	0x10, 0xeb, 0x07, 0x2a, 0x06, 0x08, 0x8b, 0x4e, 0x10, 0x90, 0x4e, 0x2a, 0x06, 0x08, 0x90, 0x4e,
 | 
						0x43, 0x59, 0x5f, 0x42, 0x45, 0x53, 0x54, 0x5f, 0x45, 0x46, 0x46, 0x4f, 0x52, 0x54, 0x10, 0x02,
 | 
				
			||||||
	0x10, 0x91, 0x4e, 0x4a, 0x06, 0x08, 0xe7, 0x07, 0x10, 0xe8, 0x07, 0x22, 0xfe, 0x02, 0x0a, 0x12,
 | 
						0x2a, 0x06, 0x08, 0xe8, 0x07, 0x10, 0xe9, 0x07, 0x2a, 0x06, 0x08, 0xe9, 0x07, 0x10, 0xea, 0x07,
 | 
				
			||||||
	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c,
 | 
						0x2a, 0x06, 0x08, 0xea, 0x07, 0x10, 0xeb, 0x07, 0x2a, 0x06, 0x08, 0x86, 0x4e, 0x10, 0x87, 0x4e,
 | 
				
			||||||
	0x74, 0x73, 0x12, 0x58, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01,
 | 
						0x2a, 0x06, 0x08, 0x8b, 0x4e, 0x10, 0x90, 0x4e, 0x2a, 0x06, 0x08, 0x90, 0x4e, 0x10, 0x91, 0x4e,
 | 
				
			||||||
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
 | 
						0x4a, 0x06, 0x08, 0xe7, 0x07, 0x10, 0xe8, 0x07, 0x22, 0xd9, 0x03, 0x0a, 0x12, 0x46, 0x65, 0x61,
 | 
				
			||||||
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
 | 
						0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12,
 | 
				
			||||||
	0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
 | 
						0x58, 0x0a, 0x08, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
				
			||||||
	0x65, 0x53, 0x65, 0x74, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75,
 | 
						0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
				
			||||||
	0x6c, 0x74, 0x52, 0x08, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0f,
 | 
						0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x44, 0x65,
 | 
				
			||||||
	0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
 | 
						0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
 | 
				
			||||||
	0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
						0x74, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52,
 | 
				
			||||||
 | 
						0x08, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x6d, 0x69, 0x6e,
 | 
				
			||||||
 | 
						0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
				
			||||||
 | 
						0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x69,
 | 
				
			||||||
 | 
						0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x0f,
 | 
				
			||||||
 | 
						0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
 | 
				
			||||||
 | 
						0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
				
			||||||
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
 | 
				
			||||||
	0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12,
 | 
						0x0e, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a,
 | 
				
			||||||
	0x41, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x69,
 | 
						0xe2, 0x01, 0x0a, 0x18, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x45, 0x64,
 | 
				
			||||||
	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 | 
						0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x32, 0x0a, 0x07,
 | 
				
			||||||
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69,
 | 
						0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
 | 
				
			||||||
	0x6f, 0x6e, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x45, 0x64, 0x69, 0x74, 0x69,
 | 
					 | 
				
			||||||
	0x6f, 0x6e, 0x1a, 0x87, 0x01, 0x0a, 0x18, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65,
 | 
					 | 
				
			||||||
	0x74, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12,
 | 
					 | 
				
			||||||
	0x32, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
 | 
					 | 
				
			||||||
	0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
 | 
					 | 
				
			||||||
	0x75, 0x66, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74,
 | 
					 | 
				
			||||||
	0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18,
 | 
					 | 
				
			||||||
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
					 | 
				
			||||||
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53,
 | 
					 | 
				
			||||||
	0x65, 0x74, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xa7, 0x02, 0x0a,
 | 
					 | 
				
			||||||
	0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
 | 
					 | 
				
			||||||
	0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28,
 | 
					 | 
				
			||||||
	0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
					 | 
				
			||||||
	0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e,
 | 
					 | 
				
			||||||
	0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63,
 | 
					 | 
				
			||||||
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
 | 
					 | 
				
			||||||
	0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
 | 
					 | 
				
			||||||
	0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70,
 | 
					 | 
				
			||||||
	0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70,
 | 
					 | 
				
			||||||
	0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f,
 | 
					 | 
				
			||||||
	0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65,
 | 
					 | 
				
			||||||
	0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a,
 | 
					 | 
				
			||||||
	0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
 | 
					 | 
				
			||||||
	0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69,
 | 
					 | 
				
			||||||
	0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65,
 | 
					 | 
				
			||||||
	0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63,
 | 
					 | 
				
			||||||
	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c,
 | 
					 | 
				
			||||||
	0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f,
 | 
					 | 
				
			||||||
	0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd0, 0x02, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72,
 | 
					 | 
				
			||||||
	0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a,
 | 
					 | 
				
			||||||
	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
 | 
					 | 
				
			||||||
	0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
 | 
					 | 
				
			||||||
	0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65,
 | 
					 | 
				
			||||||
	0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
 | 
					 | 
				
			||||||
	0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xeb, 0x01, 0x0a, 0x0a,
 | 
					 | 
				
			||||||
	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61,
 | 
					 | 
				
			||||||
	0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61,
 | 
					 | 
				
			||||||
	0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c,
 | 
					 | 
				
			||||||
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
 | 
					 | 
				
			||||||
	0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01,
 | 
					 | 
				
			||||||
	0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64,
 | 
					 | 
				
			||||||
	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x52, 0x0a, 0x08, 0x73,
 | 
					 | 
				
			||||||
	0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e,
 | 
					 | 
				
			||||||
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
 | 
						0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
 | 
				
			||||||
	0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
 | 
						0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
 | 
				
			||||||
	0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6d,
 | 
						0x12, 0x4e, 0x0a, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f,
 | 
				
			||||||
	0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x08, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x22,
 | 
						0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
 | 
				
			||||||
	0x28, 0x0a, 0x08, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x12, 0x08, 0x0a, 0x04, 0x4e,
 | 
						0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
 | 
				
			||||||
	0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x09,
 | 
						0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x13, 0x6f, 0x76, 0x65,
 | 
				
			||||||
	0x0a, 0x05, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x10, 0x02, 0x2a, 0x92, 0x02, 0x0a, 0x07, 0x45, 0x64,
 | 
						0x72, 0x72, 0x69, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73,
 | 
				
			||||||
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e,
 | 
						0x12, 0x42, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
 | 
				
			||||||
	0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0e, 0x45, 0x44,
 | 
						0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 | 
				
			||||||
	0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x32, 0x10, 0xe6, 0x07, 0x12,
 | 
						0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75,
 | 
				
			||||||
	0x13, 0x0a, 0x0e, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f,
 | 
						0x72, 0x65, 0x53, 0x65, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74,
 | 
				
			||||||
	0x33, 0x10, 0xe7, 0x07, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
 | 
						0x75, 0x72, 0x65, 0x73, 0x22, 0xa7, 0x02, 0x0a, 0x0e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43,
 | 
				
			||||||
	0x32, 0x30, 0x32, 0x33, 0x10, 0xe8, 0x07, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x44, 0x49, 0x54, 0x49,
 | 
						0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
 | 
				
			||||||
	0x4f, 0x4e, 0x5f, 0x32, 0x30, 0x32, 0x34, 0x10, 0xe9, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x44,
 | 
						0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
 | 
				
			||||||
	0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x31, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c,
 | 
						0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x6f, 0x75, 0x72,
 | 
				
			||||||
	0x59, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x32,
 | 
						0x63, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
 | 
				
			||||||
	0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x17,
 | 
						0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xce, 0x01,
 | 
				
			||||||
	0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x37, 0x5f, 0x54, 0x45,
 | 
						0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61,
 | 
				
			||||||
	0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9d, 0x8d, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x45,
 | 
						0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61,
 | 
				
			||||||
	0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x38, 0x5f, 0x54, 0x45, 0x53,
 | 
						0x74, 0x68, 0x12, 0x16, 0x0a, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05,
 | 
				
			||||||
	0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9e, 0x8d, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x45, 0x44,
 | 
						0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x73, 0x70, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x65,
 | 
				
			||||||
	0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x39, 0x5f, 0x54, 0x45, 0x53, 0x54,
 | 
						0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03,
 | 
				
			||||||
	0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9f, 0x8d, 0x06, 0x12, 0x13, 0x0a, 0x0b, 0x45, 0x44, 0x49,
 | 
						0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d,
 | 
				
			||||||
	0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x42, 0x7e,
 | 
						0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e,
 | 
				
			||||||
	0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
 | 
						0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
 | 
				
			||||||
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
 | 
						0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
 | 
				
			||||||
	0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 | 
						0x74, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65,
 | 
				
			||||||
	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f,
 | 
						0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18,
 | 
				
			||||||
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 0x65, 0x73, 0x63,
 | 
						0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65,
 | 
				
			||||||
	0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50,
 | 
						0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd0,
 | 
				
			||||||
	0x42, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
 | 
						0x02, 0x0a, 0x11, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65,
 | 
				
			||||||
	0x62, 0x75, 0x66, 0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
 | 
						0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
 | 
				
			||||||
 | 
						0x6f, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
 | 
				
			||||||
 | 
						0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72,
 | 
				
			||||||
 | 
						0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e,
 | 
				
			||||||
 | 
						0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
 | 
				
			||||||
 | 
						0x69, 0x6f, 0x6e, 0x1a, 0xeb, 0x01, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
 | 
				
			||||||
 | 
						0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
 | 
				
			||||||
 | 
						0x42, 0x02, 0x10, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f,
 | 
				
			||||||
 | 
						0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
				
			||||||
 | 
						0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62,
 | 
				
			||||||
 | 
						0x65, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69,
 | 
				
			||||||
 | 
						0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03,
 | 
				
			||||||
 | 
						0x65, 0x6e, 0x64, 0x12, 0x52, 0x0a, 0x08, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x18,
 | 
				
			||||||
 | 
						0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65,
 | 
				
			||||||
 | 
						0x64, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
 | 
				
			||||||
 | 
						0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x52, 0x08, 0x73,
 | 
				
			||||||
 | 
						0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x22, 0x28, 0x0a, 0x08, 0x53, 0x65, 0x6d, 0x61, 0x6e,
 | 
				
			||||||
 | 
						0x74, 0x69, 0x63, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a,
 | 
				
			||||||
 | 
						0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x4c, 0x49, 0x41, 0x53, 0x10,
 | 
				
			||||||
 | 
						0x02, 0x2a, 0xa7, 0x02, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a,
 | 
				
			||||||
 | 
						0x0f, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
 | 
				
			||||||
 | 
						0x10, 0x00, 0x12, 0x13, 0x0a, 0x0e, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4c, 0x45,
 | 
				
			||||||
 | 
						0x47, 0x41, 0x43, 0x59, 0x10, 0x84, 0x07, 0x12, 0x13, 0x0a, 0x0e, 0x45, 0x44, 0x49, 0x54, 0x49,
 | 
				
			||||||
 | 
						0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x32, 0x10, 0xe6, 0x07, 0x12, 0x13, 0x0a, 0x0e,
 | 
				
			||||||
 | 
						0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x33, 0x10, 0xe7,
 | 
				
			||||||
 | 
						0x07, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x32, 0x30, 0x32,
 | 
				
			||||||
 | 
						0x33, 0x10, 0xe8, 0x07, 0x12, 0x11, 0x0a, 0x0c, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
 | 
				
			||||||
 | 
						0x32, 0x30, 0x32, 0x34, 0x10, 0xe9, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x44, 0x49, 0x54, 0x49,
 | 
				
			||||||
 | 
						0x4f, 0x4e, 0x5f, 0x31, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01,
 | 
				
			||||||
 | 
						0x12, 0x17, 0x0a, 0x13, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x32, 0x5f, 0x54, 0x45,
 | 
				
			||||||
 | 
						0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x17, 0x45, 0x44, 0x49,
 | 
				
			||||||
 | 
						0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x37, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f,
 | 
				
			||||||
 | 
						0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x9d, 0x8d, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x45, 0x44, 0x49, 0x54,
 | 
				
			||||||
 | 
						0x49, 0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x38, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f,
 | 
				
			||||||
 | 
						0x4e, 0x4c, 0x59, 0x10, 0x9e, 0x8d, 0x06, 0x12, 0x1d, 0x0a, 0x17, 0x45, 0x44, 0x49, 0x54, 0x49,
 | 
				
			||||||
 | 
						0x4f, 0x4e, 0x5f, 0x39, 0x39, 0x39, 0x39, 0x39, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x4f, 0x4e,
 | 
				
			||||||
 | 
						0x4c, 0x59, 0x10, 0x9f, 0x8d, 0x06, 0x12, 0x13, 0x0a, 0x0b, 0x45, 0x44, 0x49, 0x54, 0x49, 0x4f,
 | 
				
			||||||
 | 
						0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x42, 0x7e, 0x0a, 0x13, 0x63,
 | 
				
			||||||
 | 
						0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
 | 
				
			||||||
 | 
						0x75, 0x66, 0x42, 0x10, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72,
 | 
				
			||||||
 | 
						0x6f, 0x74, 0x6f, 0x73, 0x48, 0x01, 0x5a, 0x2d, 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, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
 | 
				
			||||||
 | 
						0x74, 0x6f, 0x72, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x03, 0x47, 0x50, 0x42, 0xaa, 0x02,
 | 
				
			||||||
 | 
						0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
 | 
				
			||||||
 | 
						0x2e, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
@@ -5084,7 +5226,7 @@ func file_google_protobuf_descriptor_proto_rawDescGZIP() []byte {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
 | 
					var file_google_protobuf_descriptor_proto_enumTypes = make([]protoimpl.EnumInfo, 17)
 | 
				
			||||||
var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
 | 
					var file_google_protobuf_descriptor_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
 | 
				
			||||||
var file_google_protobuf_descriptor_proto_goTypes = []interface{}{
 | 
					var file_google_protobuf_descriptor_proto_goTypes = []interface{}{
 | 
				
			||||||
	(Edition)(0), // 0: google.protobuf.Edition
 | 
						(Edition)(0), // 0: google.protobuf.Edition
 | 
				
			||||||
	(ExtensionRangeOptions_VerificationState)(0),        // 1: google.protobuf.ExtensionRangeOptions.VerificationState
 | 
						(ExtensionRangeOptions_VerificationState)(0),        // 1: google.protobuf.ExtensionRangeOptions.VerificationState
 | 
				
			||||||
@@ -5131,10 +5273,11 @@ var file_google_protobuf_descriptor_proto_goTypes = []interface{}{
 | 
				
			|||||||
	(*ExtensionRangeOptions_Declaration)(nil),           // 42: google.protobuf.ExtensionRangeOptions.Declaration
 | 
						(*ExtensionRangeOptions_Declaration)(nil),           // 42: google.protobuf.ExtensionRangeOptions.Declaration
 | 
				
			||||||
	(*EnumDescriptorProto_EnumReservedRange)(nil),       // 43: google.protobuf.EnumDescriptorProto.EnumReservedRange
 | 
						(*EnumDescriptorProto_EnumReservedRange)(nil),       // 43: google.protobuf.EnumDescriptorProto.EnumReservedRange
 | 
				
			||||||
	(*FieldOptions_EditionDefault)(nil),                 // 44: google.protobuf.FieldOptions.EditionDefault
 | 
						(*FieldOptions_EditionDefault)(nil),                 // 44: google.protobuf.FieldOptions.EditionDefault
 | 
				
			||||||
	(*UninterpretedOption_NamePart)(nil),                // 45: google.protobuf.UninterpretedOption.NamePart
 | 
						(*FieldOptions_FeatureSupport)(nil),                 // 45: google.protobuf.FieldOptions.FeatureSupport
 | 
				
			||||||
	(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 46: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
 | 
						(*UninterpretedOption_NamePart)(nil),                // 46: google.protobuf.UninterpretedOption.NamePart
 | 
				
			||||||
	(*SourceCodeInfo_Location)(nil),                     // 47: google.protobuf.SourceCodeInfo.Location
 | 
						(*FeatureSetDefaults_FeatureSetEditionDefault)(nil), // 47: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
 | 
				
			||||||
	(*GeneratedCodeInfo_Annotation)(nil),                // 48: google.protobuf.GeneratedCodeInfo.Annotation
 | 
						(*SourceCodeInfo_Location)(nil),                     // 48: google.protobuf.SourceCodeInfo.Location
 | 
				
			||||||
 | 
						(*GeneratedCodeInfo_Annotation)(nil),                // 49: google.protobuf.GeneratedCodeInfo.Annotation
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_google_protobuf_descriptor_proto_depIdxs = []int32{
 | 
					var file_google_protobuf_descriptor_proto_depIdxs = []int32{
 | 
				
			||||||
	18, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
 | 
						18, // 0: google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
 | 
				
			||||||
@@ -5179,40 +5322,45 @@ var file_google_protobuf_descriptor_proto_depIdxs = []int32{
 | 
				
			|||||||
	8,  // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
 | 
						8,  // 39: google.protobuf.FieldOptions.targets:type_name -> google.protobuf.FieldOptions.OptionTargetType
 | 
				
			||||||
	44, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
 | 
						44, // 40: google.protobuf.FieldOptions.edition_defaults:type_name -> google.protobuf.FieldOptions.EditionDefault
 | 
				
			||||||
	36, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
 | 
						36, // 41: google.protobuf.FieldOptions.features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	35, // 42: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
						45, // 42: google.protobuf.FieldOptions.feature_support:type_name -> google.protobuf.FieldOptions.FeatureSupport
 | 
				
			||||||
	36, // 43: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
 | 
						35, // 43: google.protobuf.FieldOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
				
			||||||
	35, // 44: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
						36, // 44: google.protobuf.OneofOptions.features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	36, // 45: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
 | 
						35, // 45: google.protobuf.OneofOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
				
			||||||
	35, // 46: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
						36, // 46: google.protobuf.EnumOptions.features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	36, // 47: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
 | 
						35, // 47: google.protobuf.EnumOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
				
			||||||
	35, // 48: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
						36, // 48: google.protobuf.EnumValueOptions.features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	36, // 49: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
 | 
						35, // 49: google.protobuf.EnumValueOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
				
			||||||
	35, // 50: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
						36, // 50: google.protobuf.ServiceOptions.features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	9,  // 51: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
 | 
						35, // 51: google.protobuf.ServiceOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
				
			||||||
	36, // 52: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
 | 
						9,  // 52: google.protobuf.MethodOptions.idempotency_level:type_name -> google.protobuf.MethodOptions.IdempotencyLevel
 | 
				
			||||||
	35, // 53: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
						36, // 53: google.protobuf.MethodOptions.features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	45, // 54: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
 | 
						35, // 54: google.protobuf.MethodOptions.uninterpreted_option:type_name -> google.protobuf.UninterpretedOption
 | 
				
			||||||
	10, // 55: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
 | 
						46, // 55: google.protobuf.UninterpretedOption.name:type_name -> google.protobuf.UninterpretedOption.NamePart
 | 
				
			||||||
	11, // 56: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
 | 
						10, // 56: google.protobuf.FeatureSet.field_presence:type_name -> google.protobuf.FeatureSet.FieldPresence
 | 
				
			||||||
	12, // 57: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
 | 
						11, // 57: google.protobuf.FeatureSet.enum_type:type_name -> google.protobuf.FeatureSet.EnumType
 | 
				
			||||||
	13, // 58: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
 | 
						12, // 58: google.protobuf.FeatureSet.repeated_field_encoding:type_name -> google.protobuf.FeatureSet.RepeatedFieldEncoding
 | 
				
			||||||
	14, // 59: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
 | 
						13, // 59: google.protobuf.FeatureSet.utf8_validation:type_name -> google.protobuf.FeatureSet.Utf8Validation
 | 
				
			||||||
	15, // 60: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
 | 
						14, // 60: google.protobuf.FeatureSet.message_encoding:type_name -> google.protobuf.FeatureSet.MessageEncoding
 | 
				
			||||||
	46, // 61: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
 | 
						15, // 61: google.protobuf.FeatureSet.json_format:type_name -> google.protobuf.FeatureSet.JsonFormat
 | 
				
			||||||
	0,  // 62: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
 | 
						47, // 62: google.protobuf.FeatureSetDefaults.defaults:type_name -> google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
 | 
				
			||||||
	0,  // 63: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
 | 
						0,  // 63: google.protobuf.FeatureSetDefaults.minimum_edition:type_name -> google.protobuf.Edition
 | 
				
			||||||
	47, // 64: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
 | 
						0,  // 64: google.protobuf.FeatureSetDefaults.maximum_edition:type_name -> google.protobuf.Edition
 | 
				
			||||||
	48, // 65: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
 | 
						48, // 65: google.protobuf.SourceCodeInfo.location:type_name -> google.protobuf.SourceCodeInfo.Location
 | 
				
			||||||
	20, // 66: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
 | 
						49, // 66: google.protobuf.GeneratedCodeInfo.annotation:type_name -> google.protobuf.GeneratedCodeInfo.Annotation
 | 
				
			||||||
	0,  // 67: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
 | 
						20, // 67: google.protobuf.DescriptorProto.ExtensionRange.options:type_name -> google.protobuf.ExtensionRangeOptions
 | 
				
			||||||
	0,  // 68: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
 | 
						0,  // 68: google.protobuf.FieldOptions.EditionDefault.edition:type_name -> google.protobuf.Edition
 | 
				
			||||||
	36, // 69: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features:type_name -> google.protobuf.FeatureSet
 | 
						0,  // 69: google.protobuf.FieldOptions.FeatureSupport.edition_introduced:type_name -> google.protobuf.Edition
 | 
				
			||||||
	16, // 70: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
 | 
						0,  // 70: google.protobuf.FieldOptions.FeatureSupport.edition_deprecated:type_name -> google.protobuf.Edition
 | 
				
			||||||
	71, // [71:71] is the sub-list for method output_type
 | 
						0,  // 71: google.protobuf.FieldOptions.FeatureSupport.edition_removed:type_name -> google.protobuf.Edition
 | 
				
			||||||
	71, // [71:71] is the sub-list for method input_type
 | 
						0,  // 72: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition:type_name -> google.protobuf.Edition
 | 
				
			||||||
	71, // [71:71] is the sub-list for extension type_name
 | 
						36, // 73: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	71, // [71:71] is the sub-list for extension extendee
 | 
						36, // 74: google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features:type_name -> google.protobuf.FeatureSet
 | 
				
			||||||
	0,  // [0:71] is the sub-list for field type_name
 | 
						16, // 75: google.protobuf.GeneratedCodeInfo.Annotation.semantic:type_name -> google.protobuf.GeneratedCodeInfo.Annotation.Semantic
 | 
				
			||||||
 | 
						76, // [76:76] is the sub-list for method output_type
 | 
				
			||||||
 | 
						76, // [76:76] is the sub-list for method input_type
 | 
				
			||||||
 | 
						76, // [76:76] is the sub-list for extension type_name
 | 
				
			||||||
 | 
						76, // [76:76] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0,  // [0:76] is the sub-list for field type_name
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() { file_google_protobuf_descriptor_proto_init() }
 | 
					func init() { file_google_protobuf_descriptor_proto_init() }
 | 
				
			||||||
@@ -5578,7 +5726,7 @@ func file_google_protobuf_descriptor_proto_init() {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		file_google_protobuf_descriptor_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 | 
							file_google_protobuf_descriptor_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
			switch v := v.(*UninterpretedOption_NamePart); i {
 | 
								switch v := v.(*FieldOptions_FeatureSupport); i {
 | 
				
			||||||
			case 0:
 | 
								case 0:
 | 
				
			||||||
				return &v.state
 | 
									return &v.state
 | 
				
			||||||
			case 1:
 | 
								case 1:
 | 
				
			||||||
@@ -5590,7 +5738,7 @@ func file_google_protobuf_descriptor_proto_init() {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		file_google_protobuf_descriptor_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 | 
							file_google_protobuf_descriptor_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
			switch v := v.(*FeatureSetDefaults_FeatureSetEditionDefault); i {
 | 
								switch v := v.(*UninterpretedOption_NamePart); i {
 | 
				
			||||||
			case 0:
 | 
								case 0:
 | 
				
			||||||
				return &v.state
 | 
									return &v.state
 | 
				
			||||||
			case 1:
 | 
								case 1:
 | 
				
			||||||
@@ -5602,7 +5750,7 @@ func file_google_protobuf_descriptor_proto_init() {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		file_google_protobuf_descriptor_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 | 
							file_google_protobuf_descriptor_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
			switch v := v.(*SourceCodeInfo_Location); i {
 | 
								switch v := v.(*FeatureSetDefaults_FeatureSetEditionDefault); i {
 | 
				
			||||||
			case 0:
 | 
								case 0:
 | 
				
			||||||
				return &v.state
 | 
									return &v.state
 | 
				
			||||||
			case 1:
 | 
								case 1:
 | 
				
			||||||
@@ -5614,6 +5762,18 @@ func file_google_protobuf_descriptor_proto_init() {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		file_google_protobuf_descriptor_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 | 
							file_google_protobuf_descriptor_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*SourceCodeInfo_Location); i {
 | 
				
			||||||
 | 
								case 0:
 | 
				
			||||||
 | 
									return &v.state
 | 
				
			||||||
 | 
								case 1:
 | 
				
			||||||
 | 
									return &v.sizeCache
 | 
				
			||||||
 | 
								case 2:
 | 
				
			||||||
 | 
									return &v.unknownFields
 | 
				
			||||||
 | 
								default:
 | 
				
			||||||
 | 
									return nil
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							file_google_protobuf_descriptor_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
			switch v := v.(*GeneratedCodeInfo_Annotation); i {
 | 
								switch v := v.(*GeneratedCodeInfo_Annotation); i {
 | 
				
			||||||
			case 0:
 | 
								case 0:
 | 
				
			||||||
				return &v.state
 | 
									return &v.state
 | 
				
			||||||
@@ -5632,7 +5792,7 @@ func file_google_protobuf_descriptor_proto_init() {
 | 
				
			|||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc,
 | 
								RawDescriptor: file_google_protobuf_descriptor_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      17,
 | 
								NumEnums:      17,
 | 
				
			||||||
			NumMessages:   32,
 | 
								NumMessages:   33,
 | 
				
			||||||
			NumExtensions: 0,
 | 
								NumExtensions: 0,
 | 
				
			||||||
			NumServices:   0,
 | 
								NumServices:   0,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										120
									
								
								vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										120
									
								
								vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.pb.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -6,9 +6,9 @@
 | 
				
			|||||||
// https://developers.google.com/open-source/licenses/bsd
 | 
					// https://developers.google.com/open-source/licenses/bsd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
					// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
				
			||||||
// source: reflect/protodesc/proto/go_features.proto
 | 
					// source: google/protobuf/go_features.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
package proto
 | 
					package gofeaturespb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
						protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 | 
				
			||||||
@@ -30,7 +30,7 @@ type GoFeatures struct {
 | 
				
			|||||||
func (x *GoFeatures) Reset() {
 | 
					func (x *GoFeatures) Reset() {
 | 
				
			||||||
	*x = GoFeatures{}
 | 
						*x = GoFeatures{}
 | 
				
			||||||
	if protoimpl.UnsafeEnabled {
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
		mi := &file_reflect_protodesc_proto_go_features_proto_msgTypes[0]
 | 
							mi := &file_google_protobuf_go_features_proto_msgTypes[0]
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		ms.StoreMessageInfo(mi)
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -43,7 +43,7 @@ func (x *GoFeatures) String() string {
 | 
				
			|||||||
func (*GoFeatures) ProtoMessage() {}
 | 
					func (*GoFeatures) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *GoFeatures) ProtoReflect() protoreflect.Message {
 | 
					func (x *GoFeatures) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
	mi := &file_reflect_protodesc_proto_go_features_proto_msgTypes[0]
 | 
						mi := &file_google_protobuf_go_features_proto_msgTypes[0]
 | 
				
			||||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
						if protoimpl.UnsafeEnabled && x != nil {
 | 
				
			||||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
		if ms.LoadMessageInfo() == nil {
 | 
							if ms.LoadMessageInfo() == nil {
 | 
				
			||||||
@@ -56,7 +56,7 @@ func (x *GoFeatures) ProtoReflect() protoreflect.Message {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Deprecated: Use GoFeatures.ProtoReflect.Descriptor instead.
 | 
					// Deprecated: Use GoFeatures.ProtoReflect.Descriptor instead.
 | 
				
			||||||
func (*GoFeatures) Descriptor() ([]byte, []int) {
 | 
					func (*GoFeatures) Descriptor() ([]byte, []int) {
 | 
				
			||||||
	return file_reflect_protodesc_proto_go_features_proto_rawDescGZIP(), []int{0}
 | 
						return file_google_protobuf_go_features_proto_rawDescGZIP(), []int{0}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (x *GoFeatures) GetLegacyUnmarshalJsonEnum() bool {
 | 
					func (x *GoFeatures) GetLegacyUnmarshalJsonEnum() bool {
 | 
				
			||||||
@@ -66,69 +66,73 @@ func (x *GoFeatures) GetLegacyUnmarshalJsonEnum() bool {
 | 
				
			|||||||
	return false
 | 
						return false
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_reflect_protodesc_proto_go_features_proto_extTypes = []protoimpl.ExtensionInfo{
 | 
					var file_google_protobuf_go_features_proto_extTypes = []protoimpl.ExtensionInfo{
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ExtendedType:  (*descriptorpb.FeatureSet)(nil),
 | 
							ExtendedType:  (*descriptorpb.FeatureSet)(nil),
 | 
				
			||||||
		ExtensionType: (*GoFeatures)(nil),
 | 
							ExtensionType: (*GoFeatures)(nil),
 | 
				
			||||||
		Field:         1002,
 | 
							Field:         1002,
 | 
				
			||||||
		Name:          "google.protobuf.go",
 | 
							Name:          "pb.go",
 | 
				
			||||||
		Tag:           "bytes,1002,opt,name=go",
 | 
							Tag:           "bytes,1002,opt,name=go",
 | 
				
			||||||
		Filename:      "reflect/protodesc/proto/go_features.proto",
 | 
							Filename:      "google/protobuf/go_features.proto",
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Extension fields to descriptorpb.FeatureSet.
 | 
					// Extension fields to descriptorpb.FeatureSet.
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	// optional google.protobuf.GoFeatures go = 1002;
 | 
						// optional pb.GoFeatures go = 1002;
 | 
				
			||||||
	E_Go = &file_reflect_protodesc_proto_go_features_proto_extTypes[0]
 | 
						E_Go = &file_google_protobuf_go_features_proto_extTypes[0]
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var File_reflect_protodesc_proto_go_features_proto protoreflect.FileDescriptor
 | 
					var File_google_protobuf_go_features_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_reflect_protodesc_proto_go_features_proto_rawDesc = []byte{
 | 
					var file_google_protobuf_go_features_proto_rawDesc = []byte{
 | 
				
			||||||
	0x0a, 0x29, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x64,
 | 
						0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
 | 
				
			||||||
	0x65, 0x73, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61,
 | 
						0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72,
 | 
				
			||||||
	0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x67, 0x6f, 0x6f,
 | 
						0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
 | 
				
			||||||
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x1a, 0x20, 0x67, 0x6f,
 | 
						0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
 | 
				
			||||||
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65,
 | 
						0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc9, 0x01, 0x0a, 0x0a, 0x47, 0x6f,
 | 
				
			||||||
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6a,
 | 
						0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x1a, 0x6c, 0x65, 0x67,
 | 
				
			||||||
	0x0a, 0x0a, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x1a,
 | 
						0x61, 0x63, 0x79, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x5f, 0x6a, 0x73,
 | 
				
			||||||
	0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c,
 | 
						0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x7d, 0x88,
 | 
				
			||||||
	0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
 | 
						0x01, 0x01, 0x98, 0x01, 0x06, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x74, 0x72, 0x75, 0x65, 0x18, 0x84,
 | 
				
			||||||
	0x42, 0x1f, 0x88, 0x01, 0x01, 0x98, 0x01, 0x06, 0xa2, 0x01, 0x09, 0x12, 0x04, 0x74, 0x72, 0x75,
 | 
						0x07, 0xa2, 0x01, 0x0a, 0x12, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0xe7, 0x07, 0xb2, 0x01,
 | 
				
			||||||
	0x65, 0x18, 0xe6, 0x07, 0xa2, 0x01, 0x0a, 0x12, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x18, 0xe7,
 | 
						0x5b, 0x08, 0xe8, 0x07, 0x10, 0xe8, 0x07, 0x1a, 0x53, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x67,
 | 
				
			||||||
	0x07, 0x52, 0x17, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68,
 | 
						0x61, 0x63, 0x79, 0x20, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x4a, 0x53, 0x4f,
 | 
				
			||||||
	0x61, 0x6c, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x49, 0x0a, 0x02, 0x67, 0x6f,
 | 
						0x4e, 0x20, 0x41, 0x50, 0x49, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61,
 | 
				
			||||||
	0x12, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
 | 
						0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20,
 | 
				
			||||||
	0x75, 0x66, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07,
 | 
						0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x66, 0x75, 0x74,
 | 
				
			||||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
 | 
						0x75, 0x72, 0x65, 0x20, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x17, 0x6c, 0x65,
 | 
				
			||||||
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
 | 
						0x67, 0x61, 0x63, 0x79, 0x55, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x4a, 0x73, 0x6f,
 | 
				
			||||||
	0x73, 0x52, 0x02, 0x67, 0x6f, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
 | 
						0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x3c, 0x0a, 0x02, 0x67, 0x6f, 0x12, 0x1b, 0x2e, 0x67, 0x6f,
 | 
				
			||||||
	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
						0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x65,
 | 
				
			||||||
	0x62, 0x75, 0x66, 0x2f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74,
 | 
						0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x65, 0x74, 0x18, 0xea, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
 | 
				
			||||||
	0x6f, 0x64, 0x65, 0x73, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
						0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x6f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52,
 | 
				
			||||||
 | 
						0x02, 0x67, 0x6f, 0x42, 0x2f, 0x5a, 0x2d, 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, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x67, 0x6f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
 | 
				
			||||||
 | 
						0x65, 0x73, 0x70, 0x62,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var (
 | 
					var (
 | 
				
			||||||
	file_reflect_protodesc_proto_go_features_proto_rawDescOnce sync.Once
 | 
						file_google_protobuf_go_features_proto_rawDescOnce sync.Once
 | 
				
			||||||
	file_reflect_protodesc_proto_go_features_proto_rawDescData = file_reflect_protodesc_proto_go_features_proto_rawDesc
 | 
						file_google_protobuf_go_features_proto_rawDescData = file_google_protobuf_go_features_proto_rawDesc
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func file_reflect_protodesc_proto_go_features_proto_rawDescGZIP() []byte {
 | 
					func file_google_protobuf_go_features_proto_rawDescGZIP() []byte {
 | 
				
			||||||
	file_reflect_protodesc_proto_go_features_proto_rawDescOnce.Do(func() {
 | 
						file_google_protobuf_go_features_proto_rawDescOnce.Do(func() {
 | 
				
			||||||
		file_reflect_protodesc_proto_go_features_proto_rawDescData = protoimpl.X.CompressGZIP(file_reflect_protodesc_proto_go_features_proto_rawDescData)
 | 
							file_google_protobuf_go_features_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_protobuf_go_features_proto_rawDescData)
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	return file_reflect_protodesc_proto_go_features_proto_rawDescData
 | 
						return file_google_protobuf_go_features_proto_rawDescData
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var file_reflect_protodesc_proto_go_features_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
					var file_google_protobuf_go_features_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
				
			||||||
var file_reflect_protodesc_proto_go_features_proto_goTypes = []interface{}{
 | 
					var file_google_protobuf_go_features_proto_goTypes = []interface{}{
 | 
				
			||||||
	(*GoFeatures)(nil),              // 0: google.protobuf.GoFeatures
 | 
						(*GoFeatures)(nil),              // 0: pb.GoFeatures
 | 
				
			||||||
	(*descriptorpb.FeatureSet)(nil), // 1: google.protobuf.FeatureSet
 | 
						(*descriptorpb.FeatureSet)(nil), // 1: google.protobuf.FeatureSet
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
var file_reflect_protodesc_proto_go_features_proto_depIdxs = []int32{
 | 
					var file_google_protobuf_go_features_proto_depIdxs = []int32{
 | 
				
			||||||
	1, // 0: google.protobuf.go:extendee -> google.protobuf.FeatureSet
 | 
						1, // 0: pb.go:extendee -> google.protobuf.FeatureSet
 | 
				
			||||||
	0, // 1: google.protobuf.go:type_name -> google.protobuf.GoFeatures
 | 
						0, // 1: pb.go:type_name -> pb.GoFeatures
 | 
				
			||||||
	2, // [2:2] is the sub-list for method output_type
 | 
						2, // [2:2] is the sub-list for method output_type
 | 
				
			||||||
	2, // [2:2] is the sub-list for method input_type
 | 
						2, // [2:2] is the sub-list for method input_type
 | 
				
			||||||
	1, // [1:2] is the sub-list for extension type_name
 | 
						1, // [1:2] is the sub-list for extension type_name
 | 
				
			||||||
@@ -136,13 +140,13 @@ var file_reflect_protodesc_proto_go_features_proto_depIdxs = []int32{
 | 
				
			|||||||
	0, // [0:0] is the sub-list for field type_name
 | 
						0, // [0:0] is the sub-list for field type_name
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() { file_reflect_protodesc_proto_go_features_proto_init() }
 | 
					func init() { file_google_protobuf_go_features_proto_init() }
 | 
				
			||||||
func file_reflect_protodesc_proto_go_features_proto_init() {
 | 
					func file_google_protobuf_go_features_proto_init() {
 | 
				
			||||||
	if File_reflect_protodesc_proto_go_features_proto != nil {
 | 
						if File_google_protobuf_go_features_proto != nil {
 | 
				
			||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if !protoimpl.UnsafeEnabled {
 | 
						if !protoimpl.UnsafeEnabled {
 | 
				
			||||||
		file_reflect_protodesc_proto_go_features_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
							file_google_protobuf_go_features_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
			switch v := v.(*GoFeatures); i {
 | 
								switch v := v.(*GoFeatures); i {
 | 
				
			||||||
			case 0:
 | 
								case 0:
 | 
				
			||||||
				return &v.state
 | 
									return &v.state
 | 
				
			||||||
@@ -159,19 +163,19 @@ func file_reflect_protodesc_proto_go_features_proto_init() {
 | 
				
			|||||||
	out := protoimpl.TypeBuilder{
 | 
						out := protoimpl.TypeBuilder{
 | 
				
			||||||
		File: protoimpl.DescBuilder{
 | 
							File: protoimpl.DescBuilder{
 | 
				
			||||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
								GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
				
			||||||
			RawDescriptor: file_reflect_protodesc_proto_go_features_proto_rawDesc,
 | 
								RawDescriptor: file_google_protobuf_go_features_proto_rawDesc,
 | 
				
			||||||
			NumEnums:      0,
 | 
								NumEnums:      0,
 | 
				
			||||||
			NumMessages:   1,
 | 
								NumMessages:   1,
 | 
				
			||||||
			NumExtensions: 1,
 | 
								NumExtensions: 1,
 | 
				
			||||||
			NumServices:   0,
 | 
								NumServices:   0,
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		GoTypes:           file_reflect_protodesc_proto_go_features_proto_goTypes,
 | 
							GoTypes:           file_google_protobuf_go_features_proto_goTypes,
 | 
				
			||||||
		DependencyIndexes: file_reflect_protodesc_proto_go_features_proto_depIdxs,
 | 
							DependencyIndexes: file_google_protobuf_go_features_proto_depIdxs,
 | 
				
			||||||
		MessageInfos:      file_reflect_protodesc_proto_go_features_proto_msgTypes,
 | 
							MessageInfos:      file_google_protobuf_go_features_proto_msgTypes,
 | 
				
			||||||
		ExtensionInfos:    file_reflect_protodesc_proto_go_features_proto_extTypes,
 | 
							ExtensionInfos:    file_google_protobuf_go_features_proto_extTypes,
 | 
				
			||||||
	}.Build()
 | 
						}.Build()
 | 
				
			||||||
	File_reflect_protodesc_proto_go_features_proto = out.File
 | 
						File_google_protobuf_go_features_proto = out.File
 | 
				
			||||||
	file_reflect_protodesc_proto_go_features_proto_rawDesc = nil
 | 
						file_google_protobuf_go_features_proto_rawDesc = nil
 | 
				
			||||||
	file_reflect_protodesc_proto_go_features_proto_goTypes = nil
 | 
						file_google_protobuf_go_features_proto_goTypes = nil
 | 
				
			||||||
	file_reflect_protodesc_proto_go_features_proto_depIdxs = nil
 | 
						file_google_protobuf_go_features_proto_depIdxs = nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/google.golang.org/protobuf/types/gofeaturespb/go_features.proto
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,28 +0,0 @@
 | 
				
			|||||||
// Protocol Buffers - Google's data interchange format
 | 
					 | 
				
			||||||
// Copyright 2023 Google Inc.  All rights reserved.
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// Use of this source code is governed by a BSD-style
 | 
					 | 
				
			||||||
// license that can be found in the LICENSE file or at
 | 
					 | 
				
			||||||
// https://developers.google.com/open-source/licenses/bsd
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
syntax = "proto2";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
package google.protobuf;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import "google/protobuf/descriptor.proto";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
option go_package = "google.golang.org/protobuf/types/gofeaturespb";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
extend google.protobuf.FeatureSet {
 | 
					 | 
				
			||||||
  optional GoFeatures go = 1002;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
message GoFeatures {
 | 
					 | 
				
			||||||
  // Whether or not to generate the deprecated UnmarshalJSON method for enums.
 | 
					 | 
				
			||||||
  optional bool legacy_unmarshal_json_enum = 1 [
 | 
					 | 
				
			||||||
    retention = RETENTION_RUNTIME,
 | 
					 | 
				
			||||||
    targets = TARGET_TYPE_ENUM,
 | 
					 | 
				
			||||||
    edition_defaults = { edition: EDITION_PROTO2, value: "true" },
 | 
					 | 
				
			||||||
    edition_defaults = { edition: EDITION_PROTO3, value: "false" }
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										3
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							@@ -639,7 +639,7 @@ google.golang.org/grpc/serviceconfig
 | 
				
			|||||||
google.golang.org/grpc/stats
 | 
					google.golang.org/grpc/stats
 | 
				
			||||||
google.golang.org/grpc/status
 | 
					google.golang.org/grpc/status
 | 
				
			||||||
google.golang.org/grpc/tap
 | 
					google.golang.org/grpc/tap
 | 
				
			||||||
# google.golang.org/protobuf v1.33.0
 | 
					# google.golang.org/protobuf v1.34.1
 | 
				
			||||||
## explicit; go 1.17
 | 
					## explicit; go 1.17
 | 
				
			||||||
google.golang.org/protobuf/compiler/protogen
 | 
					google.golang.org/protobuf/compiler/protogen
 | 
				
			||||||
google.golang.org/protobuf/encoding/protodelim
 | 
					google.golang.org/protobuf/encoding/protodelim
 | 
				
			||||||
@@ -650,6 +650,7 @@ google.golang.org/protobuf/internal/descfmt
 | 
				
			|||||||
google.golang.org/protobuf/internal/descopts
 | 
					google.golang.org/protobuf/internal/descopts
 | 
				
			||||||
google.golang.org/protobuf/internal/detrand
 | 
					google.golang.org/protobuf/internal/detrand
 | 
				
			||||||
google.golang.org/protobuf/internal/editiondefaults
 | 
					google.golang.org/protobuf/internal/editiondefaults
 | 
				
			||||||
 | 
					google.golang.org/protobuf/internal/editionssupport
 | 
				
			||||||
google.golang.org/protobuf/internal/encoding/defval
 | 
					google.golang.org/protobuf/internal/encoding/defval
 | 
				
			||||||
google.golang.org/protobuf/internal/encoding/json
 | 
					google.golang.org/protobuf/internal/encoding/json
 | 
				
			||||||
google.golang.org/protobuf/internal/encoding/messageset
 | 
					google.golang.org/protobuf/internal/encoding/messageset
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user