1// Code generated by protoc-gen-go. DO NOT EDIT.
2// versions:
3// 	protoc-gen-go v1.25.0
4// 	protoc        v3.14.0
5// source: envoy/config/listener/v3/listener_components.proto
6
7package envoy_config_listener_v3
8
9import (
10	_ "github.com/cncf/xds/go/udpa/annotations"
11	_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
12	v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
13	v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3"
14	v32 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
15	_ "github.com/envoyproxy/protoc-gen-validate/validate"
16	proto "github.com/golang/protobuf/proto"
17	any "github.com/golang/protobuf/ptypes/any"
18	duration "github.com/golang/protobuf/ptypes/duration"
19	_struct "github.com/golang/protobuf/ptypes/struct"
20	wrappers "github.com/golang/protobuf/ptypes/wrappers"
21	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
22	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
23	reflect "reflect"
24	sync "sync"
25)
26
27const (
28	// Verify that this generated code is sufficiently up-to-date.
29	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
30	// Verify that runtime/protoimpl is sufficiently up-to-date.
31	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
32)
33
34// This is a compile-time assertion that a sufficiently up-to-date version
35// of the legacy proto package is being used.
36const _ = proto.ProtoPackageIsVersion4
37
38type FilterChainMatch_ConnectionSourceType int32
39
40const (
41	// Any connection source matches.
42	FilterChainMatch_ANY FilterChainMatch_ConnectionSourceType = 0
43	// Match a connection originating from the same host.
44	FilterChainMatch_SAME_IP_OR_LOOPBACK FilterChainMatch_ConnectionSourceType = 1
45	// Match a connection originating from a different host.
46	FilterChainMatch_EXTERNAL FilterChainMatch_ConnectionSourceType = 2
47)
48
49// Enum value maps for FilterChainMatch_ConnectionSourceType.
50var (
51	FilterChainMatch_ConnectionSourceType_name = map[int32]string{
52		0: "ANY",
53		1: "SAME_IP_OR_LOOPBACK",
54		2: "EXTERNAL",
55	}
56	FilterChainMatch_ConnectionSourceType_value = map[string]int32{
57		"ANY":                 0,
58		"SAME_IP_OR_LOOPBACK": 1,
59		"EXTERNAL":            2,
60	}
61)
62
63func (x FilterChainMatch_ConnectionSourceType) Enum() *FilterChainMatch_ConnectionSourceType {
64	p := new(FilterChainMatch_ConnectionSourceType)
65	*p = x
66	return p
67}
68
69func (x FilterChainMatch_ConnectionSourceType) String() string {
70	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
71}
72
73func (FilterChainMatch_ConnectionSourceType) Descriptor() protoreflect.EnumDescriptor {
74	return file_envoy_config_listener_v3_listener_components_proto_enumTypes[0].Descriptor()
75}
76
77func (FilterChainMatch_ConnectionSourceType) Type() protoreflect.EnumType {
78	return &file_envoy_config_listener_v3_listener_components_proto_enumTypes[0]
79}
80
81func (x FilterChainMatch_ConnectionSourceType) Number() protoreflect.EnumNumber {
82	return protoreflect.EnumNumber(x)
83}
84
85// Deprecated: Use FilterChainMatch_ConnectionSourceType.Descriptor instead.
86func (FilterChainMatch_ConnectionSourceType) EnumDescriptor() ([]byte, []int) {
87	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{1, 0}
88}
89
90// [#next-free-field: 6]
91type Filter struct {
92	state         protoimpl.MessageState
93	sizeCache     protoimpl.SizeCache
94	unknownFields protoimpl.UnknownFields
95
96	// The name of the filter to instantiate. The name must match a
97	// :ref:`supported filter <config_network_filters>`.
98	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
99	// Types that are assignable to ConfigType:
100	//	*Filter_TypedConfig
101	//	*Filter_ConfigDiscovery
102	//	*Filter_HiddenEnvoyDeprecatedConfig
103	ConfigType isFilter_ConfigType `protobuf_oneof:"config_type"`
104}
105
106func (x *Filter) Reset() {
107	*x = Filter{}
108	if protoimpl.UnsafeEnabled {
109		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[0]
110		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
111		ms.StoreMessageInfo(mi)
112	}
113}
114
115func (x *Filter) String() string {
116	return protoimpl.X.MessageStringOf(x)
117}
118
119func (*Filter) ProtoMessage() {}
120
121func (x *Filter) ProtoReflect() protoreflect.Message {
122	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[0]
123	if protoimpl.UnsafeEnabled && x != nil {
124		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
125		if ms.LoadMessageInfo() == nil {
126			ms.StoreMessageInfo(mi)
127		}
128		return ms
129	}
130	return mi.MessageOf(x)
131}
132
133// Deprecated: Use Filter.ProtoReflect.Descriptor instead.
134func (*Filter) Descriptor() ([]byte, []int) {
135	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{0}
136}
137
138func (x *Filter) GetName() string {
139	if x != nil {
140		return x.Name
141	}
142	return ""
143}
144
145func (m *Filter) GetConfigType() isFilter_ConfigType {
146	if m != nil {
147		return m.ConfigType
148	}
149	return nil
150}
151
152func (x *Filter) GetTypedConfig() *any.Any {
153	if x, ok := x.GetConfigType().(*Filter_TypedConfig); ok {
154		return x.TypedConfig
155	}
156	return nil
157}
158
159func (x *Filter) GetConfigDiscovery() *v3.ExtensionConfigSource {
160	if x, ok := x.GetConfigType().(*Filter_ConfigDiscovery); ok {
161		return x.ConfigDiscovery
162	}
163	return nil
164}
165
166// Deprecated: Do not use.
167func (x *Filter) GetHiddenEnvoyDeprecatedConfig() *_struct.Struct {
168	if x, ok := x.GetConfigType().(*Filter_HiddenEnvoyDeprecatedConfig); ok {
169		return x.HiddenEnvoyDeprecatedConfig
170	}
171	return nil
172}
173
174type isFilter_ConfigType interface {
175	isFilter_ConfigType()
176}
177
178type Filter_TypedConfig struct {
179	// Filter specific configuration which depends on the filter being
180	// instantiated. See the supported filters for further documentation.
181	// [#extension-category: envoy.filters.network]
182	TypedConfig *any.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
183}
184
185type Filter_ConfigDiscovery struct {
186	// Configuration source specifier for an extension configuration discovery
187	// service. In case of a failure and without the default configuration, the
188	// listener closes the connections.
189	// [#not-implemented-hide:]
190	ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"`
191}
192
193type Filter_HiddenEnvoyDeprecatedConfig struct {
194	// Deprecated: Do not use.
195	HiddenEnvoyDeprecatedConfig *_struct.Struct `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_config,json=hiddenEnvoyDeprecatedConfig,proto3,oneof"`
196}
197
198func (*Filter_TypedConfig) isFilter_ConfigType() {}
199
200func (*Filter_ConfigDiscovery) isFilter_ConfigType() {}
201
202func (*Filter_HiddenEnvoyDeprecatedConfig) isFilter_ConfigType() {}
203
204// Specifies the match criteria for selecting a specific filter chain for a
205// listener.
206//
207// In order for a filter chain to be selected, *ALL* of its criteria must be
208// fulfilled by the incoming connection, properties of which are set by the
209// networking stack and/or listener filters.
210//
211// The following order applies:
212//
213// 1. Destination port.
214// 2. Destination IP address.
215// 3. Server name (e.g. SNI for TLS protocol),
216// 4. Transport protocol.
217// 5. Application protocols (e.g. ALPN for TLS protocol).
218// 6. Source type (e.g. any, local or external network).
219// 7. Source IP address.
220// 8. Source port.
221//
222// For criteria that allow ranges or wildcards, the most specific value in any
223// of the configured filter chains that matches the incoming connection is going
224// to be used (e.g. for SNI ``www.example.com`` the most specific match would be
225// ``www.example.com``, then ``*.example.com``, then ``*.com``, then any filter
226// chain without ``server_names`` requirements).
227//
228// A different way to reason about the filter chain matches:
229// Suppose there exists N filter chains. Prune the filter chain set using the above 8 steps.
230// In each step, filter chains which most specifically matches the attributes continue to the next step.
231// The listener guarantees at most 1 filter chain is left after all of the steps.
232//
233// Example:
234//
235// For destination port, filter chains specifying the destination port of incoming traffic are the
236// most specific match. If none of the filter chains specifies the exact destination port, the filter
237// chains which do not specify ports are the most specific match. Filter chains specifying the
238// wrong port can never be the most specific match.
239//
240// [#comment: Implemented rules are kept in the preference order, with deprecated fields
241// listed at the end, because that's how we want to list them in the docs.
242//
243// [#comment:TODO(PiotrSikora): Add support for configurable precedence of the rules]
244// [#next-free-field: 13]
245type FilterChainMatch struct {
246	state         protoimpl.MessageState
247	sizeCache     protoimpl.SizeCache
248	unknownFields protoimpl.UnknownFields
249
250	// Optional destination port to consider when use_original_dst is set on the
251	// listener in determining a filter chain match.
252	DestinationPort *wrappers.UInt32Value `protobuf:"bytes,8,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"`
253	// If non-empty, an IP address and prefix length to match addresses when the
254	// listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
255	PrefixRanges []*v3.CidrRange `protobuf:"bytes,3,rep,name=prefix_ranges,json=prefixRanges,proto3" json:"prefix_ranges,omitempty"`
256	// If non-empty, an IP address and suffix length to match addresses when the
257	// listener is bound to 0.0.0.0/:: or when use_original_dst is specified.
258	// [#not-implemented-hide:]
259	AddressSuffix string `protobuf:"bytes,4,opt,name=address_suffix,json=addressSuffix,proto3" json:"address_suffix,omitempty"`
260	// [#not-implemented-hide:]
261	SuffixLen *wrappers.UInt32Value `protobuf:"bytes,5,opt,name=suffix_len,json=suffixLen,proto3" json:"suffix_len,omitempty"`
262	// Specifies the connection source IP match type. Can be any, local or external network.
263	SourceType FilterChainMatch_ConnectionSourceType `protobuf:"varint,12,opt,name=source_type,json=sourceType,proto3,enum=envoy.config.listener.v3.FilterChainMatch_ConnectionSourceType" json:"source_type,omitempty"`
264	// The criteria is satisfied if the source IP address of the downstream
265	// connection is contained in at least one of the specified subnets. If the
266	// parameter is not specified or the list is empty, the source IP address is
267	// ignored.
268	SourcePrefixRanges []*v3.CidrRange `protobuf:"bytes,6,rep,name=source_prefix_ranges,json=sourcePrefixRanges,proto3" json:"source_prefix_ranges,omitempty"`
269	// The criteria is satisfied if the source port of the downstream connection
270	// is contained in at least one of the specified ports. If the parameter is
271	// not specified, the source port is ignored.
272	SourcePorts []uint32 `protobuf:"varint,7,rep,packed,name=source_ports,json=sourcePorts,proto3" json:"source_ports,omitempty"`
273	// If non-empty, a list of server names (e.g. SNI for TLS protocol) to consider when determining
274	// a filter chain match. Those values will be compared against the server names of a new
275	// connection, when detected by one of the listener filters.
276	//
277	// The server name will be matched against all wildcard domains, i.e. ``www.example.com``
278	// will be first matched against ``www.example.com``, then ``*.example.com``, then ``*.com``.
279	//
280	// Note that partial wildcards are not supported, and values like ``*w.example.com`` are invalid.
281	//
282	// .. attention::
283	//
284	//   See the :ref:`FAQ entry <faq_how_to_setup_sni>` on how to configure SNI for more
285	//   information.
286	ServerNames []string `protobuf:"bytes,11,rep,name=server_names,json=serverNames,proto3" json:"server_names,omitempty"`
287	// If non-empty, a transport protocol to consider when determining a filter chain match.
288	// This value will be compared against the transport protocol of a new connection, when
289	// it's detected by one of the listener filters.
290	//
291	// Suggested values include:
292	//
293	// * ``raw_buffer`` - default, used when no transport protocol is detected,
294	// * ``tls`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`
295	//   when TLS protocol is detected.
296	TransportProtocol string `protobuf:"bytes,9,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"`
297	// If non-empty, a list of application protocols (e.g. ALPN for TLS protocol) to consider when
298	// determining a filter chain match. Those values will be compared against the application
299	// protocols of a new connection, when detected by one of the listener filters.
300	//
301	// Suggested values include:
302	//
303	// * ``http/1.1`` - set by :ref:`envoy.filters.listener.tls_inspector
304	//   <config_listener_filters_tls_inspector>`,
305	// * ``h2`` - set by :ref:`envoy.filters.listener.tls_inspector <config_listener_filters_tls_inspector>`
306	//
307	// .. attention::
308	//
309	//   Currently, only :ref:`TLS Inspector <config_listener_filters_tls_inspector>` provides
310	//   application protocol detection based on the requested
311	//   `ALPN <https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation>`_ values.
312	//
313	//   However, the use of ALPN is pretty much limited to the HTTP/2 traffic on the Internet,
314	//   and matching on values other than ``h2`` is going to lead to a lot of false negatives,
315	//   unless all connecting clients are known to use ALPN.
316	ApplicationProtocols []string `protobuf:"bytes,10,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
317}
318
319func (x *FilterChainMatch) Reset() {
320	*x = FilterChainMatch{}
321	if protoimpl.UnsafeEnabled {
322		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[1]
323		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
324		ms.StoreMessageInfo(mi)
325	}
326}
327
328func (x *FilterChainMatch) String() string {
329	return protoimpl.X.MessageStringOf(x)
330}
331
332func (*FilterChainMatch) ProtoMessage() {}
333
334func (x *FilterChainMatch) ProtoReflect() protoreflect.Message {
335	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[1]
336	if protoimpl.UnsafeEnabled && x != nil {
337		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
338		if ms.LoadMessageInfo() == nil {
339			ms.StoreMessageInfo(mi)
340		}
341		return ms
342	}
343	return mi.MessageOf(x)
344}
345
346// Deprecated: Use FilterChainMatch.ProtoReflect.Descriptor instead.
347func (*FilterChainMatch) Descriptor() ([]byte, []int) {
348	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{1}
349}
350
351func (x *FilterChainMatch) GetDestinationPort() *wrappers.UInt32Value {
352	if x != nil {
353		return x.DestinationPort
354	}
355	return nil
356}
357
358func (x *FilterChainMatch) GetPrefixRanges() []*v3.CidrRange {
359	if x != nil {
360		return x.PrefixRanges
361	}
362	return nil
363}
364
365func (x *FilterChainMatch) GetAddressSuffix() string {
366	if x != nil {
367		return x.AddressSuffix
368	}
369	return ""
370}
371
372func (x *FilterChainMatch) GetSuffixLen() *wrappers.UInt32Value {
373	if x != nil {
374		return x.SuffixLen
375	}
376	return nil
377}
378
379func (x *FilterChainMatch) GetSourceType() FilterChainMatch_ConnectionSourceType {
380	if x != nil {
381		return x.SourceType
382	}
383	return FilterChainMatch_ANY
384}
385
386func (x *FilterChainMatch) GetSourcePrefixRanges() []*v3.CidrRange {
387	if x != nil {
388		return x.SourcePrefixRanges
389	}
390	return nil
391}
392
393func (x *FilterChainMatch) GetSourcePorts() []uint32 {
394	if x != nil {
395		return x.SourcePorts
396	}
397	return nil
398}
399
400func (x *FilterChainMatch) GetServerNames() []string {
401	if x != nil {
402		return x.ServerNames
403	}
404	return nil
405}
406
407func (x *FilterChainMatch) GetTransportProtocol() string {
408	if x != nil {
409		return x.TransportProtocol
410	}
411	return ""
412}
413
414func (x *FilterChainMatch) GetApplicationProtocols() []string {
415	if x != nil {
416		return x.ApplicationProtocols
417	}
418	return nil
419}
420
421// A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and
422// various other parameters.
423// [#next-free-field: 10]
424type FilterChain struct {
425	state         protoimpl.MessageState
426	sizeCache     protoimpl.SizeCache
427	unknownFields protoimpl.UnknownFields
428
429	// The criteria to use when matching a connection to this filter chain.
430	FilterChainMatch *FilterChainMatch `protobuf:"bytes,1,opt,name=filter_chain_match,json=filterChainMatch,proto3" json:"filter_chain_match,omitempty"`
431	// A list of individual network filters that make up the filter chain for
432	// connections established with the listener. Order matters as the filters are
433	// processed sequentially as connection events happen. Note: If the filter
434	// list is empty, the connection will close by default.
435	Filters []*Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"`
436	// Whether the listener should expect a PROXY protocol V1 header on new
437	// connections. If this option is enabled, the listener will assume that that
438	// remote address of the connection is the one specified in the header. Some
439	// load balancers including the AWS ELB support this option. If the option is
440	// absent or set to false, Envoy will use the physical peer address of the
441	// connection as the remote address.
442	//
443	// This field is deprecated. Add a
444	// :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
445	// explicitly instead.
446	//
447	// Deprecated: Do not use.
448	UseProxyProto *wrappers.BoolValue `protobuf:"bytes,4,opt,name=use_proxy_proto,json=useProxyProto,proto3" json:"use_proxy_proto,omitempty"`
449	// [#not-implemented-hide:] filter chain metadata.
450	Metadata *v3.Metadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
451	// Optional custom transport socket implementation to use for downstream connections.
452	// To setup TLS, set a transport socket with name `tls` and
453	// :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the `typed_config`.
454	// If no transport socket configuration is specified, new connections
455	// will be set up with plaintext.
456	// [#extension-category: envoy.transport_sockets.downstream]
457	TransportSocket *v3.TransportSocket `protobuf:"bytes,6,opt,name=transport_socket,json=transportSocket,proto3" json:"transport_socket,omitempty"`
458	// If present and nonzero, the amount of time to allow incoming connections to complete any
459	// transport socket negotiations. If this expires before the transport reports connection
460	// establishment, the connection is summarily closed.
461	TransportSocketConnectTimeout *duration.Duration `protobuf:"bytes,9,opt,name=transport_socket_connect_timeout,json=transportSocketConnectTimeout,proto3" json:"transport_socket_connect_timeout,omitempty"`
462	// [#not-implemented-hide:] The unique name (or empty) by which this filter chain is known. If no
463	// name is provided, Envoy will allocate an internal UUID for the filter chain. If the filter
464	// chain is to be dynamically updated or removed via FCDS a unique name must be provided.
465	Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
466	// [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
467	// If this field is not empty, the filter chain will be built on-demand.
468	// Otherwise, the filter chain will be built normally and block listener warming.
469	OnDemandConfiguration *FilterChain_OnDemandConfiguration `protobuf:"bytes,8,opt,name=on_demand_configuration,json=onDemandConfiguration,proto3" json:"on_demand_configuration,omitempty"`
470	// Deprecated: Do not use.
471	HiddenEnvoyDeprecatedTlsContext *v31.DownstreamTlsContext `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_tls_context,json=hiddenEnvoyDeprecatedTlsContext,proto3" json:"hidden_envoy_deprecated_tls_context,omitempty"`
472}
473
474func (x *FilterChain) Reset() {
475	*x = FilterChain{}
476	if protoimpl.UnsafeEnabled {
477		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[2]
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		ms.StoreMessageInfo(mi)
480	}
481}
482
483func (x *FilterChain) String() string {
484	return protoimpl.X.MessageStringOf(x)
485}
486
487func (*FilterChain) ProtoMessage() {}
488
489func (x *FilterChain) ProtoReflect() protoreflect.Message {
490	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[2]
491	if protoimpl.UnsafeEnabled && x != nil {
492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
493		if ms.LoadMessageInfo() == nil {
494			ms.StoreMessageInfo(mi)
495		}
496		return ms
497	}
498	return mi.MessageOf(x)
499}
500
501// Deprecated: Use FilterChain.ProtoReflect.Descriptor instead.
502func (*FilterChain) Descriptor() ([]byte, []int) {
503	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{2}
504}
505
506func (x *FilterChain) GetFilterChainMatch() *FilterChainMatch {
507	if x != nil {
508		return x.FilterChainMatch
509	}
510	return nil
511}
512
513func (x *FilterChain) GetFilters() []*Filter {
514	if x != nil {
515		return x.Filters
516	}
517	return nil
518}
519
520// Deprecated: Do not use.
521func (x *FilterChain) GetUseProxyProto() *wrappers.BoolValue {
522	if x != nil {
523		return x.UseProxyProto
524	}
525	return nil
526}
527
528func (x *FilterChain) GetMetadata() *v3.Metadata {
529	if x != nil {
530		return x.Metadata
531	}
532	return nil
533}
534
535func (x *FilterChain) GetTransportSocket() *v3.TransportSocket {
536	if x != nil {
537		return x.TransportSocket
538	}
539	return nil
540}
541
542func (x *FilterChain) GetTransportSocketConnectTimeout() *duration.Duration {
543	if x != nil {
544		return x.TransportSocketConnectTimeout
545	}
546	return nil
547}
548
549func (x *FilterChain) GetName() string {
550	if x != nil {
551		return x.Name
552	}
553	return ""
554}
555
556func (x *FilterChain) GetOnDemandConfiguration() *FilterChain_OnDemandConfiguration {
557	if x != nil {
558		return x.OnDemandConfiguration
559	}
560	return nil
561}
562
563// Deprecated: Do not use.
564func (x *FilterChain) GetHiddenEnvoyDeprecatedTlsContext() *v31.DownstreamTlsContext {
565	if x != nil {
566		return x.HiddenEnvoyDeprecatedTlsContext
567	}
568	return nil
569}
570
571// Listener filter chain match configuration. This is a recursive structure which allows complex
572// nested match configurations to be built using various logical operators.
573//
574// Examples:
575//
576// * Matches if the destination port is 3306.
577//
578// .. code-block:: yaml
579//
580//  destination_port_range:
581//   start: 3306
582//   end: 3307
583//
584// * Matches if the destination port is 3306 or 15000.
585//
586// .. code-block:: yaml
587//
588//  or_match:
589//    rules:
590//      - destination_port_range:
591//          start: 3306
592//          end: 3306
593//      - destination_port_range:
594//          start: 15000
595//          end: 15001
596//
597// [#next-free-field: 6]
598type ListenerFilterChainMatchPredicate struct {
599	state         protoimpl.MessageState
600	sizeCache     protoimpl.SizeCache
601	unknownFields protoimpl.UnknownFields
602
603	// Types that are assignable to Rule:
604	//	*ListenerFilterChainMatchPredicate_OrMatch
605	//	*ListenerFilterChainMatchPredicate_AndMatch
606	//	*ListenerFilterChainMatchPredicate_NotMatch
607	//	*ListenerFilterChainMatchPredicate_AnyMatch
608	//	*ListenerFilterChainMatchPredicate_DestinationPortRange
609	Rule isListenerFilterChainMatchPredicate_Rule `protobuf_oneof:"rule"`
610}
611
612func (x *ListenerFilterChainMatchPredicate) Reset() {
613	*x = ListenerFilterChainMatchPredicate{}
614	if protoimpl.UnsafeEnabled {
615		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[3]
616		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
617		ms.StoreMessageInfo(mi)
618	}
619}
620
621func (x *ListenerFilterChainMatchPredicate) String() string {
622	return protoimpl.X.MessageStringOf(x)
623}
624
625func (*ListenerFilterChainMatchPredicate) ProtoMessage() {}
626
627func (x *ListenerFilterChainMatchPredicate) ProtoReflect() protoreflect.Message {
628	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[3]
629	if protoimpl.UnsafeEnabled && x != nil {
630		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
631		if ms.LoadMessageInfo() == nil {
632			ms.StoreMessageInfo(mi)
633		}
634		return ms
635	}
636	return mi.MessageOf(x)
637}
638
639// Deprecated: Use ListenerFilterChainMatchPredicate.ProtoReflect.Descriptor instead.
640func (*ListenerFilterChainMatchPredicate) Descriptor() ([]byte, []int) {
641	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{3}
642}
643
644func (m *ListenerFilterChainMatchPredicate) GetRule() isListenerFilterChainMatchPredicate_Rule {
645	if m != nil {
646		return m.Rule
647	}
648	return nil
649}
650
651func (x *ListenerFilterChainMatchPredicate) GetOrMatch() *ListenerFilterChainMatchPredicate_MatchSet {
652	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_OrMatch); ok {
653		return x.OrMatch
654	}
655	return nil
656}
657
658func (x *ListenerFilterChainMatchPredicate) GetAndMatch() *ListenerFilterChainMatchPredicate_MatchSet {
659	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AndMatch); ok {
660		return x.AndMatch
661	}
662	return nil
663}
664
665func (x *ListenerFilterChainMatchPredicate) GetNotMatch() *ListenerFilterChainMatchPredicate {
666	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_NotMatch); ok {
667		return x.NotMatch
668	}
669	return nil
670}
671
672func (x *ListenerFilterChainMatchPredicate) GetAnyMatch() bool {
673	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_AnyMatch); ok {
674		return x.AnyMatch
675	}
676	return false
677}
678
679func (x *ListenerFilterChainMatchPredicate) GetDestinationPortRange() *v32.Int32Range {
680	if x, ok := x.GetRule().(*ListenerFilterChainMatchPredicate_DestinationPortRange); ok {
681		return x.DestinationPortRange
682	}
683	return nil
684}
685
686type isListenerFilterChainMatchPredicate_Rule interface {
687	isListenerFilterChainMatchPredicate_Rule()
688}
689
690type ListenerFilterChainMatchPredicate_OrMatch struct {
691	// A set that describes a logical OR. If any member of the set matches, the match configuration
692	// matches.
693	OrMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,1,opt,name=or_match,json=orMatch,proto3,oneof"`
694}
695
696type ListenerFilterChainMatchPredicate_AndMatch struct {
697	// A set that describes a logical AND. If all members of the set match, the match configuration
698	// matches.
699	AndMatch *ListenerFilterChainMatchPredicate_MatchSet `protobuf:"bytes,2,opt,name=and_match,json=andMatch,proto3,oneof"`
700}
701
702type ListenerFilterChainMatchPredicate_NotMatch struct {
703	// A negation match. The match configuration will match if the negated match condition matches.
704	NotMatch *ListenerFilterChainMatchPredicate `protobuf:"bytes,3,opt,name=not_match,json=notMatch,proto3,oneof"`
705}
706
707type ListenerFilterChainMatchPredicate_AnyMatch struct {
708	// The match configuration will always match.
709	AnyMatch bool `protobuf:"varint,4,opt,name=any_match,json=anyMatch,proto3,oneof"`
710}
711
712type ListenerFilterChainMatchPredicate_DestinationPortRange struct {
713	// Match destination port. Particularly, the match evaluation must use the recovered local port if
714	// the owning listener filter is after :ref:`an original_dst listener filter <config_listener_filters_original_dst>`.
715	DestinationPortRange *v32.Int32Range `protobuf:"bytes,5,opt,name=destination_port_range,json=destinationPortRange,proto3,oneof"`
716}
717
718func (*ListenerFilterChainMatchPredicate_OrMatch) isListenerFilterChainMatchPredicate_Rule() {}
719
720func (*ListenerFilterChainMatchPredicate_AndMatch) isListenerFilterChainMatchPredicate_Rule() {}
721
722func (*ListenerFilterChainMatchPredicate_NotMatch) isListenerFilterChainMatchPredicate_Rule() {}
723
724func (*ListenerFilterChainMatchPredicate_AnyMatch) isListenerFilterChainMatchPredicate_Rule() {}
725
726func (*ListenerFilterChainMatchPredicate_DestinationPortRange) isListenerFilterChainMatchPredicate_Rule() {
727}
728
729type ListenerFilter struct {
730	state         protoimpl.MessageState
731	sizeCache     protoimpl.SizeCache
732	unknownFields protoimpl.UnknownFields
733
734	// The name of the filter to instantiate. The name must match a
735	// :ref:`supported filter <config_listener_filters>`.
736	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
737	// Types that are assignable to ConfigType:
738	//	*ListenerFilter_TypedConfig
739	//	*ListenerFilter_HiddenEnvoyDeprecatedConfig
740	ConfigType isListenerFilter_ConfigType `protobuf_oneof:"config_type"`
741	// Optional match predicate used to disable the filter. The filter is enabled when this field is empty.
742	// See :ref:`ListenerFilterChainMatchPredicate <envoy_v3_api_msg_config.listener.v3.ListenerFilterChainMatchPredicate>`
743	// for further examples.
744	FilterDisabled *ListenerFilterChainMatchPredicate `protobuf:"bytes,4,opt,name=filter_disabled,json=filterDisabled,proto3" json:"filter_disabled,omitempty"`
745}
746
747func (x *ListenerFilter) Reset() {
748	*x = ListenerFilter{}
749	if protoimpl.UnsafeEnabled {
750		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[4]
751		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
752		ms.StoreMessageInfo(mi)
753	}
754}
755
756func (x *ListenerFilter) String() string {
757	return protoimpl.X.MessageStringOf(x)
758}
759
760func (*ListenerFilter) ProtoMessage() {}
761
762func (x *ListenerFilter) ProtoReflect() protoreflect.Message {
763	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[4]
764	if protoimpl.UnsafeEnabled && x != nil {
765		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
766		if ms.LoadMessageInfo() == nil {
767			ms.StoreMessageInfo(mi)
768		}
769		return ms
770	}
771	return mi.MessageOf(x)
772}
773
774// Deprecated: Use ListenerFilter.ProtoReflect.Descriptor instead.
775func (*ListenerFilter) Descriptor() ([]byte, []int) {
776	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{4}
777}
778
779func (x *ListenerFilter) GetName() string {
780	if x != nil {
781		return x.Name
782	}
783	return ""
784}
785
786func (m *ListenerFilter) GetConfigType() isListenerFilter_ConfigType {
787	if m != nil {
788		return m.ConfigType
789	}
790	return nil
791}
792
793func (x *ListenerFilter) GetTypedConfig() *any.Any {
794	if x, ok := x.GetConfigType().(*ListenerFilter_TypedConfig); ok {
795		return x.TypedConfig
796	}
797	return nil
798}
799
800// Deprecated: Do not use.
801func (x *ListenerFilter) GetHiddenEnvoyDeprecatedConfig() *_struct.Struct {
802	if x, ok := x.GetConfigType().(*ListenerFilter_HiddenEnvoyDeprecatedConfig); ok {
803		return x.HiddenEnvoyDeprecatedConfig
804	}
805	return nil
806}
807
808func (x *ListenerFilter) GetFilterDisabled() *ListenerFilterChainMatchPredicate {
809	if x != nil {
810		return x.FilterDisabled
811	}
812	return nil
813}
814
815type isListenerFilter_ConfigType interface {
816	isListenerFilter_ConfigType()
817}
818
819type ListenerFilter_TypedConfig struct {
820	// Filter specific configuration which depends on the filter being
821	// instantiated. See the supported filters for further documentation.
822	// [#extension-category: envoy.filters.listener,envoy.filters.udp_listener]
823	TypedConfig *any.Any `protobuf:"bytes,3,opt,name=typed_config,json=typedConfig,proto3,oneof"`
824}
825
826type ListenerFilter_HiddenEnvoyDeprecatedConfig struct {
827	// Deprecated: Do not use.
828	HiddenEnvoyDeprecatedConfig *_struct.Struct `protobuf:"bytes,2,opt,name=hidden_envoy_deprecated_config,json=hiddenEnvoyDeprecatedConfig,proto3,oneof"`
829}
830
831func (*ListenerFilter_TypedConfig) isListenerFilter_ConfigType() {}
832
833func (*ListenerFilter_HiddenEnvoyDeprecatedConfig) isListenerFilter_ConfigType() {}
834
835// The configuration for on-demand filter chain. If this field is not empty in FilterChain message,
836// a filter chain will be built on-demand.
837// On-demand filter chains help speedup the warming up of listeners since the building and initialization of
838// an on-demand filter chain will be postponed to the arrival of new connection requests that require this filter chain.
839// Filter chains that are not often used can be set as on-demand.
840type FilterChain_OnDemandConfiguration struct {
841	state         protoimpl.MessageState
842	sizeCache     protoimpl.SizeCache
843	unknownFields protoimpl.UnknownFields
844
845	// The timeout to wait for filter chain placeholders to complete rebuilding.
846	// 1. If this field is set to 0, timeout is disabled.
847	// 2. If not specified, a default timeout of 15s is used.
848	// Rebuilding will wait until dependencies are ready, have failed, or this timeout is reached.
849	// Upon failure or timeout, all connections related to this filter chain will be closed.
850	// Rebuilding will start again on the next new connection.
851	RebuildTimeout *duration.Duration `protobuf:"bytes,1,opt,name=rebuild_timeout,json=rebuildTimeout,proto3" json:"rebuild_timeout,omitempty"`
852}
853
854func (x *FilterChain_OnDemandConfiguration) Reset() {
855	*x = FilterChain_OnDemandConfiguration{}
856	if protoimpl.UnsafeEnabled {
857		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[5]
858		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
859		ms.StoreMessageInfo(mi)
860	}
861}
862
863func (x *FilterChain_OnDemandConfiguration) String() string {
864	return protoimpl.X.MessageStringOf(x)
865}
866
867func (*FilterChain_OnDemandConfiguration) ProtoMessage() {}
868
869func (x *FilterChain_OnDemandConfiguration) ProtoReflect() protoreflect.Message {
870	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[5]
871	if protoimpl.UnsafeEnabled && x != nil {
872		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
873		if ms.LoadMessageInfo() == nil {
874			ms.StoreMessageInfo(mi)
875		}
876		return ms
877	}
878	return mi.MessageOf(x)
879}
880
881// Deprecated: Use FilterChain_OnDemandConfiguration.ProtoReflect.Descriptor instead.
882func (*FilterChain_OnDemandConfiguration) Descriptor() ([]byte, []int) {
883	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{2, 0}
884}
885
886func (x *FilterChain_OnDemandConfiguration) GetRebuildTimeout() *duration.Duration {
887	if x != nil {
888		return x.RebuildTimeout
889	}
890	return nil
891}
892
893// A set of match configurations used for logical operations.
894type ListenerFilterChainMatchPredicate_MatchSet struct {
895	state         protoimpl.MessageState
896	sizeCache     protoimpl.SizeCache
897	unknownFields protoimpl.UnknownFields
898
899	// The list of rules that make up the set.
900	Rules []*ListenerFilterChainMatchPredicate `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
901}
902
903func (x *ListenerFilterChainMatchPredicate_MatchSet) Reset() {
904	*x = ListenerFilterChainMatchPredicate_MatchSet{}
905	if protoimpl.UnsafeEnabled {
906		mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[6]
907		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
908		ms.StoreMessageInfo(mi)
909	}
910}
911
912func (x *ListenerFilterChainMatchPredicate_MatchSet) String() string {
913	return protoimpl.X.MessageStringOf(x)
914}
915
916func (*ListenerFilterChainMatchPredicate_MatchSet) ProtoMessage() {}
917
918func (x *ListenerFilterChainMatchPredicate_MatchSet) ProtoReflect() protoreflect.Message {
919	mi := &file_envoy_config_listener_v3_listener_components_proto_msgTypes[6]
920	if protoimpl.UnsafeEnabled && x != nil {
921		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
922		if ms.LoadMessageInfo() == nil {
923			ms.StoreMessageInfo(mi)
924		}
925		return ms
926	}
927	return mi.MessageOf(x)
928}
929
930// Deprecated: Use ListenerFilterChainMatchPredicate_MatchSet.ProtoReflect.Descriptor instead.
931func (*ListenerFilterChainMatchPredicate_MatchSet) Descriptor() ([]byte, []int) {
932	return file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP(), []int{3, 0}
933}
934
935func (x *ListenerFilterChainMatchPredicate_MatchSet) GetRules() []*ListenerFilterChainMatchPredicate {
936	if x != nil {
937		return x.Rules
938	}
939	return nil
940}
941
942var File_envoy_config_listener_v3_listener_components_proto protoreflect.FileDescriptor
943
944var file_envoy_config_listener_v3_listener_components_proto_rawDesc = []byte{
945	0x0a, 0x32, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6c,
946	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2f, 0x76, 0x33, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x65,
947	0x6e, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70,
948	0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66,
949	0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x1a, 0x22,
950	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72,
951	0x65, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f,
952	0x74, 0x6f, 0x1a, 0x1f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
953	0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72,
954	0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
955	0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
956	0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x65, 0x6e, 0x76, 0x6f, 0x79,
957	0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x6e,
958	0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x6c,
959	0x73, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19,
960	0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61,
961	0x6e, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
962	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70,
963	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
964	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
965	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
966	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f,
967	0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
968	0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f,
969	0x74, 0x6f, 0x1a, 0x23, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
970	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f,
971	0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e,
972	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
973	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e,
974	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
975	0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64,
976	0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
977	0x74, 0x6f, 0x22, 0xe1, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a,
978	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
979	0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x74, 0x79,
980	0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
981	0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
982	0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43,
983	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x58, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
984	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
985	0x2b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63,
986	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
987	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f,
988	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12,
989	0x6b, 0x0a, 0x1e, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f,
990	0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
991	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
992	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74,
993	0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x48, 0x00, 0x52,
994	0x1b, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 0x70, 0x72,
995	0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x23, 0x9a, 0xc5,
996	0x88, 0x1e, 0x1e, 0x0a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
997	0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
998	0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65,
999	0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x8a, 0x06, 0x0a, 0x10, 0x46, 0x69, 0x6c, 0x74, 0x65,
1000	0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x54, 0x0a, 0x10, 0x64,
1001	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18,
1002	0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
1003	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61,
1004	0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03, 0x28, 0x01,
1005	0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72,
1006	0x74, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67,
1007	0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
1008	0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e,
1009	0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69,
1010	0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x72, 0x65,
1011	0x73, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
1012	0x0d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x3b,
1013	0x0a, 0x0a, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01,
1014	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1015	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
1016	0x52, 0x09, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x6a, 0x0a, 0x0b, 0x73,
1017	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e,
1018	0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
1019	0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74,
1020	0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x43, 0x6f, 0x6e,
1021	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
1022	0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75,
1023	0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63,
1024	0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18,
1025	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
1026	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x69, 0x64,
1027	0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72,
1028	0x65, 0x66, 0x69, 0x78, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x0c, 0x73, 0x6f,
1029	0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d,
1030	0x42, 0x10, 0xfa, 0x42, 0x0d, 0x92, 0x01, 0x0a, 0x22, 0x08, 0x2a, 0x06, 0x18, 0xff, 0xff, 0x03,
1031	0x28, 0x01, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12,
1032	0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18,
1033	0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d,
1034	0x65, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f,
1035	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
1036	0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
1037	0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1038	0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09,
1039	0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f,
1040	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
1041	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07,
1042	0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x41, 0x4d, 0x45, 0x5f,
1043	0x49, 0x50, 0x5f, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01,
1044	0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x02, 0x3a, 0x2d,
1045	0x9a, 0xc5, 0x88, 0x1e, 0x28, 0x0a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69,
1046	0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69, 0x6c,
1047	0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4a, 0x04, 0x08,
1048	0x01, 0x10, 0x02, 0x22, 0x93, 0x07, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68,
1049	0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x12, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x68,
1050	0x61, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
1051	0x2a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c,
1052	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
1053	0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x10, 0x66, 0x69, 0x6c,
1054	0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x0a,
1055	0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20,
1056	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69,
1057	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
1058	0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x4f, 0x0a, 0x0f, 0x75, 0x73, 0x65,
1059	0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01,
1060	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1061	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b,
1062	0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x52, 0x0d, 0x75, 0x73, 0x65,
1063	0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x3a, 0x0a, 0x08, 0x6d, 0x65,
1064	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x65,
1065	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65,
1066	0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65,
1067	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70,
1068	0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
1069	0x32, 0x25, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
1070	0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
1071	0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f,
1072	0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x62, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x6e,
1073	0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
1074	0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01,
1075	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1076	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1d, 0x74,
1077	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f,
1078	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04,
1079	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1080	0x12, 0x73, 0x0a, 0x17, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x63, 0x6f,
1081	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
1082	0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1083	0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x46, 0x69, 0x6c,
1084	0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x2e, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e,
1085	0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x15,
1086	0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72,
1087	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x23, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e,
1088	0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65,
1089	0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20,
1090	0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65,
1091	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
1092	0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2e, 0x74, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x2e,
1093	0x44, 0x6f, 0x77, 0x6e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e,
1094	0x74, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7, 0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e,
1095	0x30, 0x52, 0x1f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65,
1096	0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65,
1097	0x78, 0x74, 0x1a, 0x5b, 0x0a, 0x15, 0x4f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x43, 0x6f,
1098	0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0f, 0x72,
1099	0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01,
1100	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1101	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
1102	0x0e, 0x72, 0x65, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x3a,
1103	0x28, 0x9a, 0xc5, 0x88, 0x1e, 0x23, 0x0a, 0x21, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70,
1104	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x46, 0x69,
1105	0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x22, 0xc2, 0x05, 0x0a, 0x21, 0x4c, 0x69,
1106	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69,
1107	0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12,
1108	0x61, 0x0a, 0x08, 0x6f, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
1109	0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
1110	0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73,
1111	0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e,
1112	0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d,
1113	0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x72, 0x4d, 0x61, 0x74,
1114	0x63, 0x68, 0x12, 0x63, 0x0a, 0x09, 0x61, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
1115	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f,
1116	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33,
1117	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43,
1118	0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61,
1119	0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61,
1120	0x6e, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
1121	0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76,
1122	0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
1123	0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69,
1124	0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72,
1125	0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x4d, 0x61,
1126	0x74, 0x63, 0x68, 0x12, 0x26, 0x0a, 0x09, 0x61, 0x6e, 0x79, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
1127	0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x6a, 0x02, 0x08, 0x01, 0x48,
1128	0x00, 0x52, 0x08, 0x61, 0x6e, 0x79, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x51, 0x0a, 0x16, 0x64,
1129	0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f,
1130	0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x65, 0x6e,
1131	0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x6e, 0x74, 0x33,
1132	0x32, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
1133	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x1a, 0xb0,
1134	0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x5b, 0x0a, 0x05, 0x72,
1135	0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x65, 0x6e, 0x76,
1136	0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e,
1137	0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69,
1138	0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72,
1139	0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08,
1140	0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x47, 0x9a, 0xc5, 0x88, 0x1e, 0x42, 0x0a,
1141	0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69,
1142	0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46,
1143	0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50,
1144	0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65,
1145	0x74, 0x3a, 0x3e, 0x9a, 0xc5, 0x88, 0x1e, 0x39, 0x0a, 0x37, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
1146	0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e,
1147	0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68,
1148	0x61, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74,
1149	0x65, 0x42, 0x0b, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xf7,
1150	0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65,
1151	0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
1152	0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39,
1153	0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03,
1154	0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
1155	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x79,
1156	0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6b, 0x0a, 0x1e, 0x68, 0x69, 0x64,
1157	0x64, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63,
1158	0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
1159	0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1160	0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0b, 0x18, 0x01, 0x92, 0xc7,
1161	0x86, 0xd8, 0x04, 0x03, 0x33, 0x2e, 0x30, 0x48, 0x00, 0x52, 0x1b, 0x68, 0x69, 0x64, 0x64, 0x65,
1162	0x6e, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64,
1163	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x64, 0x0a, 0x0f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
1164	0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
1165	0x3b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c,
1166	0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65,
1167	0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x61,
1168	0x74, 0x63, 0x68, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x66, 0x69,
1169	0x6c, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x2b, 0x9a, 0xc5,
1170	0x88, 0x1e, 0x26, 0x0a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76,
1171	0x32, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x65,
1172	0x6e, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
1173	0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x4b, 0x0a, 0x26, 0x69, 0x6f, 0x2e, 0x65,
1174	0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
1175	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x2e,
1176	0x76, 0x33, 0x42, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x70,
1177	0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8,
1178	0xd1, 0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1179}
1180
1181var (
1182	file_envoy_config_listener_v3_listener_components_proto_rawDescOnce sync.Once
1183	file_envoy_config_listener_v3_listener_components_proto_rawDescData = file_envoy_config_listener_v3_listener_components_proto_rawDesc
1184)
1185
1186func file_envoy_config_listener_v3_listener_components_proto_rawDescGZIP() []byte {
1187	file_envoy_config_listener_v3_listener_components_proto_rawDescOnce.Do(func() {
1188		file_envoy_config_listener_v3_listener_components_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_config_listener_v3_listener_components_proto_rawDescData)
1189	})
1190	return file_envoy_config_listener_v3_listener_components_proto_rawDescData
1191}
1192
1193var file_envoy_config_listener_v3_listener_components_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
1194var file_envoy_config_listener_v3_listener_components_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
1195var file_envoy_config_listener_v3_listener_components_proto_goTypes = []interface{}{
1196	(FilterChainMatch_ConnectionSourceType)(0), // 0: envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType
1197	(*Filter)(nil),                                     // 1: envoy.config.listener.v3.Filter
1198	(*FilterChainMatch)(nil),                           // 2: envoy.config.listener.v3.FilterChainMatch
1199	(*FilterChain)(nil),                                // 3: envoy.config.listener.v3.FilterChain
1200	(*ListenerFilterChainMatchPredicate)(nil),          // 4: envoy.config.listener.v3.ListenerFilterChainMatchPredicate
1201	(*ListenerFilter)(nil),                             // 5: envoy.config.listener.v3.ListenerFilter
1202	(*FilterChain_OnDemandConfiguration)(nil),          // 6: envoy.config.listener.v3.FilterChain.OnDemandConfiguration
1203	(*ListenerFilterChainMatchPredicate_MatchSet)(nil), // 7: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet
1204	(*any.Any)(nil),                                    // 8: google.protobuf.Any
1205	(*v3.ExtensionConfigSource)(nil),                   // 9: envoy.config.core.v3.ExtensionConfigSource
1206	(*_struct.Struct)(nil),                             // 10: google.protobuf.Struct
1207	(*wrappers.UInt32Value)(nil),                       // 11: google.protobuf.UInt32Value
1208	(*v3.CidrRange)(nil),                               // 12: envoy.config.core.v3.CidrRange
1209	(*wrappers.BoolValue)(nil),                         // 13: google.protobuf.BoolValue
1210	(*v3.Metadata)(nil),                                // 14: envoy.config.core.v3.Metadata
1211	(*v3.TransportSocket)(nil),                         // 15: envoy.config.core.v3.TransportSocket
1212	(*duration.Duration)(nil),                          // 16: google.protobuf.Duration
1213	(*v31.DownstreamTlsContext)(nil),                   // 17: envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
1214	(*v32.Int32Range)(nil),                             // 18: envoy.type.v3.Int32Range
1215}
1216var file_envoy_config_listener_v3_listener_components_proto_depIdxs = []int32{
1217	8,  // 0: envoy.config.listener.v3.Filter.typed_config:type_name -> google.protobuf.Any
1218	9,  // 1: envoy.config.listener.v3.Filter.config_discovery:type_name -> envoy.config.core.v3.ExtensionConfigSource
1219	10, // 2: envoy.config.listener.v3.Filter.hidden_envoy_deprecated_config:type_name -> google.protobuf.Struct
1220	11, // 3: envoy.config.listener.v3.FilterChainMatch.destination_port:type_name -> google.protobuf.UInt32Value
1221	12, // 4: envoy.config.listener.v3.FilterChainMatch.prefix_ranges:type_name -> envoy.config.core.v3.CidrRange
1222	11, // 5: envoy.config.listener.v3.FilterChainMatch.suffix_len:type_name -> google.protobuf.UInt32Value
1223	0,  // 6: envoy.config.listener.v3.FilterChainMatch.source_type:type_name -> envoy.config.listener.v3.FilterChainMatch.ConnectionSourceType
1224	12, // 7: envoy.config.listener.v3.FilterChainMatch.source_prefix_ranges:type_name -> envoy.config.core.v3.CidrRange
1225	2,  // 8: envoy.config.listener.v3.FilterChain.filter_chain_match:type_name -> envoy.config.listener.v3.FilterChainMatch
1226	1,  // 9: envoy.config.listener.v3.FilterChain.filters:type_name -> envoy.config.listener.v3.Filter
1227	13, // 10: envoy.config.listener.v3.FilterChain.use_proxy_proto:type_name -> google.protobuf.BoolValue
1228	14, // 11: envoy.config.listener.v3.FilterChain.metadata:type_name -> envoy.config.core.v3.Metadata
1229	15, // 12: envoy.config.listener.v3.FilterChain.transport_socket:type_name -> envoy.config.core.v3.TransportSocket
1230	16, // 13: envoy.config.listener.v3.FilterChain.transport_socket_connect_timeout:type_name -> google.protobuf.Duration
1231	6,  // 14: envoy.config.listener.v3.FilterChain.on_demand_configuration:type_name -> envoy.config.listener.v3.FilterChain.OnDemandConfiguration
1232	17, // 15: envoy.config.listener.v3.FilterChain.hidden_envoy_deprecated_tls_context:type_name -> envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
1233	7,  // 16: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.or_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet
1234	7,  // 17: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.and_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet
1235	4,  // 18: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.not_match:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate
1236	18, // 19: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.destination_port_range:type_name -> envoy.type.v3.Int32Range
1237	8,  // 20: envoy.config.listener.v3.ListenerFilter.typed_config:type_name -> google.protobuf.Any
1238	10, // 21: envoy.config.listener.v3.ListenerFilter.hidden_envoy_deprecated_config:type_name -> google.protobuf.Struct
1239	4,  // 22: envoy.config.listener.v3.ListenerFilter.filter_disabled:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate
1240	16, // 23: envoy.config.listener.v3.FilterChain.OnDemandConfiguration.rebuild_timeout:type_name -> google.protobuf.Duration
1241	4,  // 24: envoy.config.listener.v3.ListenerFilterChainMatchPredicate.MatchSet.rules:type_name -> envoy.config.listener.v3.ListenerFilterChainMatchPredicate
1242	25, // [25:25] is the sub-list for method output_type
1243	25, // [25:25] is the sub-list for method input_type
1244	25, // [25:25] is the sub-list for extension type_name
1245	25, // [25:25] is the sub-list for extension extendee
1246	0,  // [0:25] is the sub-list for field type_name
1247}
1248
1249func init() { file_envoy_config_listener_v3_listener_components_proto_init() }
1250func file_envoy_config_listener_v3_listener_components_proto_init() {
1251	if File_envoy_config_listener_v3_listener_components_proto != nil {
1252		return
1253	}
1254	if !protoimpl.UnsafeEnabled {
1255		file_envoy_config_listener_v3_listener_components_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1256			switch v := v.(*Filter); i {
1257			case 0:
1258				return &v.state
1259			case 1:
1260				return &v.sizeCache
1261			case 2:
1262				return &v.unknownFields
1263			default:
1264				return nil
1265			}
1266		}
1267		file_envoy_config_listener_v3_listener_components_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1268			switch v := v.(*FilterChainMatch); i {
1269			case 0:
1270				return &v.state
1271			case 1:
1272				return &v.sizeCache
1273			case 2:
1274				return &v.unknownFields
1275			default:
1276				return nil
1277			}
1278		}
1279		file_envoy_config_listener_v3_listener_components_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1280			switch v := v.(*FilterChain); i {
1281			case 0:
1282				return &v.state
1283			case 1:
1284				return &v.sizeCache
1285			case 2:
1286				return &v.unknownFields
1287			default:
1288				return nil
1289			}
1290		}
1291		file_envoy_config_listener_v3_listener_components_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1292			switch v := v.(*ListenerFilterChainMatchPredicate); i {
1293			case 0:
1294				return &v.state
1295			case 1:
1296				return &v.sizeCache
1297			case 2:
1298				return &v.unknownFields
1299			default:
1300				return nil
1301			}
1302		}
1303		file_envoy_config_listener_v3_listener_components_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1304			switch v := v.(*ListenerFilter); i {
1305			case 0:
1306				return &v.state
1307			case 1:
1308				return &v.sizeCache
1309			case 2:
1310				return &v.unknownFields
1311			default:
1312				return nil
1313			}
1314		}
1315		file_envoy_config_listener_v3_listener_components_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1316			switch v := v.(*FilterChain_OnDemandConfiguration); i {
1317			case 0:
1318				return &v.state
1319			case 1:
1320				return &v.sizeCache
1321			case 2:
1322				return &v.unknownFields
1323			default:
1324				return nil
1325			}
1326		}
1327		file_envoy_config_listener_v3_listener_components_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1328			switch v := v.(*ListenerFilterChainMatchPredicate_MatchSet); i {
1329			case 0:
1330				return &v.state
1331			case 1:
1332				return &v.sizeCache
1333			case 2:
1334				return &v.unknownFields
1335			default:
1336				return nil
1337			}
1338		}
1339	}
1340	file_envoy_config_listener_v3_listener_components_proto_msgTypes[0].OneofWrappers = []interface{}{
1341		(*Filter_TypedConfig)(nil),
1342		(*Filter_ConfigDiscovery)(nil),
1343		(*Filter_HiddenEnvoyDeprecatedConfig)(nil),
1344	}
1345	file_envoy_config_listener_v3_listener_components_proto_msgTypes[3].OneofWrappers = []interface{}{
1346		(*ListenerFilterChainMatchPredicate_OrMatch)(nil),
1347		(*ListenerFilterChainMatchPredicate_AndMatch)(nil),
1348		(*ListenerFilterChainMatchPredicate_NotMatch)(nil),
1349		(*ListenerFilterChainMatchPredicate_AnyMatch)(nil),
1350		(*ListenerFilterChainMatchPredicate_DestinationPortRange)(nil),
1351	}
1352	file_envoy_config_listener_v3_listener_components_proto_msgTypes[4].OneofWrappers = []interface{}{
1353		(*ListenerFilter_TypedConfig)(nil),
1354		(*ListenerFilter_HiddenEnvoyDeprecatedConfig)(nil),
1355	}
1356	type x struct{}
1357	out := protoimpl.TypeBuilder{
1358		File: protoimpl.DescBuilder{
1359			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1360			RawDescriptor: file_envoy_config_listener_v3_listener_components_proto_rawDesc,
1361			NumEnums:      1,
1362			NumMessages:   7,
1363			NumExtensions: 0,
1364			NumServices:   0,
1365		},
1366		GoTypes:           file_envoy_config_listener_v3_listener_components_proto_goTypes,
1367		DependencyIndexes: file_envoy_config_listener_v3_listener_components_proto_depIdxs,
1368		EnumInfos:         file_envoy_config_listener_v3_listener_components_proto_enumTypes,
1369		MessageInfos:      file_envoy_config_listener_v3_listener_components_proto_msgTypes,
1370	}.Build()
1371	File_envoy_config_listener_v3_listener_components_proto = out.File
1372	file_envoy_config_listener_v3_listener_components_proto_rawDesc = nil
1373	file_envoy_config_listener_v3_listener_components_proto_goTypes = nil
1374	file_envoy_config_listener_v3_listener_components_proto_depIdxs = nil
1375}
1376