1// Copyright 2021 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.26.0
18// 	protoc        v3.12.2
19// source: google/api/expr/v1alpha1/syntax.proto
20
21package expr
22
23import (
24	reflect "reflect"
25	sync "sync"
26
27	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
28	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
29	durationpb "google.golang.org/protobuf/types/known/durationpb"
30	structpb "google.golang.org/protobuf/types/known/structpb"
31	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
32)
33
34const (
35	// Verify that this generated code is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
37	// Verify that runtime/protoimpl is sufficiently up-to-date.
38	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
39)
40
41// An expression together with source information as returned by the parser.
42type ParsedExpr struct {
43	state         protoimpl.MessageState
44	sizeCache     protoimpl.SizeCache
45	unknownFields protoimpl.UnknownFields
46
47	// The parsed expression.
48	Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"`
49	// The source info derived from input that generated the parsed `expr`.
50	SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
51}
52
53func (x *ParsedExpr) Reset() {
54	*x = ParsedExpr{}
55	if protoimpl.UnsafeEnabled {
56		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0]
57		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
58		ms.StoreMessageInfo(mi)
59	}
60}
61
62func (x *ParsedExpr) String() string {
63	return protoimpl.X.MessageStringOf(x)
64}
65
66func (*ParsedExpr) ProtoMessage() {}
67
68func (x *ParsedExpr) ProtoReflect() protoreflect.Message {
69	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0]
70	if protoimpl.UnsafeEnabled && x != nil {
71		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
72		if ms.LoadMessageInfo() == nil {
73			ms.StoreMessageInfo(mi)
74		}
75		return ms
76	}
77	return mi.MessageOf(x)
78}
79
80// Deprecated: Use ParsedExpr.ProtoReflect.Descriptor instead.
81func (*ParsedExpr) Descriptor() ([]byte, []int) {
82	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{0}
83}
84
85func (x *ParsedExpr) GetExpr() *Expr {
86	if x != nil {
87		return x.Expr
88	}
89	return nil
90}
91
92func (x *ParsedExpr) GetSourceInfo() *SourceInfo {
93	if x != nil {
94		return x.SourceInfo
95	}
96	return nil
97}
98
99// An abstract representation of a common expression.
100//
101// Expressions are abstractly represented as a collection of identifiers,
102// select statements, function calls, literals, and comprehensions. All
103// operators with the exception of the '.' operator are modelled as function
104// calls. This makes it easy to represent new operators into the existing AST.
105//
106// All references within expressions must resolve to a [Decl][google.api.expr.v1alpha1.Decl] provided at
107// type-check for an expression to be valid. A reference may either be a bare
108// identifier `name` or a qualified identifier `google.api.name`. References
109// may either refer to a value or a function declaration.
110//
111// For example, the expression `google.api.name.startsWith('expr')` references
112// the declaration `google.api.name` within a [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and
113// the function declaration `startsWith`.
114type Expr struct {
115	state         protoimpl.MessageState
116	sizeCache     protoimpl.SizeCache
117	unknownFields protoimpl.UnknownFields
118
119	// Required. An id assigned to this node by the parser which is unique in a
120	// given expression tree. This is used to associate type information and other
121	// attributes to a node in the parse tree.
122	Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
123	// Required. Variants of expressions.
124	//
125	// Types that are assignable to ExprKind:
126	//	*Expr_ConstExpr
127	//	*Expr_IdentExpr
128	//	*Expr_SelectExpr
129	//	*Expr_CallExpr
130	//	*Expr_ListExpr
131	//	*Expr_StructExpr
132	//	*Expr_ComprehensionExpr
133	ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"`
134}
135
136func (x *Expr) Reset() {
137	*x = Expr{}
138	if protoimpl.UnsafeEnabled {
139		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1]
140		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
141		ms.StoreMessageInfo(mi)
142	}
143}
144
145func (x *Expr) String() string {
146	return protoimpl.X.MessageStringOf(x)
147}
148
149func (*Expr) ProtoMessage() {}
150
151func (x *Expr) ProtoReflect() protoreflect.Message {
152	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1]
153	if protoimpl.UnsafeEnabled && x != nil {
154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
155		if ms.LoadMessageInfo() == nil {
156			ms.StoreMessageInfo(mi)
157		}
158		return ms
159	}
160	return mi.MessageOf(x)
161}
162
163// Deprecated: Use Expr.ProtoReflect.Descriptor instead.
164func (*Expr) Descriptor() ([]byte, []int) {
165	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1}
166}
167
168func (x *Expr) GetId() int64 {
169	if x != nil {
170		return x.Id
171	}
172	return 0
173}
174
175func (m *Expr) GetExprKind() isExpr_ExprKind {
176	if m != nil {
177		return m.ExprKind
178	}
179	return nil
180}
181
182func (x *Expr) GetConstExpr() *Constant {
183	if x, ok := x.GetExprKind().(*Expr_ConstExpr); ok {
184		return x.ConstExpr
185	}
186	return nil
187}
188
189func (x *Expr) GetIdentExpr() *Expr_Ident {
190	if x, ok := x.GetExprKind().(*Expr_IdentExpr); ok {
191		return x.IdentExpr
192	}
193	return nil
194}
195
196func (x *Expr) GetSelectExpr() *Expr_Select {
197	if x, ok := x.GetExprKind().(*Expr_SelectExpr); ok {
198		return x.SelectExpr
199	}
200	return nil
201}
202
203func (x *Expr) GetCallExpr() *Expr_Call {
204	if x, ok := x.GetExprKind().(*Expr_CallExpr); ok {
205		return x.CallExpr
206	}
207	return nil
208}
209
210func (x *Expr) GetListExpr() *Expr_CreateList {
211	if x, ok := x.GetExprKind().(*Expr_ListExpr); ok {
212		return x.ListExpr
213	}
214	return nil
215}
216
217func (x *Expr) GetStructExpr() *Expr_CreateStruct {
218	if x, ok := x.GetExprKind().(*Expr_StructExpr); ok {
219		return x.StructExpr
220	}
221	return nil
222}
223
224func (x *Expr) GetComprehensionExpr() *Expr_Comprehension {
225	if x, ok := x.GetExprKind().(*Expr_ComprehensionExpr); ok {
226		return x.ComprehensionExpr
227	}
228	return nil
229}
230
231type isExpr_ExprKind interface {
232	isExpr_ExprKind()
233}
234
235type Expr_ConstExpr struct {
236	// A literal expression.
237	ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"`
238}
239
240type Expr_IdentExpr struct {
241	// An identifier expression.
242	IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`
243}
244
245type Expr_SelectExpr struct {
246	// A field selection expression, e.g. `request.auth`.
247	SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"`
248}
249
250type Expr_CallExpr struct {
251	// A call expression, including calls to predefined functions and operators.
252	CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"`
253}
254
255type Expr_ListExpr struct {
256	// A list creation expression.
257	ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`
258}
259
260type Expr_StructExpr struct {
261	// A map or message creation expression.
262	StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`
263}
264
265type Expr_ComprehensionExpr struct {
266	// A comprehension expression.
267	ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`
268}
269
270func (*Expr_ConstExpr) isExpr_ExprKind() {}
271
272func (*Expr_IdentExpr) isExpr_ExprKind() {}
273
274func (*Expr_SelectExpr) isExpr_ExprKind() {}
275
276func (*Expr_CallExpr) isExpr_ExprKind() {}
277
278func (*Expr_ListExpr) isExpr_ExprKind() {}
279
280func (*Expr_StructExpr) isExpr_ExprKind() {}
281
282func (*Expr_ComprehensionExpr) isExpr_ExprKind() {}
283
284// Represents a primitive literal.
285//
286// Named 'Constant' here for backwards compatibility.
287//
288// This is similar as the primitives supported in the well-known type
289// `google.protobuf.Value`, but richer so it can represent CEL's full range of
290// primitives.
291//
292// Lists and structs are not included as constants as these aggregate types may
293// contain [Expr][google.api.expr.v1alpha1.Expr] elements which require evaluation and are thus not constant.
294//
295// Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`,
296// `true`, `null`.
297type Constant struct {
298	state         protoimpl.MessageState
299	sizeCache     protoimpl.SizeCache
300	unknownFields protoimpl.UnknownFields
301
302	// Required. The valid constant kinds.
303	//
304	// Types that are assignable to ConstantKind:
305	//	*Constant_NullValue
306	//	*Constant_BoolValue
307	//	*Constant_Int64Value
308	//	*Constant_Uint64Value
309	//	*Constant_DoubleValue
310	//	*Constant_StringValue
311	//	*Constant_BytesValue
312	//	*Constant_DurationValue
313	//	*Constant_TimestampValue
314	ConstantKind isConstant_ConstantKind `protobuf_oneof:"constant_kind"`
315}
316
317func (x *Constant) Reset() {
318	*x = Constant{}
319	if protoimpl.UnsafeEnabled {
320		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2]
321		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
322		ms.StoreMessageInfo(mi)
323	}
324}
325
326func (x *Constant) String() string {
327	return protoimpl.X.MessageStringOf(x)
328}
329
330func (*Constant) ProtoMessage() {}
331
332func (x *Constant) ProtoReflect() protoreflect.Message {
333	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2]
334	if protoimpl.UnsafeEnabled && x != nil {
335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
336		if ms.LoadMessageInfo() == nil {
337			ms.StoreMessageInfo(mi)
338		}
339		return ms
340	}
341	return mi.MessageOf(x)
342}
343
344// Deprecated: Use Constant.ProtoReflect.Descriptor instead.
345func (*Constant) Descriptor() ([]byte, []int) {
346	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{2}
347}
348
349func (m *Constant) GetConstantKind() isConstant_ConstantKind {
350	if m != nil {
351		return m.ConstantKind
352	}
353	return nil
354}
355
356func (x *Constant) GetNullValue() structpb.NullValue {
357	if x, ok := x.GetConstantKind().(*Constant_NullValue); ok {
358		return x.NullValue
359	}
360	return structpb.NullValue_NULL_VALUE
361}
362
363func (x *Constant) GetBoolValue() bool {
364	if x, ok := x.GetConstantKind().(*Constant_BoolValue); ok {
365		return x.BoolValue
366	}
367	return false
368}
369
370func (x *Constant) GetInt64Value() int64 {
371	if x, ok := x.GetConstantKind().(*Constant_Int64Value); ok {
372		return x.Int64Value
373	}
374	return 0
375}
376
377func (x *Constant) GetUint64Value() uint64 {
378	if x, ok := x.GetConstantKind().(*Constant_Uint64Value); ok {
379		return x.Uint64Value
380	}
381	return 0
382}
383
384func (x *Constant) GetDoubleValue() float64 {
385	if x, ok := x.GetConstantKind().(*Constant_DoubleValue); ok {
386		return x.DoubleValue
387	}
388	return 0
389}
390
391func (x *Constant) GetStringValue() string {
392	if x, ok := x.GetConstantKind().(*Constant_StringValue); ok {
393		return x.StringValue
394	}
395	return ""
396}
397
398func (x *Constant) GetBytesValue() []byte {
399	if x, ok := x.GetConstantKind().(*Constant_BytesValue); ok {
400		return x.BytesValue
401	}
402	return nil
403}
404
405// Deprecated: Do not use.
406func (x *Constant) GetDurationValue() *durationpb.Duration {
407	if x, ok := x.GetConstantKind().(*Constant_DurationValue); ok {
408		return x.DurationValue
409	}
410	return nil
411}
412
413// Deprecated: Do not use.
414func (x *Constant) GetTimestampValue() *timestamppb.Timestamp {
415	if x, ok := x.GetConstantKind().(*Constant_TimestampValue); ok {
416		return x.TimestampValue
417	}
418	return nil
419}
420
421type isConstant_ConstantKind interface {
422	isConstant_ConstantKind()
423}
424
425type Constant_NullValue struct {
426	// null value.
427	NullValue structpb.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
428}
429
430type Constant_BoolValue struct {
431	// boolean value.
432	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
433}
434
435type Constant_Int64Value struct {
436	// int64 value.
437	Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
438}
439
440type Constant_Uint64Value struct {
441	// uint64 value.
442	Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
443}
444
445type Constant_DoubleValue struct {
446	// double value.
447	DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
448}
449
450type Constant_StringValue struct {
451	// string value.
452	StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
453}
454
455type Constant_BytesValue struct {
456	// bytes value.
457	BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
458}
459
460type Constant_DurationValue struct {
461	// protobuf.Duration value.
462	//
463	// Deprecated: duration is no longer considered a builtin cel type.
464	//
465	// Deprecated: Do not use.
466	DurationValue *durationpb.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"`
467}
468
469type Constant_TimestampValue struct {
470	// protobuf.Timestamp value.
471	//
472	// Deprecated: timestamp is no longer considered a builtin cel type.
473	//
474	// Deprecated: Do not use.
475	TimestampValue *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
476}
477
478func (*Constant_NullValue) isConstant_ConstantKind() {}
479
480func (*Constant_BoolValue) isConstant_ConstantKind() {}
481
482func (*Constant_Int64Value) isConstant_ConstantKind() {}
483
484func (*Constant_Uint64Value) isConstant_ConstantKind() {}
485
486func (*Constant_DoubleValue) isConstant_ConstantKind() {}
487
488func (*Constant_StringValue) isConstant_ConstantKind() {}
489
490func (*Constant_BytesValue) isConstant_ConstantKind() {}
491
492func (*Constant_DurationValue) isConstant_ConstantKind() {}
493
494func (*Constant_TimestampValue) isConstant_ConstantKind() {}
495
496// Source information collected at parse time.
497type SourceInfo struct {
498	state         protoimpl.MessageState
499	sizeCache     protoimpl.SizeCache
500	unknownFields protoimpl.UnknownFields
501
502	// The syntax version of the source, e.g. `cel1`.
503	SyntaxVersion string `protobuf:"bytes,1,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
504	// The location name. All position information attached to an expression is
505	// relative to this location.
506	//
507	// The location could be a file, UI element, or similar. For example,
508	// `acme/app/AnvilPolicy.cel`.
509	Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
510	// Monotonically increasing list of code point offsets where newlines
511	// `\n` appear.
512	//
513	// The line number of a given position is the index `i` where for a given
514	// `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
515	// column may be derivd from `id_positions[id] - line_offsets[i]`.
516	LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"`
517	// A map from the parse node id (e.g. `Expr.id`) to the code point offset
518	// within the source.
519	Positions map[int64]int32 `protobuf:"bytes,4,rep,name=positions,proto3" json:"positions,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
520	// A map from the parse node id where a macro replacement was made to the
521	// call `Expr` that resulted in a macro expansion.
522	//
523	// For example, `has(value.field)` is a function call that is replaced by a
524	// `test_only` field selection in the AST. Likewise, the call
525	// `list.exists(e, e > 10)` translates to a comprehension expression. The key
526	// in the map corresponds to the expression id of the expanded macro, and the
527	// value is the call `Expr` that was replaced.
528	MacroCalls map[int64]*Expr `protobuf:"bytes,5,rep,name=macro_calls,json=macroCalls,proto3" json:"macro_calls,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
529}
530
531func (x *SourceInfo) Reset() {
532	*x = SourceInfo{}
533	if protoimpl.UnsafeEnabled {
534		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3]
535		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
536		ms.StoreMessageInfo(mi)
537	}
538}
539
540func (x *SourceInfo) String() string {
541	return protoimpl.X.MessageStringOf(x)
542}
543
544func (*SourceInfo) ProtoMessage() {}
545
546func (x *SourceInfo) ProtoReflect() protoreflect.Message {
547	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3]
548	if protoimpl.UnsafeEnabled && x != nil {
549		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
550		if ms.LoadMessageInfo() == nil {
551			ms.StoreMessageInfo(mi)
552		}
553		return ms
554	}
555	return mi.MessageOf(x)
556}
557
558// Deprecated: Use SourceInfo.ProtoReflect.Descriptor instead.
559func (*SourceInfo) Descriptor() ([]byte, []int) {
560	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{3}
561}
562
563func (x *SourceInfo) GetSyntaxVersion() string {
564	if x != nil {
565		return x.SyntaxVersion
566	}
567	return ""
568}
569
570func (x *SourceInfo) GetLocation() string {
571	if x != nil {
572		return x.Location
573	}
574	return ""
575}
576
577func (x *SourceInfo) GetLineOffsets() []int32 {
578	if x != nil {
579		return x.LineOffsets
580	}
581	return nil
582}
583
584func (x *SourceInfo) GetPositions() map[int64]int32 {
585	if x != nil {
586		return x.Positions
587	}
588	return nil
589}
590
591func (x *SourceInfo) GetMacroCalls() map[int64]*Expr {
592	if x != nil {
593		return x.MacroCalls
594	}
595	return nil
596}
597
598// A specific position in source.
599type SourcePosition struct {
600	state         protoimpl.MessageState
601	sizeCache     protoimpl.SizeCache
602	unknownFields protoimpl.UnknownFields
603
604	// The soucre location name (e.g. file name).
605	Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
606	// The UTF-8 code unit offset.
607	Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
608	// The 1-based index of the starting line in the source text
609	// where the issue occurs, or 0 if unknown.
610	Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
611	// The 0-based index of the starting position within the line of source text
612	// where the issue occurs.  Only meaningful if line is nonzero.
613	Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
614}
615
616func (x *SourcePosition) Reset() {
617	*x = SourcePosition{}
618	if protoimpl.UnsafeEnabled {
619		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4]
620		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
621		ms.StoreMessageInfo(mi)
622	}
623}
624
625func (x *SourcePosition) String() string {
626	return protoimpl.X.MessageStringOf(x)
627}
628
629func (*SourcePosition) ProtoMessage() {}
630
631func (x *SourcePosition) ProtoReflect() protoreflect.Message {
632	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4]
633	if protoimpl.UnsafeEnabled && x != nil {
634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
635		if ms.LoadMessageInfo() == nil {
636			ms.StoreMessageInfo(mi)
637		}
638		return ms
639	}
640	return mi.MessageOf(x)
641}
642
643// Deprecated: Use SourcePosition.ProtoReflect.Descriptor instead.
644func (*SourcePosition) Descriptor() ([]byte, []int) {
645	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{4}
646}
647
648func (x *SourcePosition) GetLocation() string {
649	if x != nil {
650		return x.Location
651	}
652	return ""
653}
654
655func (x *SourcePosition) GetOffset() int32 {
656	if x != nil {
657		return x.Offset
658	}
659	return 0
660}
661
662func (x *SourcePosition) GetLine() int32 {
663	if x != nil {
664		return x.Line
665	}
666	return 0
667}
668
669func (x *SourcePosition) GetColumn() int32 {
670	if x != nil {
671		return x.Column
672	}
673	return 0
674}
675
676// An identifier expression. e.g. `request`.
677type Expr_Ident struct {
678	state         protoimpl.MessageState
679	sizeCache     protoimpl.SizeCache
680	unknownFields protoimpl.UnknownFields
681
682	// Required. Holds a single, unqualified identifier, possibly preceded by a
683	// '.'.
684	//
685	// Qualified names are represented by the [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression.
686	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
687}
688
689func (x *Expr_Ident) Reset() {
690	*x = Expr_Ident{}
691	if protoimpl.UnsafeEnabled {
692		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5]
693		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
694		ms.StoreMessageInfo(mi)
695	}
696}
697
698func (x *Expr_Ident) String() string {
699	return protoimpl.X.MessageStringOf(x)
700}
701
702func (*Expr_Ident) ProtoMessage() {}
703
704func (x *Expr_Ident) ProtoReflect() protoreflect.Message {
705	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5]
706	if protoimpl.UnsafeEnabled && x != nil {
707		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
708		if ms.LoadMessageInfo() == nil {
709			ms.StoreMessageInfo(mi)
710		}
711		return ms
712	}
713	return mi.MessageOf(x)
714}
715
716// Deprecated: Use Expr_Ident.ProtoReflect.Descriptor instead.
717func (*Expr_Ident) Descriptor() ([]byte, []int) {
718	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 0}
719}
720
721func (x *Expr_Ident) GetName() string {
722	if x != nil {
723		return x.Name
724	}
725	return ""
726}
727
728// A field selection expression. e.g. `request.auth`.
729type Expr_Select struct {
730	state         protoimpl.MessageState
731	sizeCache     protoimpl.SizeCache
732	unknownFields protoimpl.UnknownFields
733
734	// Required. The target of the selection expression.
735	//
736	// For example, in the select expression `request.auth`, the `request`
737	// portion of the expression is the `operand`.
738	Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"`
739	// Required. The name of the field to select.
740	//
741	// For example, in the select expression `request.auth`, the `auth` portion
742	// of the expression would be the `field`.
743	Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
744	// Whether the select is to be interpreted as a field presence test.
745	//
746	// This results from the macro `has(request.auth)`.
747	TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"`
748}
749
750func (x *Expr_Select) Reset() {
751	*x = Expr_Select{}
752	if protoimpl.UnsafeEnabled {
753		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6]
754		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
755		ms.StoreMessageInfo(mi)
756	}
757}
758
759func (x *Expr_Select) String() string {
760	return protoimpl.X.MessageStringOf(x)
761}
762
763func (*Expr_Select) ProtoMessage() {}
764
765func (x *Expr_Select) ProtoReflect() protoreflect.Message {
766	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6]
767	if protoimpl.UnsafeEnabled && x != nil {
768		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
769		if ms.LoadMessageInfo() == nil {
770			ms.StoreMessageInfo(mi)
771		}
772		return ms
773	}
774	return mi.MessageOf(x)
775}
776
777// Deprecated: Use Expr_Select.ProtoReflect.Descriptor instead.
778func (*Expr_Select) Descriptor() ([]byte, []int) {
779	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 1}
780}
781
782func (x *Expr_Select) GetOperand() *Expr {
783	if x != nil {
784		return x.Operand
785	}
786	return nil
787}
788
789func (x *Expr_Select) GetField() string {
790	if x != nil {
791		return x.Field
792	}
793	return ""
794}
795
796func (x *Expr_Select) GetTestOnly() bool {
797	if x != nil {
798		return x.TestOnly
799	}
800	return false
801}
802
803// A call expression, including calls to predefined functions and operators.
804//
805// For example, `value == 10`, `size(map_value)`.
806type Expr_Call struct {
807	state         protoimpl.MessageState
808	sizeCache     protoimpl.SizeCache
809	unknownFields protoimpl.UnknownFields
810
811	// The target of an method call-style expression. For example, `x` in
812	// `x.f()`.
813	Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
814	// Required. The name of the function or method being called.
815	Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
816	// The arguments.
817	Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
818}
819
820func (x *Expr_Call) Reset() {
821	*x = Expr_Call{}
822	if protoimpl.UnsafeEnabled {
823		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7]
824		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
825		ms.StoreMessageInfo(mi)
826	}
827}
828
829func (x *Expr_Call) String() string {
830	return protoimpl.X.MessageStringOf(x)
831}
832
833func (*Expr_Call) ProtoMessage() {}
834
835func (x *Expr_Call) ProtoReflect() protoreflect.Message {
836	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7]
837	if protoimpl.UnsafeEnabled && x != nil {
838		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
839		if ms.LoadMessageInfo() == nil {
840			ms.StoreMessageInfo(mi)
841		}
842		return ms
843	}
844	return mi.MessageOf(x)
845}
846
847// Deprecated: Use Expr_Call.ProtoReflect.Descriptor instead.
848func (*Expr_Call) Descriptor() ([]byte, []int) {
849	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 2}
850}
851
852func (x *Expr_Call) GetTarget() *Expr {
853	if x != nil {
854		return x.Target
855	}
856	return nil
857}
858
859func (x *Expr_Call) GetFunction() string {
860	if x != nil {
861		return x.Function
862	}
863	return ""
864}
865
866func (x *Expr_Call) GetArgs() []*Expr {
867	if x != nil {
868		return x.Args
869	}
870	return nil
871}
872
873// A list creation expression.
874//
875// Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogeneous, e.g.
876// `dyn([1, 'hello', 2.0])`
877type Expr_CreateList struct {
878	state         protoimpl.MessageState
879	sizeCache     protoimpl.SizeCache
880	unknownFields protoimpl.UnknownFields
881
882	// The elements part of the list.
883	Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
884}
885
886func (x *Expr_CreateList) Reset() {
887	*x = Expr_CreateList{}
888	if protoimpl.UnsafeEnabled {
889		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8]
890		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
891		ms.StoreMessageInfo(mi)
892	}
893}
894
895func (x *Expr_CreateList) String() string {
896	return protoimpl.X.MessageStringOf(x)
897}
898
899func (*Expr_CreateList) ProtoMessage() {}
900
901func (x *Expr_CreateList) ProtoReflect() protoreflect.Message {
902	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8]
903	if protoimpl.UnsafeEnabled && x != nil {
904		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
905		if ms.LoadMessageInfo() == nil {
906			ms.StoreMessageInfo(mi)
907		}
908		return ms
909	}
910	return mi.MessageOf(x)
911}
912
913// Deprecated: Use Expr_CreateList.ProtoReflect.Descriptor instead.
914func (*Expr_CreateList) Descriptor() ([]byte, []int) {
915	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 3}
916}
917
918func (x *Expr_CreateList) GetElements() []*Expr {
919	if x != nil {
920		return x.Elements
921	}
922	return nil
923}
924
925// A map or message creation expression.
926//
927// Maps are constructed as `{'key_name': 'value'}`. Message construction is
928// similar, but prefixed with a type name and composed of field ids:
929// `types.MyType{field_id: 'value'}`.
930type Expr_CreateStruct struct {
931	state         protoimpl.MessageState
932	sizeCache     protoimpl.SizeCache
933	unknownFields protoimpl.UnknownFields
934
935	// The type name of the message to be created, empty when creating map
936	// literals.
937	MessageName string `protobuf:"bytes,1,opt,name=message_name,json=messageName,proto3" json:"message_name,omitempty"`
938	// The entries in the creation expression.
939	Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
940}
941
942func (x *Expr_CreateStruct) Reset() {
943	*x = Expr_CreateStruct{}
944	if protoimpl.UnsafeEnabled {
945		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9]
946		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
947		ms.StoreMessageInfo(mi)
948	}
949}
950
951func (x *Expr_CreateStruct) String() string {
952	return protoimpl.X.MessageStringOf(x)
953}
954
955func (*Expr_CreateStruct) ProtoMessage() {}
956
957func (x *Expr_CreateStruct) ProtoReflect() protoreflect.Message {
958	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9]
959	if protoimpl.UnsafeEnabled && x != nil {
960		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
961		if ms.LoadMessageInfo() == nil {
962			ms.StoreMessageInfo(mi)
963		}
964		return ms
965	}
966	return mi.MessageOf(x)
967}
968
969// Deprecated: Use Expr_CreateStruct.ProtoReflect.Descriptor instead.
970func (*Expr_CreateStruct) Descriptor() ([]byte, []int) {
971	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 4}
972}
973
974func (x *Expr_CreateStruct) GetMessageName() string {
975	if x != nil {
976		return x.MessageName
977	}
978	return ""
979}
980
981func (x *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry {
982	if x != nil {
983		return x.Entries
984	}
985	return nil
986}
987
988// A comprehension expression applied to a list or map.
989//
990// Comprehensions are not part of the core syntax, but enabled with macros.
991// A macro matches a specific call signature within a parsed AST and replaces
992// the call with an alternate AST block. Macro expansion happens at parse
993// time.
994//
995// The following macros are supported within CEL:
996//
997// Aggregate type macros may be applied to all elements in a list or all keys
998// in a map:
999//
1000// *  `all`, `exists`, `exists_one` -  test a predicate expression against
1001//    the inputs and return `true` if the predicate is satisfied for all,
1002//    any, or only one value `list.all(x, x < 10)`.
1003// *  `filter` - test a predicate expression against the inputs and return
1004//    the subset of elements which satisfy the predicate:
1005//    `payments.filter(p, p > 1000)`.
1006// *  `map` - apply an expression to all elements in the input and return the
1007//    output aggregate type: `[1, 2, 3].map(i, i * i)`.
1008//
1009// The `has(m.x)` macro tests whether the property `x` is present in struct
1010// `m`. The semantics of this macro depend on the type of `m`. For proto2
1011// messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the
1012// macro tests whether the property is set to its default. For map and struct
1013// types, the macro tests whether the property `x` is defined on `m`.
1014type Expr_Comprehension struct {
1015	state         protoimpl.MessageState
1016	sizeCache     protoimpl.SizeCache
1017	unknownFields protoimpl.UnknownFields
1018
1019	// The name of the iteration variable.
1020	IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"`
1021	// The range over which var iterates.
1022	IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"`
1023	// The name of the variable used for accumulation of the result.
1024	AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"`
1025	// The initial value of the accumulator.
1026	AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"`
1027	// An expression which can contain iter_var and accu_var.
1028	//
1029	// Returns false when the result has been computed and may be used as
1030	// a hint to short-circuit the remainder of the comprehension.
1031	LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"`
1032	// An expression which can contain iter_var and accu_var.
1033	//
1034	// Computes the next value of accu_var.
1035	LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"`
1036	// An expression which can contain accu_var.
1037	//
1038	// Computes the result.
1039	Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"`
1040}
1041
1042func (x *Expr_Comprehension) Reset() {
1043	*x = Expr_Comprehension{}
1044	if protoimpl.UnsafeEnabled {
1045		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10]
1046		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047		ms.StoreMessageInfo(mi)
1048	}
1049}
1050
1051func (x *Expr_Comprehension) String() string {
1052	return protoimpl.X.MessageStringOf(x)
1053}
1054
1055func (*Expr_Comprehension) ProtoMessage() {}
1056
1057func (x *Expr_Comprehension) ProtoReflect() protoreflect.Message {
1058	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10]
1059	if protoimpl.UnsafeEnabled && x != nil {
1060		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061		if ms.LoadMessageInfo() == nil {
1062			ms.StoreMessageInfo(mi)
1063		}
1064		return ms
1065	}
1066	return mi.MessageOf(x)
1067}
1068
1069// Deprecated: Use Expr_Comprehension.ProtoReflect.Descriptor instead.
1070func (*Expr_Comprehension) Descriptor() ([]byte, []int) {
1071	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 5}
1072}
1073
1074func (x *Expr_Comprehension) GetIterVar() string {
1075	if x != nil {
1076		return x.IterVar
1077	}
1078	return ""
1079}
1080
1081func (x *Expr_Comprehension) GetIterRange() *Expr {
1082	if x != nil {
1083		return x.IterRange
1084	}
1085	return nil
1086}
1087
1088func (x *Expr_Comprehension) GetAccuVar() string {
1089	if x != nil {
1090		return x.AccuVar
1091	}
1092	return ""
1093}
1094
1095func (x *Expr_Comprehension) GetAccuInit() *Expr {
1096	if x != nil {
1097		return x.AccuInit
1098	}
1099	return nil
1100}
1101
1102func (x *Expr_Comprehension) GetLoopCondition() *Expr {
1103	if x != nil {
1104		return x.LoopCondition
1105	}
1106	return nil
1107}
1108
1109func (x *Expr_Comprehension) GetLoopStep() *Expr {
1110	if x != nil {
1111		return x.LoopStep
1112	}
1113	return nil
1114}
1115
1116func (x *Expr_Comprehension) GetResult() *Expr {
1117	if x != nil {
1118		return x.Result
1119	}
1120	return nil
1121}
1122
1123// Represents an entry.
1124type Expr_CreateStruct_Entry struct {
1125	state         protoimpl.MessageState
1126	sizeCache     protoimpl.SizeCache
1127	unknownFields protoimpl.UnknownFields
1128
1129	// Required. An id assigned to this node by the parser which is unique
1130	// in a given expression tree. This is used to associate type
1131	// information and other attributes to the node.
1132	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
1133	// The `Entry` key kinds.
1134	//
1135	// Types that are assignable to KeyKind:
1136	//	*Expr_CreateStruct_Entry_FieldKey
1137	//	*Expr_CreateStruct_Entry_MapKey
1138	KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"`
1139	// Required. The value assigned to the key.
1140	Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
1141}
1142
1143func (x *Expr_CreateStruct_Entry) Reset() {
1144	*x = Expr_CreateStruct_Entry{}
1145	if protoimpl.UnsafeEnabled {
1146		mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11]
1147		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1148		ms.StoreMessageInfo(mi)
1149	}
1150}
1151
1152func (x *Expr_CreateStruct_Entry) String() string {
1153	return protoimpl.X.MessageStringOf(x)
1154}
1155
1156func (*Expr_CreateStruct_Entry) ProtoMessage() {}
1157
1158func (x *Expr_CreateStruct_Entry) ProtoReflect() protoreflect.Message {
1159	mi := &file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11]
1160	if protoimpl.UnsafeEnabled && x != nil {
1161		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1162		if ms.LoadMessageInfo() == nil {
1163			ms.StoreMessageInfo(mi)
1164		}
1165		return ms
1166	}
1167	return mi.MessageOf(x)
1168}
1169
1170// Deprecated: Use Expr_CreateStruct_Entry.ProtoReflect.Descriptor instead.
1171func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int) {
1172	return file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP(), []int{1, 4, 0}
1173}
1174
1175func (x *Expr_CreateStruct_Entry) GetId() int64 {
1176	if x != nil {
1177		return x.Id
1178	}
1179	return 0
1180}
1181
1182func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind {
1183	if m != nil {
1184		return m.KeyKind
1185	}
1186	return nil
1187}
1188
1189func (x *Expr_CreateStruct_Entry) GetFieldKey() string {
1190	if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_FieldKey); ok {
1191		return x.FieldKey
1192	}
1193	return ""
1194}
1195
1196func (x *Expr_CreateStruct_Entry) GetMapKey() *Expr {
1197	if x, ok := x.GetKeyKind().(*Expr_CreateStruct_Entry_MapKey); ok {
1198		return x.MapKey
1199	}
1200	return nil
1201}
1202
1203func (x *Expr_CreateStruct_Entry) GetValue() *Expr {
1204	if x != nil {
1205		return x.Value
1206	}
1207	return nil
1208}
1209
1210type isExpr_CreateStruct_Entry_KeyKind interface {
1211	isExpr_CreateStruct_Entry_KeyKind()
1212}
1213
1214type Expr_CreateStruct_Entry_FieldKey struct {
1215	// The field key for a message creator statement.
1216	FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`
1217}
1218
1219type Expr_CreateStruct_Entry_MapKey struct {
1220	// The key expression for a map creation statement.
1221	MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"`
1222}
1223
1224func (*Expr_CreateStruct_Entry_FieldKey) isExpr_CreateStruct_Entry_KeyKind() {}
1225
1226func (*Expr_CreateStruct_Entry_MapKey) isExpr_CreateStruct_Entry_KeyKind() {}
1227
1228var File_google_api_expr_v1alpha1_syntax_proto protoreflect.FileDescriptor
1229
1230var file_google_api_expr_v1alpha1_syntax_proto_rawDesc = []byte{
1231	0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70,
1232	0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61,
1233	0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1234	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
1235	0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1236	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1237	0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1238	0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1239	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1240	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1241	0x22, 0x87, 0x01, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12,
1242	0x32, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
1243	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
1244	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x65,
1245	0x78, 0x70, 0x72, 0x12, 0x45, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e,
1246	0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1247	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
1248	0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a,
1249	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xdc, 0x0c, 0x0a, 0x04, 0x45,
1250	0x78, 0x70, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
1251	0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70,
1252	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1253	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
1254	0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63,
1255	0x6f, 0x6e, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e,
1256	0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67,
1257	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
1258	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x49, 0x64, 0x65,
1259	0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12,
1260	0x48, 0x0a, 0x0b, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x05,
1261	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1262	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
1263	0x45, 0x78, 0x70, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73,
1264	0x65, 0x6c, 0x65, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x42, 0x0a, 0x09, 0x63, 0x61, 0x6c,
1265	0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
1266	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
1267	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x61, 0x6c,
1268	0x6c, 0x48, 0x00, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x12, 0x48, 0x0a,
1269	0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
1270	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1271	0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72,
1272	0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6c,
1273	0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63,
1274	0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67,
1275	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76,
1276	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65,
1277	0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72,
1278	0x75, 0x63, 0x74, 0x45, 0x78, 0x70, 0x72, 0x12, 0x5d, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x72,
1279	0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0x09, 0x20,
1280	0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
1281	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45,
1282	0x78, 0x70, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f,
1283	0x6e, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69,
1284	0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x1a, 0x1b, 0x0a, 0x05, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x12,
1285	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
1286	0x61, 0x6d, 0x65, 0x1a, 0x75, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a,
1287	0x07, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
1288	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72,
1289	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x07,
1290	0x6f, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64,
1291	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1b, 0x0a,
1292	0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
1293	0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x1a, 0x8e, 0x01, 0x0a, 0x04, 0x43,
1294	0x61, 0x6c, 0x6c, 0x12, 0x36, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20,
1295	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
1296	0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45,
1297	0x78, 0x70, 0x72, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66,
1298	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
1299	0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18,
1300	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1301	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
1302	0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x48, 0x0a, 0x0a, 0x43,
1303	0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6c, 0x65,
1304	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f,
1305	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31,
1306	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x65, 0x6c, 0x65,
1307	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xb4, 0x02, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
1308	0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
1309	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65,
1310	0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4b, 0x0a, 0x07, 0x65, 0x6e, 0x74,
1311	0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f,
1312	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61,
1313	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
1314	0x65, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65,
1315	0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0xb3, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79,
1316	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
1317	0x12, 0x1d, 0x0a, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
1318	0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4b, 0x65, 0x79, 0x12,
1319	0x39, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
1320	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1321	0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72,
1322	0x48, 0x00, 0x52, 0x06, 0x6d, 0x61, 0x70, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x76, 0x61,
1323	0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1324	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c,
1325	0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
1326	0x42, 0x0a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xfd, 0x02, 0x0a,
1327	0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x68, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19,
1328	0x0a, 0x08, 0x69, 0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1329	0x52, 0x07, 0x69, 0x74, 0x65, 0x72, 0x56, 0x61, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x69, 0x74, 0x65,
1330	0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
1331	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e,
1332	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x69,
1333	0x74, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x75,
1334	0x5f, 0x76, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x75,
1335	0x56, 0x61, 0x72, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x75, 0x5f, 0x69, 0x6e, 0x69, 0x74,
1336	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1337	0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
1338	0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x49, 0x6e, 0x69, 0x74,
1339	0x12, 0x45, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
1340	0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1341	0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
1342	0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x70, 0x43, 0x6f,
1343	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x09, 0x6c, 0x6f, 0x6f, 0x70, 0x5f,
1344	0x73, 0x74, 0x65, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
1345	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61,
1346	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x6f, 0x70,
1347	0x53, 0x74, 0x65, 0x70, 0x12, 0x36, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07,
1348	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
1349	0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
1350	0x45, 0x78, 0x70, 0x72, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x0b, 0x0a, 0x09,
1351	0x65, 0x78, 0x70, 0x72, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc1, 0x03, 0x0a, 0x08, 0x43, 0x6f,
1352	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6e, 0x75, 0x6c, 0x6c, 0x5f, 0x76,
1353	0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
1354	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c,
1355	0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x75, 0x6c, 0x6c, 0x56, 0x61,
1356	0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75,
1357	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56,
1358	0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, 0x61,
1359	0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x6e, 0x74,
1360	0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36,
1361	0x34, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52,
1362	0x0b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c,
1363	0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01,
1364	0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
1365	0x65, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75,
1366	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e,
1367	0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
1368	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x62,
1369	0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x64, 0x75, 0x72,
1370	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
1371	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1372	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01,
1373	0x48, 0x00, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x75,
1374	0x65, 0x12, 0x49, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x76,
1375	0x61, 0x6c, 0x75, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
1376	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
1377	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x69,
1378	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0f, 0x0a, 0x0d,
1379	0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xb9, 0x03,
1380	0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e,
1381	0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
1382	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x56, 0x65, 0x72, 0x73,
1383	0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
1384	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1385	0x21, 0x0a, 0x0c, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x18,
1386	0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65,
1387	0x74, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
1388	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1389	0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
1390	0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6f, 0x73, 0x69,
1391	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x69,
1392	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x5f, 0x63,
1393	0x61, 0x6c, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f,
1394	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72, 0x2e, 0x76, 0x31, 0x61,
1395	0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
1396	0x2e, 0x4d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
1397	0x52, 0x0a, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x1a, 0x3c, 0x0a, 0x0e,
1398	0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
1399	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
1400	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
1401	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5d, 0x0a, 0x0f, 0x4d, 0x61,
1402	0x63, 0x72, 0x6f, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
1403	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
1404	0x34, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e,
1405	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78, 0x70, 0x72,
1406	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x52, 0x05,
1407	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x0e, 0x53, 0x6f, 0x75,
1408	0x72, 0x63, 0x65, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
1409	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c,
1410	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
1411	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
1412	0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c,
1413	0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20,
1414	0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x6e, 0x0a, 0x1c, 0x63,
1415	0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x65, 0x78,
1416	0x70, 0x72, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x42, 0x0b, 0x53, 0x79, 0x6e,
1417	0x74, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67,
1418	0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65,
1419	0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
1420	0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x78, 0x70, 0x72, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
1421	0x68, 0x61, 0x31, 0x3b, 0x65, 0x78, 0x70, 0x72, 0xf8, 0x01, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f,
1422	0x74, 0x6f, 0x33,
1423}
1424
1425var (
1426	file_google_api_expr_v1alpha1_syntax_proto_rawDescOnce sync.Once
1427	file_google_api_expr_v1alpha1_syntax_proto_rawDescData = file_google_api_expr_v1alpha1_syntax_proto_rawDesc
1428)
1429
1430func file_google_api_expr_v1alpha1_syntax_proto_rawDescGZIP() []byte {
1431	file_google_api_expr_v1alpha1_syntax_proto_rawDescOnce.Do(func() {
1432		file_google_api_expr_v1alpha1_syntax_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_expr_v1alpha1_syntax_proto_rawDescData)
1433	})
1434	return file_google_api_expr_v1alpha1_syntax_proto_rawDescData
1435}
1436
1437var file_google_api_expr_v1alpha1_syntax_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
1438var file_google_api_expr_v1alpha1_syntax_proto_goTypes = []interface{}{
1439	(*ParsedExpr)(nil),              // 0: google.api.expr.v1alpha1.ParsedExpr
1440	(*Expr)(nil),                    // 1: google.api.expr.v1alpha1.Expr
1441	(*Constant)(nil),                // 2: google.api.expr.v1alpha1.Constant
1442	(*SourceInfo)(nil),              // 3: google.api.expr.v1alpha1.SourceInfo
1443	(*SourcePosition)(nil),          // 4: google.api.expr.v1alpha1.SourcePosition
1444	(*Expr_Ident)(nil),              // 5: google.api.expr.v1alpha1.Expr.Ident
1445	(*Expr_Select)(nil),             // 6: google.api.expr.v1alpha1.Expr.Select
1446	(*Expr_Call)(nil),               // 7: google.api.expr.v1alpha1.Expr.Call
1447	(*Expr_CreateList)(nil),         // 8: google.api.expr.v1alpha1.Expr.CreateList
1448	(*Expr_CreateStruct)(nil),       // 9: google.api.expr.v1alpha1.Expr.CreateStruct
1449	(*Expr_Comprehension)(nil),      // 10: google.api.expr.v1alpha1.Expr.Comprehension
1450	(*Expr_CreateStruct_Entry)(nil), // 11: google.api.expr.v1alpha1.Expr.CreateStruct.Entry
1451	nil,                             // 12: google.api.expr.v1alpha1.SourceInfo.PositionsEntry
1452	nil,                             // 13: google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry
1453	(structpb.NullValue)(0),         // 14: google.protobuf.NullValue
1454	(*durationpb.Duration)(nil),     // 15: google.protobuf.Duration
1455	(*timestamppb.Timestamp)(nil),   // 16: google.protobuf.Timestamp
1456}
1457var file_google_api_expr_v1alpha1_syntax_proto_depIdxs = []int32{
1458	1,  // 0: google.api.expr.v1alpha1.ParsedExpr.expr:type_name -> google.api.expr.v1alpha1.Expr
1459	3,  // 1: google.api.expr.v1alpha1.ParsedExpr.source_info:type_name -> google.api.expr.v1alpha1.SourceInfo
1460	2,  // 2: google.api.expr.v1alpha1.Expr.const_expr:type_name -> google.api.expr.v1alpha1.Constant
1461	5,  // 3: google.api.expr.v1alpha1.Expr.ident_expr:type_name -> google.api.expr.v1alpha1.Expr.Ident
1462	6,  // 4: google.api.expr.v1alpha1.Expr.select_expr:type_name -> google.api.expr.v1alpha1.Expr.Select
1463	7,  // 5: google.api.expr.v1alpha1.Expr.call_expr:type_name -> google.api.expr.v1alpha1.Expr.Call
1464	8,  // 6: google.api.expr.v1alpha1.Expr.list_expr:type_name -> google.api.expr.v1alpha1.Expr.CreateList
1465	9,  // 7: google.api.expr.v1alpha1.Expr.struct_expr:type_name -> google.api.expr.v1alpha1.Expr.CreateStruct
1466	10, // 8: google.api.expr.v1alpha1.Expr.comprehension_expr:type_name -> google.api.expr.v1alpha1.Expr.Comprehension
1467	14, // 9: google.api.expr.v1alpha1.Constant.null_value:type_name -> google.protobuf.NullValue
1468	15, // 10: google.api.expr.v1alpha1.Constant.duration_value:type_name -> google.protobuf.Duration
1469	16, // 11: google.api.expr.v1alpha1.Constant.timestamp_value:type_name -> google.protobuf.Timestamp
1470	12, // 12: google.api.expr.v1alpha1.SourceInfo.positions:type_name -> google.api.expr.v1alpha1.SourceInfo.PositionsEntry
1471	13, // 13: google.api.expr.v1alpha1.SourceInfo.macro_calls:type_name -> google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry
1472	1,  // 14: google.api.expr.v1alpha1.Expr.Select.operand:type_name -> google.api.expr.v1alpha1.Expr
1473	1,  // 15: google.api.expr.v1alpha1.Expr.Call.target:type_name -> google.api.expr.v1alpha1.Expr
1474	1,  // 16: google.api.expr.v1alpha1.Expr.Call.args:type_name -> google.api.expr.v1alpha1.Expr
1475	1,  // 17: google.api.expr.v1alpha1.Expr.CreateList.elements:type_name -> google.api.expr.v1alpha1.Expr
1476	11, // 18: google.api.expr.v1alpha1.Expr.CreateStruct.entries:type_name -> google.api.expr.v1alpha1.Expr.CreateStruct.Entry
1477	1,  // 19: google.api.expr.v1alpha1.Expr.Comprehension.iter_range:type_name -> google.api.expr.v1alpha1.Expr
1478	1,  // 20: google.api.expr.v1alpha1.Expr.Comprehension.accu_init:type_name -> google.api.expr.v1alpha1.Expr
1479	1,  // 21: google.api.expr.v1alpha1.Expr.Comprehension.loop_condition:type_name -> google.api.expr.v1alpha1.Expr
1480	1,  // 22: google.api.expr.v1alpha1.Expr.Comprehension.loop_step:type_name -> google.api.expr.v1alpha1.Expr
1481	1,  // 23: google.api.expr.v1alpha1.Expr.Comprehension.result:type_name -> google.api.expr.v1alpha1.Expr
1482	1,  // 24: google.api.expr.v1alpha1.Expr.CreateStruct.Entry.map_key:type_name -> google.api.expr.v1alpha1.Expr
1483	1,  // 25: google.api.expr.v1alpha1.Expr.CreateStruct.Entry.value:type_name -> google.api.expr.v1alpha1.Expr
1484	1,  // 26: google.api.expr.v1alpha1.SourceInfo.MacroCallsEntry.value:type_name -> google.api.expr.v1alpha1.Expr
1485	27, // [27:27] is the sub-list for method output_type
1486	27, // [27:27] is the sub-list for method input_type
1487	27, // [27:27] is the sub-list for extension type_name
1488	27, // [27:27] is the sub-list for extension extendee
1489	0,  // [0:27] is the sub-list for field type_name
1490}
1491
1492func init() { file_google_api_expr_v1alpha1_syntax_proto_init() }
1493func file_google_api_expr_v1alpha1_syntax_proto_init() {
1494	if File_google_api_expr_v1alpha1_syntax_proto != nil {
1495		return
1496	}
1497	if !protoimpl.UnsafeEnabled {
1498		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1499			switch v := v.(*ParsedExpr); i {
1500			case 0:
1501				return &v.state
1502			case 1:
1503				return &v.sizeCache
1504			case 2:
1505				return &v.unknownFields
1506			default:
1507				return nil
1508			}
1509		}
1510		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1511			switch v := v.(*Expr); i {
1512			case 0:
1513				return &v.state
1514			case 1:
1515				return &v.sizeCache
1516			case 2:
1517				return &v.unknownFields
1518			default:
1519				return nil
1520			}
1521		}
1522		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1523			switch v := v.(*Constant); i {
1524			case 0:
1525				return &v.state
1526			case 1:
1527				return &v.sizeCache
1528			case 2:
1529				return &v.unknownFields
1530			default:
1531				return nil
1532			}
1533		}
1534		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1535			switch v := v.(*SourceInfo); i {
1536			case 0:
1537				return &v.state
1538			case 1:
1539				return &v.sizeCache
1540			case 2:
1541				return &v.unknownFields
1542			default:
1543				return nil
1544			}
1545		}
1546		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1547			switch v := v.(*SourcePosition); i {
1548			case 0:
1549				return &v.state
1550			case 1:
1551				return &v.sizeCache
1552			case 2:
1553				return &v.unknownFields
1554			default:
1555				return nil
1556			}
1557		}
1558		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1559			switch v := v.(*Expr_Ident); i {
1560			case 0:
1561				return &v.state
1562			case 1:
1563				return &v.sizeCache
1564			case 2:
1565				return &v.unknownFields
1566			default:
1567				return nil
1568			}
1569		}
1570		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1571			switch v := v.(*Expr_Select); i {
1572			case 0:
1573				return &v.state
1574			case 1:
1575				return &v.sizeCache
1576			case 2:
1577				return &v.unknownFields
1578			default:
1579				return nil
1580			}
1581		}
1582		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1583			switch v := v.(*Expr_Call); i {
1584			case 0:
1585				return &v.state
1586			case 1:
1587				return &v.sizeCache
1588			case 2:
1589				return &v.unknownFields
1590			default:
1591				return nil
1592			}
1593		}
1594		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1595			switch v := v.(*Expr_CreateList); i {
1596			case 0:
1597				return &v.state
1598			case 1:
1599				return &v.sizeCache
1600			case 2:
1601				return &v.unknownFields
1602			default:
1603				return nil
1604			}
1605		}
1606		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1607			switch v := v.(*Expr_CreateStruct); i {
1608			case 0:
1609				return &v.state
1610			case 1:
1611				return &v.sizeCache
1612			case 2:
1613				return &v.unknownFields
1614			default:
1615				return nil
1616			}
1617		}
1618		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1619			switch v := v.(*Expr_Comprehension); i {
1620			case 0:
1621				return &v.state
1622			case 1:
1623				return &v.sizeCache
1624			case 2:
1625				return &v.unknownFields
1626			default:
1627				return nil
1628			}
1629		}
1630		file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1631			switch v := v.(*Expr_CreateStruct_Entry); i {
1632			case 0:
1633				return &v.state
1634			case 1:
1635				return &v.sizeCache
1636			case 2:
1637				return &v.unknownFields
1638			default:
1639				return nil
1640			}
1641		}
1642	}
1643	file_google_api_expr_v1alpha1_syntax_proto_msgTypes[1].OneofWrappers = []interface{}{
1644		(*Expr_ConstExpr)(nil),
1645		(*Expr_IdentExpr)(nil),
1646		(*Expr_SelectExpr)(nil),
1647		(*Expr_CallExpr)(nil),
1648		(*Expr_ListExpr)(nil),
1649		(*Expr_StructExpr)(nil),
1650		(*Expr_ComprehensionExpr)(nil),
1651	}
1652	file_google_api_expr_v1alpha1_syntax_proto_msgTypes[2].OneofWrappers = []interface{}{
1653		(*Constant_NullValue)(nil),
1654		(*Constant_BoolValue)(nil),
1655		(*Constant_Int64Value)(nil),
1656		(*Constant_Uint64Value)(nil),
1657		(*Constant_DoubleValue)(nil),
1658		(*Constant_StringValue)(nil),
1659		(*Constant_BytesValue)(nil),
1660		(*Constant_DurationValue)(nil),
1661		(*Constant_TimestampValue)(nil),
1662	}
1663	file_google_api_expr_v1alpha1_syntax_proto_msgTypes[11].OneofWrappers = []interface{}{
1664		(*Expr_CreateStruct_Entry_FieldKey)(nil),
1665		(*Expr_CreateStruct_Entry_MapKey)(nil),
1666	}
1667	type x struct{}
1668	out := protoimpl.TypeBuilder{
1669		File: protoimpl.DescBuilder{
1670			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1671			RawDescriptor: file_google_api_expr_v1alpha1_syntax_proto_rawDesc,
1672			NumEnums:      0,
1673			NumMessages:   14,
1674			NumExtensions: 0,
1675			NumServices:   0,
1676		},
1677		GoTypes:           file_google_api_expr_v1alpha1_syntax_proto_goTypes,
1678		DependencyIndexes: file_google_api_expr_v1alpha1_syntax_proto_depIdxs,
1679		MessageInfos:      file_google_api_expr_v1alpha1_syntax_proto_msgTypes,
1680	}.Build()
1681	File_google_api_expr_v1alpha1_syntax_proto = out.File
1682	file_google_api_expr_v1alpha1_syntax_proto_rawDesc = nil
1683	file_google_api_expr_v1alpha1_syntax_proto_goTypes = nil
1684	file_google_api_expr_v1alpha1_syntax_proto_depIdxs = nil
1685}
1686