Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

1573 строки
53 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/api/expr/v1alpha1/syntax.proto
  3. package expr // import "google.golang.org/genproto/googleapis/api/expr/v1alpha1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import duration "github.com/golang/protobuf/ptypes/duration"
  8. import _struct "github.com/golang/protobuf/ptypes/struct"
  9. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  10. // Reference imports to suppress errors if they are not otherwise used.
  11. var _ = proto.Marshal
  12. var _ = fmt.Errorf
  13. var _ = math.Inf
  14. // This is a compile-time assertion to ensure that this generated file
  15. // is compatible with the proto package it is being compiled against.
  16. // A compilation error at this line likely means your copy of the
  17. // proto package needs to be updated.
  18. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  19. // An expression together with source information as returned by the parser.
  20. type ParsedExpr struct {
  21. // The parsed expression.
  22. Expr *Expr `protobuf:"bytes,2,opt,name=expr,proto3" json:"expr,omitempty"`
  23. // The source info derived from input that generated the parsed `expr`.
  24. SourceInfo *SourceInfo `protobuf:"bytes,3,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"`
  25. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  26. XXX_unrecognized []byte `json:"-"`
  27. XXX_sizecache int32 `json:"-"`
  28. }
  29. func (m *ParsedExpr) Reset() { *m = ParsedExpr{} }
  30. func (m *ParsedExpr) String() string { return proto.CompactTextString(m) }
  31. func (*ParsedExpr) ProtoMessage() {}
  32. func (*ParsedExpr) Descriptor() ([]byte, []int) {
  33. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{0}
  34. }
  35. func (m *ParsedExpr) XXX_Unmarshal(b []byte) error {
  36. return xxx_messageInfo_ParsedExpr.Unmarshal(m, b)
  37. }
  38. func (m *ParsedExpr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  39. return xxx_messageInfo_ParsedExpr.Marshal(b, m, deterministic)
  40. }
  41. func (dst *ParsedExpr) XXX_Merge(src proto.Message) {
  42. xxx_messageInfo_ParsedExpr.Merge(dst, src)
  43. }
  44. func (m *ParsedExpr) XXX_Size() int {
  45. return xxx_messageInfo_ParsedExpr.Size(m)
  46. }
  47. func (m *ParsedExpr) XXX_DiscardUnknown() {
  48. xxx_messageInfo_ParsedExpr.DiscardUnknown(m)
  49. }
  50. var xxx_messageInfo_ParsedExpr proto.InternalMessageInfo
  51. func (m *ParsedExpr) GetExpr() *Expr {
  52. if m != nil {
  53. return m.Expr
  54. }
  55. return nil
  56. }
  57. func (m *ParsedExpr) GetSourceInfo() *SourceInfo {
  58. if m != nil {
  59. return m.SourceInfo
  60. }
  61. return nil
  62. }
  63. // An abstract representation of a common expression.
  64. //
  65. // Expressions are abstractly represented as a collection of identifiers,
  66. // select statements, function calls, literals, and comprehensions. All
  67. // operators with the exception of the '.' operator are modelled as function
  68. // calls. This makes it easy to represent new operators into the existing AST.
  69. //
  70. // All references within expressions must resolve to a
  71. // [Decl][google.api.expr.v1alpha1.Decl] provided at type-check for an
  72. // expression to be valid. A reference may either be a bare identifier `name` or
  73. // a qualified identifier `google.api.name`. References may either refer to a
  74. // value or a function declaration.
  75. //
  76. // For example, the expression `google.api.name.startsWith('expr')` references
  77. // the declaration `google.api.name` within a
  78. // [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression, and the
  79. // function declaration `startsWith`.
  80. type Expr struct {
  81. // Required. An id assigned to this node by the parser which is unique in a
  82. // given expression tree. This is used to associate type information and other
  83. // attributes to a node in the parse tree.
  84. Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
  85. // Required. Variants of expressions.
  86. //
  87. // Types that are valid to be assigned to ExprKind:
  88. // *Expr_ConstExpr
  89. // *Expr_IdentExpr
  90. // *Expr_SelectExpr
  91. // *Expr_CallExpr
  92. // *Expr_ListExpr
  93. // *Expr_StructExpr
  94. // *Expr_ComprehensionExpr
  95. ExprKind isExpr_ExprKind `protobuf_oneof:"expr_kind"`
  96. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  97. XXX_unrecognized []byte `json:"-"`
  98. XXX_sizecache int32 `json:"-"`
  99. }
  100. func (m *Expr) Reset() { *m = Expr{} }
  101. func (m *Expr) String() string { return proto.CompactTextString(m) }
  102. func (*Expr) ProtoMessage() {}
  103. func (*Expr) Descriptor() ([]byte, []int) {
  104. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1}
  105. }
  106. func (m *Expr) XXX_Unmarshal(b []byte) error {
  107. return xxx_messageInfo_Expr.Unmarshal(m, b)
  108. }
  109. func (m *Expr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  110. return xxx_messageInfo_Expr.Marshal(b, m, deterministic)
  111. }
  112. func (dst *Expr) XXX_Merge(src proto.Message) {
  113. xxx_messageInfo_Expr.Merge(dst, src)
  114. }
  115. func (m *Expr) XXX_Size() int {
  116. return xxx_messageInfo_Expr.Size(m)
  117. }
  118. func (m *Expr) XXX_DiscardUnknown() {
  119. xxx_messageInfo_Expr.DiscardUnknown(m)
  120. }
  121. var xxx_messageInfo_Expr proto.InternalMessageInfo
  122. func (m *Expr) GetId() int64 {
  123. if m != nil {
  124. return m.Id
  125. }
  126. return 0
  127. }
  128. type isExpr_ExprKind interface {
  129. isExpr_ExprKind()
  130. }
  131. type Expr_ConstExpr struct {
  132. ConstExpr *Constant `protobuf:"bytes,3,opt,name=const_expr,json=constExpr,proto3,oneof"`
  133. }
  134. type Expr_IdentExpr struct {
  135. IdentExpr *Expr_Ident `protobuf:"bytes,4,opt,name=ident_expr,json=identExpr,proto3,oneof"`
  136. }
  137. type Expr_SelectExpr struct {
  138. SelectExpr *Expr_Select `protobuf:"bytes,5,opt,name=select_expr,json=selectExpr,proto3,oneof"`
  139. }
  140. type Expr_CallExpr struct {
  141. CallExpr *Expr_Call `protobuf:"bytes,6,opt,name=call_expr,json=callExpr,proto3,oneof"`
  142. }
  143. type Expr_ListExpr struct {
  144. ListExpr *Expr_CreateList `protobuf:"bytes,7,opt,name=list_expr,json=listExpr,proto3,oneof"`
  145. }
  146. type Expr_StructExpr struct {
  147. StructExpr *Expr_CreateStruct `protobuf:"bytes,8,opt,name=struct_expr,json=structExpr,proto3,oneof"`
  148. }
  149. type Expr_ComprehensionExpr struct {
  150. ComprehensionExpr *Expr_Comprehension `protobuf:"bytes,9,opt,name=comprehension_expr,json=comprehensionExpr,proto3,oneof"`
  151. }
  152. func (*Expr_ConstExpr) isExpr_ExprKind() {}
  153. func (*Expr_IdentExpr) isExpr_ExprKind() {}
  154. func (*Expr_SelectExpr) isExpr_ExprKind() {}
  155. func (*Expr_CallExpr) isExpr_ExprKind() {}
  156. func (*Expr_ListExpr) isExpr_ExprKind() {}
  157. func (*Expr_StructExpr) isExpr_ExprKind() {}
  158. func (*Expr_ComprehensionExpr) isExpr_ExprKind() {}
  159. func (m *Expr) GetExprKind() isExpr_ExprKind {
  160. if m != nil {
  161. return m.ExprKind
  162. }
  163. return nil
  164. }
  165. func (m *Expr) GetConstExpr() *Constant {
  166. if x, ok := m.GetExprKind().(*Expr_ConstExpr); ok {
  167. return x.ConstExpr
  168. }
  169. return nil
  170. }
  171. func (m *Expr) GetIdentExpr() *Expr_Ident {
  172. if x, ok := m.GetExprKind().(*Expr_IdentExpr); ok {
  173. return x.IdentExpr
  174. }
  175. return nil
  176. }
  177. func (m *Expr) GetSelectExpr() *Expr_Select {
  178. if x, ok := m.GetExprKind().(*Expr_SelectExpr); ok {
  179. return x.SelectExpr
  180. }
  181. return nil
  182. }
  183. func (m *Expr) GetCallExpr() *Expr_Call {
  184. if x, ok := m.GetExprKind().(*Expr_CallExpr); ok {
  185. return x.CallExpr
  186. }
  187. return nil
  188. }
  189. func (m *Expr) GetListExpr() *Expr_CreateList {
  190. if x, ok := m.GetExprKind().(*Expr_ListExpr); ok {
  191. return x.ListExpr
  192. }
  193. return nil
  194. }
  195. func (m *Expr) GetStructExpr() *Expr_CreateStruct {
  196. if x, ok := m.GetExprKind().(*Expr_StructExpr); ok {
  197. return x.StructExpr
  198. }
  199. return nil
  200. }
  201. func (m *Expr) GetComprehensionExpr() *Expr_Comprehension {
  202. if x, ok := m.GetExprKind().(*Expr_ComprehensionExpr); ok {
  203. return x.ComprehensionExpr
  204. }
  205. return nil
  206. }
  207. // XXX_OneofFuncs is for the internal use of the proto package.
  208. func (*Expr) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  209. return _Expr_OneofMarshaler, _Expr_OneofUnmarshaler, _Expr_OneofSizer, []interface{}{
  210. (*Expr_ConstExpr)(nil),
  211. (*Expr_IdentExpr)(nil),
  212. (*Expr_SelectExpr)(nil),
  213. (*Expr_CallExpr)(nil),
  214. (*Expr_ListExpr)(nil),
  215. (*Expr_StructExpr)(nil),
  216. (*Expr_ComprehensionExpr)(nil),
  217. }
  218. }
  219. func _Expr_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  220. m := msg.(*Expr)
  221. // expr_kind
  222. switch x := m.ExprKind.(type) {
  223. case *Expr_ConstExpr:
  224. b.EncodeVarint(3<<3 | proto.WireBytes)
  225. if err := b.EncodeMessage(x.ConstExpr); err != nil {
  226. return err
  227. }
  228. case *Expr_IdentExpr:
  229. b.EncodeVarint(4<<3 | proto.WireBytes)
  230. if err := b.EncodeMessage(x.IdentExpr); err != nil {
  231. return err
  232. }
  233. case *Expr_SelectExpr:
  234. b.EncodeVarint(5<<3 | proto.WireBytes)
  235. if err := b.EncodeMessage(x.SelectExpr); err != nil {
  236. return err
  237. }
  238. case *Expr_CallExpr:
  239. b.EncodeVarint(6<<3 | proto.WireBytes)
  240. if err := b.EncodeMessage(x.CallExpr); err != nil {
  241. return err
  242. }
  243. case *Expr_ListExpr:
  244. b.EncodeVarint(7<<3 | proto.WireBytes)
  245. if err := b.EncodeMessage(x.ListExpr); err != nil {
  246. return err
  247. }
  248. case *Expr_StructExpr:
  249. b.EncodeVarint(8<<3 | proto.WireBytes)
  250. if err := b.EncodeMessage(x.StructExpr); err != nil {
  251. return err
  252. }
  253. case *Expr_ComprehensionExpr:
  254. b.EncodeVarint(9<<3 | proto.WireBytes)
  255. if err := b.EncodeMessage(x.ComprehensionExpr); err != nil {
  256. return err
  257. }
  258. case nil:
  259. default:
  260. return fmt.Errorf("Expr.ExprKind has unexpected type %T", x)
  261. }
  262. return nil
  263. }
  264. func _Expr_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  265. m := msg.(*Expr)
  266. switch tag {
  267. case 3: // expr_kind.const_expr
  268. if wire != proto.WireBytes {
  269. return true, proto.ErrInternalBadWireType
  270. }
  271. msg := new(Constant)
  272. err := b.DecodeMessage(msg)
  273. m.ExprKind = &Expr_ConstExpr{msg}
  274. return true, err
  275. case 4: // expr_kind.ident_expr
  276. if wire != proto.WireBytes {
  277. return true, proto.ErrInternalBadWireType
  278. }
  279. msg := new(Expr_Ident)
  280. err := b.DecodeMessage(msg)
  281. m.ExprKind = &Expr_IdentExpr{msg}
  282. return true, err
  283. case 5: // expr_kind.select_expr
  284. if wire != proto.WireBytes {
  285. return true, proto.ErrInternalBadWireType
  286. }
  287. msg := new(Expr_Select)
  288. err := b.DecodeMessage(msg)
  289. m.ExprKind = &Expr_SelectExpr{msg}
  290. return true, err
  291. case 6: // expr_kind.call_expr
  292. if wire != proto.WireBytes {
  293. return true, proto.ErrInternalBadWireType
  294. }
  295. msg := new(Expr_Call)
  296. err := b.DecodeMessage(msg)
  297. m.ExprKind = &Expr_CallExpr{msg}
  298. return true, err
  299. case 7: // expr_kind.list_expr
  300. if wire != proto.WireBytes {
  301. return true, proto.ErrInternalBadWireType
  302. }
  303. msg := new(Expr_CreateList)
  304. err := b.DecodeMessage(msg)
  305. m.ExprKind = &Expr_ListExpr{msg}
  306. return true, err
  307. case 8: // expr_kind.struct_expr
  308. if wire != proto.WireBytes {
  309. return true, proto.ErrInternalBadWireType
  310. }
  311. msg := new(Expr_CreateStruct)
  312. err := b.DecodeMessage(msg)
  313. m.ExprKind = &Expr_StructExpr{msg}
  314. return true, err
  315. case 9: // expr_kind.comprehension_expr
  316. if wire != proto.WireBytes {
  317. return true, proto.ErrInternalBadWireType
  318. }
  319. msg := new(Expr_Comprehension)
  320. err := b.DecodeMessage(msg)
  321. m.ExprKind = &Expr_ComprehensionExpr{msg}
  322. return true, err
  323. default:
  324. return false, nil
  325. }
  326. }
  327. func _Expr_OneofSizer(msg proto.Message) (n int) {
  328. m := msg.(*Expr)
  329. // expr_kind
  330. switch x := m.ExprKind.(type) {
  331. case *Expr_ConstExpr:
  332. s := proto.Size(x.ConstExpr)
  333. n += 1 // tag and wire
  334. n += proto.SizeVarint(uint64(s))
  335. n += s
  336. case *Expr_IdentExpr:
  337. s := proto.Size(x.IdentExpr)
  338. n += 1 // tag and wire
  339. n += proto.SizeVarint(uint64(s))
  340. n += s
  341. case *Expr_SelectExpr:
  342. s := proto.Size(x.SelectExpr)
  343. n += 1 // tag and wire
  344. n += proto.SizeVarint(uint64(s))
  345. n += s
  346. case *Expr_CallExpr:
  347. s := proto.Size(x.CallExpr)
  348. n += 1 // tag and wire
  349. n += proto.SizeVarint(uint64(s))
  350. n += s
  351. case *Expr_ListExpr:
  352. s := proto.Size(x.ListExpr)
  353. n += 1 // tag and wire
  354. n += proto.SizeVarint(uint64(s))
  355. n += s
  356. case *Expr_StructExpr:
  357. s := proto.Size(x.StructExpr)
  358. n += 1 // tag and wire
  359. n += proto.SizeVarint(uint64(s))
  360. n += s
  361. case *Expr_ComprehensionExpr:
  362. s := proto.Size(x.ComprehensionExpr)
  363. n += 1 // tag and wire
  364. n += proto.SizeVarint(uint64(s))
  365. n += s
  366. case nil:
  367. default:
  368. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  369. }
  370. return n
  371. }
  372. // An identifier expression. e.g. `request`.
  373. type Expr_Ident struct {
  374. // Required. Holds a single, unqualified identifier, possibly preceded by a
  375. // '.'.
  376. //
  377. // Qualified names are represented by the
  378. // [Expr.Select][google.api.expr.v1alpha1.Expr.Select] expression.
  379. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  380. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  381. XXX_unrecognized []byte `json:"-"`
  382. XXX_sizecache int32 `json:"-"`
  383. }
  384. func (m *Expr_Ident) Reset() { *m = Expr_Ident{} }
  385. func (m *Expr_Ident) String() string { return proto.CompactTextString(m) }
  386. func (*Expr_Ident) ProtoMessage() {}
  387. func (*Expr_Ident) Descriptor() ([]byte, []int) {
  388. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 0}
  389. }
  390. func (m *Expr_Ident) XXX_Unmarshal(b []byte) error {
  391. return xxx_messageInfo_Expr_Ident.Unmarshal(m, b)
  392. }
  393. func (m *Expr_Ident) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  394. return xxx_messageInfo_Expr_Ident.Marshal(b, m, deterministic)
  395. }
  396. func (dst *Expr_Ident) XXX_Merge(src proto.Message) {
  397. xxx_messageInfo_Expr_Ident.Merge(dst, src)
  398. }
  399. func (m *Expr_Ident) XXX_Size() int {
  400. return xxx_messageInfo_Expr_Ident.Size(m)
  401. }
  402. func (m *Expr_Ident) XXX_DiscardUnknown() {
  403. xxx_messageInfo_Expr_Ident.DiscardUnknown(m)
  404. }
  405. var xxx_messageInfo_Expr_Ident proto.InternalMessageInfo
  406. func (m *Expr_Ident) GetName() string {
  407. if m != nil {
  408. return m.Name
  409. }
  410. return ""
  411. }
  412. // A field selection expression. e.g. `request.auth`.
  413. type Expr_Select struct {
  414. // Required. The target of the selection expression.
  415. //
  416. // For example, in the select expression `request.auth`, the `request`
  417. // portion of the expression is the `operand`.
  418. Operand *Expr `protobuf:"bytes,1,opt,name=operand,proto3" json:"operand,omitempty"`
  419. // Required. The name of the field to select.
  420. //
  421. // For example, in the select expression `request.auth`, the `auth` portion
  422. // of the expression would be the `field`.
  423. Field string `protobuf:"bytes,2,opt,name=field,proto3" json:"field,omitempty"`
  424. // Whether the select is to be interpreted as a field presence test.
  425. //
  426. // This results from the macro `has(request.auth)`.
  427. TestOnly bool `protobuf:"varint,3,opt,name=test_only,json=testOnly,proto3" json:"test_only,omitempty"`
  428. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  429. XXX_unrecognized []byte `json:"-"`
  430. XXX_sizecache int32 `json:"-"`
  431. }
  432. func (m *Expr_Select) Reset() { *m = Expr_Select{} }
  433. func (m *Expr_Select) String() string { return proto.CompactTextString(m) }
  434. func (*Expr_Select) ProtoMessage() {}
  435. func (*Expr_Select) Descriptor() ([]byte, []int) {
  436. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 1}
  437. }
  438. func (m *Expr_Select) XXX_Unmarshal(b []byte) error {
  439. return xxx_messageInfo_Expr_Select.Unmarshal(m, b)
  440. }
  441. func (m *Expr_Select) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  442. return xxx_messageInfo_Expr_Select.Marshal(b, m, deterministic)
  443. }
  444. func (dst *Expr_Select) XXX_Merge(src proto.Message) {
  445. xxx_messageInfo_Expr_Select.Merge(dst, src)
  446. }
  447. func (m *Expr_Select) XXX_Size() int {
  448. return xxx_messageInfo_Expr_Select.Size(m)
  449. }
  450. func (m *Expr_Select) XXX_DiscardUnknown() {
  451. xxx_messageInfo_Expr_Select.DiscardUnknown(m)
  452. }
  453. var xxx_messageInfo_Expr_Select proto.InternalMessageInfo
  454. func (m *Expr_Select) GetOperand() *Expr {
  455. if m != nil {
  456. return m.Operand
  457. }
  458. return nil
  459. }
  460. func (m *Expr_Select) GetField() string {
  461. if m != nil {
  462. return m.Field
  463. }
  464. return ""
  465. }
  466. func (m *Expr_Select) GetTestOnly() bool {
  467. if m != nil {
  468. return m.TestOnly
  469. }
  470. return false
  471. }
  472. // A call expression, including calls to predefined functions and operators.
  473. //
  474. // For example, `value == 10`, `size(map_value)`.
  475. type Expr_Call struct {
  476. // The target of an method call-style expression. For example, `x` in
  477. // `x.f()`.
  478. Target *Expr `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
  479. // Required. The name of the function or method being called.
  480. Function string `protobuf:"bytes,2,opt,name=function,proto3" json:"function,omitempty"`
  481. // The arguments.
  482. Args []*Expr `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
  483. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  484. XXX_unrecognized []byte `json:"-"`
  485. XXX_sizecache int32 `json:"-"`
  486. }
  487. func (m *Expr_Call) Reset() { *m = Expr_Call{} }
  488. func (m *Expr_Call) String() string { return proto.CompactTextString(m) }
  489. func (*Expr_Call) ProtoMessage() {}
  490. func (*Expr_Call) Descriptor() ([]byte, []int) {
  491. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 2}
  492. }
  493. func (m *Expr_Call) XXX_Unmarshal(b []byte) error {
  494. return xxx_messageInfo_Expr_Call.Unmarshal(m, b)
  495. }
  496. func (m *Expr_Call) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  497. return xxx_messageInfo_Expr_Call.Marshal(b, m, deterministic)
  498. }
  499. func (dst *Expr_Call) XXX_Merge(src proto.Message) {
  500. xxx_messageInfo_Expr_Call.Merge(dst, src)
  501. }
  502. func (m *Expr_Call) XXX_Size() int {
  503. return xxx_messageInfo_Expr_Call.Size(m)
  504. }
  505. func (m *Expr_Call) XXX_DiscardUnknown() {
  506. xxx_messageInfo_Expr_Call.DiscardUnknown(m)
  507. }
  508. var xxx_messageInfo_Expr_Call proto.InternalMessageInfo
  509. func (m *Expr_Call) GetTarget() *Expr {
  510. if m != nil {
  511. return m.Target
  512. }
  513. return nil
  514. }
  515. func (m *Expr_Call) GetFunction() string {
  516. if m != nil {
  517. return m.Function
  518. }
  519. return ""
  520. }
  521. func (m *Expr_Call) GetArgs() []*Expr {
  522. if m != nil {
  523. return m.Args
  524. }
  525. return nil
  526. }
  527. // A list creation expression.
  528. //
  529. // Lists may either be homogenous, e.g. `[1, 2, 3]`, or heterogenous, e.g.
  530. // `dyn([1, 'hello', 2.0])`
  531. type Expr_CreateList struct {
  532. // The elements part of the list.
  533. Elements []*Expr `protobuf:"bytes,1,rep,name=elements,proto3" json:"elements,omitempty"`
  534. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  535. XXX_unrecognized []byte `json:"-"`
  536. XXX_sizecache int32 `json:"-"`
  537. }
  538. func (m *Expr_CreateList) Reset() { *m = Expr_CreateList{} }
  539. func (m *Expr_CreateList) String() string { return proto.CompactTextString(m) }
  540. func (*Expr_CreateList) ProtoMessage() {}
  541. func (*Expr_CreateList) Descriptor() ([]byte, []int) {
  542. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 3}
  543. }
  544. func (m *Expr_CreateList) XXX_Unmarshal(b []byte) error {
  545. return xxx_messageInfo_Expr_CreateList.Unmarshal(m, b)
  546. }
  547. func (m *Expr_CreateList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  548. return xxx_messageInfo_Expr_CreateList.Marshal(b, m, deterministic)
  549. }
  550. func (dst *Expr_CreateList) XXX_Merge(src proto.Message) {
  551. xxx_messageInfo_Expr_CreateList.Merge(dst, src)
  552. }
  553. func (m *Expr_CreateList) XXX_Size() int {
  554. return xxx_messageInfo_Expr_CreateList.Size(m)
  555. }
  556. func (m *Expr_CreateList) XXX_DiscardUnknown() {
  557. xxx_messageInfo_Expr_CreateList.DiscardUnknown(m)
  558. }
  559. var xxx_messageInfo_Expr_CreateList proto.InternalMessageInfo
  560. func (m *Expr_CreateList) GetElements() []*Expr {
  561. if m != nil {
  562. return m.Elements
  563. }
  564. return nil
  565. }
  566. // A map or message creation expression.
  567. //
  568. // Maps are constructed as `{'key_name': 'value'}`. Message construction is
  569. // similar, but prefixed with a type name and composed of field ids:
  570. // `types.MyType{field_id: 'value'}`.
  571. type Expr_CreateStruct struct {
  572. // The type name of the message to be created, empty when creating map
  573. // literals.
  574. MessageName string `protobuf:"bytes,1,opt,name=message_name,json=messageName,proto3" json:"message_name,omitempty"`
  575. // The entries in the creation expression.
  576. Entries []*Expr_CreateStruct_Entry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
  577. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  578. XXX_unrecognized []byte `json:"-"`
  579. XXX_sizecache int32 `json:"-"`
  580. }
  581. func (m *Expr_CreateStruct) Reset() { *m = Expr_CreateStruct{} }
  582. func (m *Expr_CreateStruct) String() string { return proto.CompactTextString(m) }
  583. func (*Expr_CreateStruct) ProtoMessage() {}
  584. func (*Expr_CreateStruct) Descriptor() ([]byte, []int) {
  585. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 4}
  586. }
  587. func (m *Expr_CreateStruct) XXX_Unmarshal(b []byte) error {
  588. return xxx_messageInfo_Expr_CreateStruct.Unmarshal(m, b)
  589. }
  590. func (m *Expr_CreateStruct) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  591. return xxx_messageInfo_Expr_CreateStruct.Marshal(b, m, deterministic)
  592. }
  593. func (dst *Expr_CreateStruct) XXX_Merge(src proto.Message) {
  594. xxx_messageInfo_Expr_CreateStruct.Merge(dst, src)
  595. }
  596. func (m *Expr_CreateStruct) XXX_Size() int {
  597. return xxx_messageInfo_Expr_CreateStruct.Size(m)
  598. }
  599. func (m *Expr_CreateStruct) XXX_DiscardUnknown() {
  600. xxx_messageInfo_Expr_CreateStruct.DiscardUnknown(m)
  601. }
  602. var xxx_messageInfo_Expr_CreateStruct proto.InternalMessageInfo
  603. func (m *Expr_CreateStruct) GetMessageName() string {
  604. if m != nil {
  605. return m.MessageName
  606. }
  607. return ""
  608. }
  609. func (m *Expr_CreateStruct) GetEntries() []*Expr_CreateStruct_Entry {
  610. if m != nil {
  611. return m.Entries
  612. }
  613. return nil
  614. }
  615. // Represents an entry.
  616. type Expr_CreateStruct_Entry struct {
  617. // Required. An id assigned to this node by the parser which is unique
  618. // in a given expression tree. This is used to associate type
  619. // information and other attributes to the node.
  620. Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  621. // The `Entry` key kinds.
  622. //
  623. // Types that are valid to be assigned to KeyKind:
  624. // *Expr_CreateStruct_Entry_FieldKey
  625. // *Expr_CreateStruct_Entry_MapKey
  626. KeyKind isExpr_CreateStruct_Entry_KeyKind `protobuf_oneof:"key_kind"`
  627. // Required. The value assigned to the key.
  628. Value *Expr `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
  629. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  630. XXX_unrecognized []byte `json:"-"`
  631. XXX_sizecache int32 `json:"-"`
  632. }
  633. func (m *Expr_CreateStruct_Entry) Reset() { *m = Expr_CreateStruct_Entry{} }
  634. func (m *Expr_CreateStruct_Entry) String() string { return proto.CompactTextString(m) }
  635. func (*Expr_CreateStruct_Entry) ProtoMessage() {}
  636. func (*Expr_CreateStruct_Entry) Descriptor() ([]byte, []int) {
  637. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 4, 0}
  638. }
  639. func (m *Expr_CreateStruct_Entry) XXX_Unmarshal(b []byte) error {
  640. return xxx_messageInfo_Expr_CreateStruct_Entry.Unmarshal(m, b)
  641. }
  642. func (m *Expr_CreateStruct_Entry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  643. return xxx_messageInfo_Expr_CreateStruct_Entry.Marshal(b, m, deterministic)
  644. }
  645. func (dst *Expr_CreateStruct_Entry) XXX_Merge(src proto.Message) {
  646. xxx_messageInfo_Expr_CreateStruct_Entry.Merge(dst, src)
  647. }
  648. func (m *Expr_CreateStruct_Entry) XXX_Size() int {
  649. return xxx_messageInfo_Expr_CreateStruct_Entry.Size(m)
  650. }
  651. func (m *Expr_CreateStruct_Entry) XXX_DiscardUnknown() {
  652. xxx_messageInfo_Expr_CreateStruct_Entry.DiscardUnknown(m)
  653. }
  654. var xxx_messageInfo_Expr_CreateStruct_Entry proto.InternalMessageInfo
  655. func (m *Expr_CreateStruct_Entry) GetId() int64 {
  656. if m != nil {
  657. return m.Id
  658. }
  659. return 0
  660. }
  661. type isExpr_CreateStruct_Entry_KeyKind interface {
  662. isExpr_CreateStruct_Entry_KeyKind()
  663. }
  664. type Expr_CreateStruct_Entry_FieldKey struct {
  665. FieldKey string `protobuf:"bytes,2,opt,name=field_key,json=fieldKey,proto3,oneof"`
  666. }
  667. type Expr_CreateStruct_Entry_MapKey struct {
  668. MapKey *Expr `protobuf:"bytes,3,opt,name=map_key,json=mapKey,proto3,oneof"`
  669. }
  670. func (*Expr_CreateStruct_Entry_FieldKey) isExpr_CreateStruct_Entry_KeyKind() {}
  671. func (*Expr_CreateStruct_Entry_MapKey) isExpr_CreateStruct_Entry_KeyKind() {}
  672. func (m *Expr_CreateStruct_Entry) GetKeyKind() isExpr_CreateStruct_Entry_KeyKind {
  673. if m != nil {
  674. return m.KeyKind
  675. }
  676. return nil
  677. }
  678. func (m *Expr_CreateStruct_Entry) GetFieldKey() string {
  679. if x, ok := m.GetKeyKind().(*Expr_CreateStruct_Entry_FieldKey); ok {
  680. return x.FieldKey
  681. }
  682. return ""
  683. }
  684. func (m *Expr_CreateStruct_Entry) GetMapKey() *Expr {
  685. if x, ok := m.GetKeyKind().(*Expr_CreateStruct_Entry_MapKey); ok {
  686. return x.MapKey
  687. }
  688. return nil
  689. }
  690. func (m *Expr_CreateStruct_Entry) GetValue() *Expr {
  691. if m != nil {
  692. return m.Value
  693. }
  694. return nil
  695. }
  696. // XXX_OneofFuncs is for the internal use of the proto package.
  697. func (*Expr_CreateStruct_Entry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  698. return _Expr_CreateStruct_Entry_OneofMarshaler, _Expr_CreateStruct_Entry_OneofUnmarshaler, _Expr_CreateStruct_Entry_OneofSizer, []interface{}{
  699. (*Expr_CreateStruct_Entry_FieldKey)(nil),
  700. (*Expr_CreateStruct_Entry_MapKey)(nil),
  701. }
  702. }
  703. func _Expr_CreateStruct_Entry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  704. m := msg.(*Expr_CreateStruct_Entry)
  705. // key_kind
  706. switch x := m.KeyKind.(type) {
  707. case *Expr_CreateStruct_Entry_FieldKey:
  708. b.EncodeVarint(2<<3 | proto.WireBytes)
  709. b.EncodeStringBytes(x.FieldKey)
  710. case *Expr_CreateStruct_Entry_MapKey:
  711. b.EncodeVarint(3<<3 | proto.WireBytes)
  712. if err := b.EncodeMessage(x.MapKey); err != nil {
  713. return err
  714. }
  715. case nil:
  716. default:
  717. return fmt.Errorf("Expr_CreateStruct_Entry.KeyKind has unexpected type %T", x)
  718. }
  719. return nil
  720. }
  721. func _Expr_CreateStruct_Entry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  722. m := msg.(*Expr_CreateStruct_Entry)
  723. switch tag {
  724. case 2: // key_kind.field_key
  725. if wire != proto.WireBytes {
  726. return true, proto.ErrInternalBadWireType
  727. }
  728. x, err := b.DecodeStringBytes()
  729. m.KeyKind = &Expr_CreateStruct_Entry_FieldKey{x}
  730. return true, err
  731. case 3: // key_kind.map_key
  732. if wire != proto.WireBytes {
  733. return true, proto.ErrInternalBadWireType
  734. }
  735. msg := new(Expr)
  736. err := b.DecodeMessage(msg)
  737. m.KeyKind = &Expr_CreateStruct_Entry_MapKey{msg}
  738. return true, err
  739. default:
  740. return false, nil
  741. }
  742. }
  743. func _Expr_CreateStruct_Entry_OneofSizer(msg proto.Message) (n int) {
  744. m := msg.(*Expr_CreateStruct_Entry)
  745. // key_kind
  746. switch x := m.KeyKind.(type) {
  747. case *Expr_CreateStruct_Entry_FieldKey:
  748. n += 1 // tag and wire
  749. n += proto.SizeVarint(uint64(len(x.FieldKey)))
  750. n += len(x.FieldKey)
  751. case *Expr_CreateStruct_Entry_MapKey:
  752. s := proto.Size(x.MapKey)
  753. n += 1 // tag and wire
  754. n += proto.SizeVarint(uint64(s))
  755. n += s
  756. case nil:
  757. default:
  758. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  759. }
  760. return n
  761. }
  762. // A comprehension expression applied to a list or map.
  763. //
  764. // Comprehensions are not part of the core syntax, but enabled with macros.
  765. // A macro matches a specific call signature within a parsed AST and replaces
  766. // the call with an alternate AST block. Macro expansion happens at parse
  767. // time.
  768. //
  769. // The following macros are supported within CEL:
  770. //
  771. // Aggregate type macros may be applied to all elements in a list or all keys
  772. // in a map:
  773. //
  774. // * `all`, `exists`, `exists_one` - test a predicate expression against
  775. // the inputs and return `true` if the predicate is satisfied for all,
  776. // any, or only one value `list.all(x, x < 10)`.
  777. // * `filter` - test a predicate expression against the inputs and return
  778. // the subset of elements which satisfy the predicate:
  779. // `payments.filter(p, p > 1000)`.
  780. // * `map` - apply an expression to all elements in the input and return the
  781. // output aggregate type: `[1, 2, 3].map(i, i * i)`.
  782. //
  783. // The `has(m.x)` macro tests whether the property `x` is present in struct
  784. // `m`. The semantics of this macro depend on the type of `m`. For proto2
  785. // messages `has(m.x)` is defined as 'defined, but not set`. For proto3, the
  786. // macro tests whether the property is set to its default. For map and struct
  787. // types, the macro tests whether the property `x` is defined on `m`.
  788. type Expr_Comprehension struct {
  789. // The name of the iteration variable.
  790. IterVar string `protobuf:"bytes,1,opt,name=iter_var,json=iterVar,proto3" json:"iter_var,omitempty"`
  791. // The range over which var iterates.
  792. IterRange *Expr `protobuf:"bytes,2,opt,name=iter_range,json=iterRange,proto3" json:"iter_range,omitempty"`
  793. // The name of the variable used for accumulation of the result.
  794. AccuVar string `protobuf:"bytes,3,opt,name=accu_var,json=accuVar,proto3" json:"accu_var,omitempty"`
  795. // The initial value of the accumulator.
  796. AccuInit *Expr `protobuf:"bytes,4,opt,name=accu_init,json=accuInit,proto3" json:"accu_init,omitempty"`
  797. // An expression which can contain iter_var and accu_var.
  798. //
  799. // Returns false when the result has been computed and may be used as
  800. // a hint to short-circuit the remainder of the comprehension.
  801. LoopCondition *Expr `protobuf:"bytes,5,opt,name=loop_condition,json=loopCondition,proto3" json:"loop_condition,omitempty"`
  802. // An expression which can contain iter_var and accu_var.
  803. //
  804. // Computes the next value of accu_var.
  805. LoopStep *Expr `protobuf:"bytes,6,opt,name=loop_step,json=loopStep,proto3" json:"loop_step,omitempty"`
  806. // An expression which can contain accu_var.
  807. //
  808. // Computes the result.
  809. Result *Expr `protobuf:"bytes,7,opt,name=result,proto3" json:"result,omitempty"`
  810. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  811. XXX_unrecognized []byte `json:"-"`
  812. XXX_sizecache int32 `json:"-"`
  813. }
  814. func (m *Expr_Comprehension) Reset() { *m = Expr_Comprehension{} }
  815. func (m *Expr_Comprehension) String() string { return proto.CompactTextString(m) }
  816. func (*Expr_Comprehension) ProtoMessage() {}
  817. func (*Expr_Comprehension) Descriptor() ([]byte, []int) {
  818. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{1, 5}
  819. }
  820. func (m *Expr_Comprehension) XXX_Unmarshal(b []byte) error {
  821. return xxx_messageInfo_Expr_Comprehension.Unmarshal(m, b)
  822. }
  823. func (m *Expr_Comprehension) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  824. return xxx_messageInfo_Expr_Comprehension.Marshal(b, m, deterministic)
  825. }
  826. func (dst *Expr_Comprehension) XXX_Merge(src proto.Message) {
  827. xxx_messageInfo_Expr_Comprehension.Merge(dst, src)
  828. }
  829. func (m *Expr_Comprehension) XXX_Size() int {
  830. return xxx_messageInfo_Expr_Comprehension.Size(m)
  831. }
  832. func (m *Expr_Comprehension) XXX_DiscardUnknown() {
  833. xxx_messageInfo_Expr_Comprehension.DiscardUnknown(m)
  834. }
  835. var xxx_messageInfo_Expr_Comprehension proto.InternalMessageInfo
  836. func (m *Expr_Comprehension) GetIterVar() string {
  837. if m != nil {
  838. return m.IterVar
  839. }
  840. return ""
  841. }
  842. func (m *Expr_Comprehension) GetIterRange() *Expr {
  843. if m != nil {
  844. return m.IterRange
  845. }
  846. return nil
  847. }
  848. func (m *Expr_Comprehension) GetAccuVar() string {
  849. if m != nil {
  850. return m.AccuVar
  851. }
  852. return ""
  853. }
  854. func (m *Expr_Comprehension) GetAccuInit() *Expr {
  855. if m != nil {
  856. return m.AccuInit
  857. }
  858. return nil
  859. }
  860. func (m *Expr_Comprehension) GetLoopCondition() *Expr {
  861. if m != nil {
  862. return m.LoopCondition
  863. }
  864. return nil
  865. }
  866. func (m *Expr_Comprehension) GetLoopStep() *Expr {
  867. if m != nil {
  868. return m.LoopStep
  869. }
  870. return nil
  871. }
  872. func (m *Expr_Comprehension) GetResult() *Expr {
  873. if m != nil {
  874. return m.Result
  875. }
  876. return nil
  877. }
  878. // Represents a primitive literal.
  879. //
  880. // Named 'Constant' here for backwards compatibility.
  881. //
  882. // This is similar as the primitives supported in the well-known type
  883. // `google.protobuf.Value`, but richer so it can represent CEL's full range of
  884. // primitives.
  885. //
  886. // Lists and structs are not included as constants as these aggregate types may
  887. // contain [Expr][google.api.expr.v1alpha1.Expr] elements which require
  888. // evaluation and are thus not constant.
  889. //
  890. // Examples of literals include: `"hello"`, `b'bytes'`, `1u`, `4.2`, `-2`,
  891. // `true`, `null`.
  892. type Constant struct {
  893. // Required. The valid constant kinds.
  894. //
  895. // Types that are valid to be assigned to ConstantKind:
  896. // *Constant_NullValue
  897. // *Constant_BoolValue
  898. // *Constant_Int64Value
  899. // *Constant_Uint64Value
  900. // *Constant_DoubleValue
  901. // *Constant_StringValue
  902. // *Constant_BytesValue
  903. // *Constant_DurationValue
  904. // *Constant_TimestampValue
  905. ConstantKind isConstant_ConstantKind `protobuf_oneof:"constant_kind"`
  906. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  907. XXX_unrecognized []byte `json:"-"`
  908. XXX_sizecache int32 `json:"-"`
  909. }
  910. func (m *Constant) Reset() { *m = Constant{} }
  911. func (m *Constant) String() string { return proto.CompactTextString(m) }
  912. func (*Constant) ProtoMessage() {}
  913. func (*Constant) Descriptor() ([]byte, []int) {
  914. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{2}
  915. }
  916. func (m *Constant) XXX_Unmarshal(b []byte) error {
  917. return xxx_messageInfo_Constant.Unmarshal(m, b)
  918. }
  919. func (m *Constant) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  920. return xxx_messageInfo_Constant.Marshal(b, m, deterministic)
  921. }
  922. func (dst *Constant) XXX_Merge(src proto.Message) {
  923. xxx_messageInfo_Constant.Merge(dst, src)
  924. }
  925. func (m *Constant) XXX_Size() int {
  926. return xxx_messageInfo_Constant.Size(m)
  927. }
  928. func (m *Constant) XXX_DiscardUnknown() {
  929. xxx_messageInfo_Constant.DiscardUnknown(m)
  930. }
  931. var xxx_messageInfo_Constant proto.InternalMessageInfo
  932. type isConstant_ConstantKind interface {
  933. isConstant_ConstantKind()
  934. }
  935. type Constant_NullValue struct {
  936. NullValue _struct.NullValue `protobuf:"varint,1,opt,name=null_value,json=nullValue,proto3,enum=google.protobuf.NullValue,oneof"`
  937. }
  938. type Constant_BoolValue struct {
  939. BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
  940. }
  941. type Constant_Int64Value struct {
  942. Int64Value int64 `protobuf:"varint,3,opt,name=int64_value,json=int64Value,proto3,oneof"`
  943. }
  944. type Constant_Uint64Value struct {
  945. Uint64Value uint64 `protobuf:"varint,4,opt,name=uint64_value,json=uint64Value,proto3,oneof"`
  946. }
  947. type Constant_DoubleValue struct {
  948. DoubleValue float64 `protobuf:"fixed64,5,opt,name=double_value,json=doubleValue,proto3,oneof"`
  949. }
  950. type Constant_StringValue struct {
  951. StringValue string `protobuf:"bytes,6,opt,name=string_value,json=stringValue,proto3,oneof"`
  952. }
  953. type Constant_BytesValue struct {
  954. BytesValue []byte `protobuf:"bytes,7,opt,name=bytes_value,json=bytesValue,proto3,oneof"`
  955. }
  956. type Constant_DurationValue struct {
  957. DurationValue *duration.Duration `protobuf:"bytes,8,opt,name=duration_value,json=durationValue,proto3,oneof"`
  958. }
  959. type Constant_TimestampValue struct {
  960. TimestampValue *timestamp.Timestamp `protobuf:"bytes,9,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
  961. }
  962. func (*Constant_NullValue) isConstant_ConstantKind() {}
  963. func (*Constant_BoolValue) isConstant_ConstantKind() {}
  964. func (*Constant_Int64Value) isConstant_ConstantKind() {}
  965. func (*Constant_Uint64Value) isConstant_ConstantKind() {}
  966. func (*Constant_DoubleValue) isConstant_ConstantKind() {}
  967. func (*Constant_StringValue) isConstant_ConstantKind() {}
  968. func (*Constant_BytesValue) isConstant_ConstantKind() {}
  969. func (*Constant_DurationValue) isConstant_ConstantKind() {}
  970. func (*Constant_TimestampValue) isConstant_ConstantKind() {}
  971. func (m *Constant) GetConstantKind() isConstant_ConstantKind {
  972. if m != nil {
  973. return m.ConstantKind
  974. }
  975. return nil
  976. }
  977. func (m *Constant) GetNullValue() _struct.NullValue {
  978. if x, ok := m.GetConstantKind().(*Constant_NullValue); ok {
  979. return x.NullValue
  980. }
  981. return _struct.NullValue_NULL_VALUE
  982. }
  983. func (m *Constant) GetBoolValue() bool {
  984. if x, ok := m.GetConstantKind().(*Constant_BoolValue); ok {
  985. return x.BoolValue
  986. }
  987. return false
  988. }
  989. func (m *Constant) GetInt64Value() int64 {
  990. if x, ok := m.GetConstantKind().(*Constant_Int64Value); ok {
  991. return x.Int64Value
  992. }
  993. return 0
  994. }
  995. func (m *Constant) GetUint64Value() uint64 {
  996. if x, ok := m.GetConstantKind().(*Constant_Uint64Value); ok {
  997. return x.Uint64Value
  998. }
  999. return 0
  1000. }
  1001. func (m *Constant) GetDoubleValue() float64 {
  1002. if x, ok := m.GetConstantKind().(*Constant_DoubleValue); ok {
  1003. return x.DoubleValue
  1004. }
  1005. return 0
  1006. }
  1007. func (m *Constant) GetStringValue() string {
  1008. if x, ok := m.GetConstantKind().(*Constant_StringValue); ok {
  1009. return x.StringValue
  1010. }
  1011. return ""
  1012. }
  1013. func (m *Constant) GetBytesValue() []byte {
  1014. if x, ok := m.GetConstantKind().(*Constant_BytesValue); ok {
  1015. return x.BytesValue
  1016. }
  1017. return nil
  1018. }
  1019. func (m *Constant) GetDurationValue() *duration.Duration {
  1020. if x, ok := m.GetConstantKind().(*Constant_DurationValue); ok {
  1021. return x.DurationValue
  1022. }
  1023. return nil
  1024. }
  1025. func (m *Constant) GetTimestampValue() *timestamp.Timestamp {
  1026. if x, ok := m.GetConstantKind().(*Constant_TimestampValue); ok {
  1027. return x.TimestampValue
  1028. }
  1029. return nil
  1030. }
  1031. // XXX_OneofFuncs is for the internal use of the proto package.
  1032. func (*Constant) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1033. return _Constant_OneofMarshaler, _Constant_OneofUnmarshaler, _Constant_OneofSizer, []interface{}{
  1034. (*Constant_NullValue)(nil),
  1035. (*Constant_BoolValue)(nil),
  1036. (*Constant_Int64Value)(nil),
  1037. (*Constant_Uint64Value)(nil),
  1038. (*Constant_DoubleValue)(nil),
  1039. (*Constant_StringValue)(nil),
  1040. (*Constant_BytesValue)(nil),
  1041. (*Constant_DurationValue)(nil),
  1042. (*Constant_TimestampValue)(nil),
  1043. }
  1044. }
  1045. func _Constant_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1046. m := msg.(*Constant)
  1047. // constant_kind
  1048. switch x := m.ConstantKind.(type) {
  1049. case *Constant_NullValue:
  1050. b.EncodeVarint(1<<3 | proto.WireVarint)
  1051. b.EncodeVarint(uint64(x.NullValue))
  1052. case *Constant_BoolValue:
  1053. t := uint64(0)
  1054. if x.BoolValue {
  1055. t = 1
  1056. }
  1057. b.EncodeVarint(2<<3 | proto.WireVarint)
  1058. b.EncodeVarint(t)
  1059. case *Constant_Int64Value:
  1060. b.EncodeVarint(3<<3 | proto.WireVarint)
  1061. b.EncodeVarint(uint64(x.Int64Value))
  1062. case *Constant_Uint64Value:
  1063. b.EncodeVarint(4<<3 | proto.WireVarint)
  1064. b.EncodeVarint(uint64(x.Uint64Value))
  1065. case *Constant_DoubleValue:
  1066. b.EncodeVarint(5<<3 | proto.WireFixed64)
  1067. b.EncodeFixed64(math.Float64bits(x.DoubleValue))
  1068. case *Constant_StringValue:
  1069. b.EncodeVarint(6<<3 | proto.WireBytes)
  1070. b.EncodeStringBytes(x.StringValue)
  1071. case *Constant_BytesValue:
  1072. b.EncodeVarint(7<<3 | proto.WireBytes)
  1073. b.EncodeRawBytes(x.BytesValue)
  1074. case *Constant_DurationValue:
  1075. b.EncodeVarint(8<<3 | proto.WireBytes)
  1076. if err := b.EncodeMessage(x.DurationValue); err != nil {
  1077. return err
  1078. }
  1079. case *Constant_TimestampValue:
  1080. b.EncodeVarint(9<<3 | proto.WireBytes)
  1081. if err := b.EncodeMessage(x.TimestampValue); err != nil {
  1082. return err
  1083. }
  1084. case nil:
  1085. default:
  1086. return fmt.Errorf("Constant.ConstantKind has unexpected type %T", x)
  1087. }
  1088. return nil
  1089. }
  1090. func _Constant_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1091. m := msg.(*Constant)
  1092. switch tag {
  1093. case 1: // constant_kind.null_value
  1094. if wire != proto.WireVarint {
  1095. return true, proto.ErrInternalBadWireType
  1096. }
  1097. x, err := b.DecodeVarint()
  1098. m.ConstantKind = &Constant_NullValue{_struct.NullValue(x)}
  1099. return true, err
  1100. case 2: // constant_kind.bool_value
  1101. if wire != proto.WireVarint {
  1102. return true, proto.ErrInternalBadWireType
  1103. }
  1104. x, err := b.DecodeVarint()
  1105. m.ConstantKind = &Constant_BoolValue{x != 0}
  1106. return true, err
  1107. case 3: // constant_kind.int64_value
  1108. if wire != proto.WireVarint {
  1109. return true, proto.ErrInternalBadWireType
  1110. }
  1111. x, err := b.DecodeVarint()
  1112. m.ConstantKind = &Constant_Int64Value{int64(x)}
  1113. return true, err
  1114. case 4: // constant_kind.uint64_value
  1115. if wire != proto.WireVarint {
  1116. return true, proto.ErrInternalBadWireType
  1117. }
  1118. x, err := b.DecodeVarint()
  1119. m.ConstantKind = &Constant_Uint64Value{x}
  1120. return true, err
  1121. case 5: // constant_kind.double_value
  1122. if wire != proto.WireFixed64 {
  1123. return true, proto.ErrInternalBadWireType
  1124. }
  1125. x, err := b.DecodeFixed64()
  1126. m.ConstantKind = &Constant_DoubleValue{math.Float64frombits(x)}
  1127. return true, err
  1128. case 6: // constant_kind.string_value
  1129. if wire != proto.WireBytes {
  1130. return true, proto.ErrInternalBadWireType
  1131. }
  1132. x, err := b.DecodeStringBytes()
  1133. m.ConstantKind = &Constant_StringValue{x}
  1134. return true, err
  1135. case 7: // constant_kind.bytes_value
  1136. if wire != proto.WireBytes {
  1137. return true, proto.ErrInternalBadWireType
  1138. }
  1139. x, err := b.DecodeRawBytes(true)
  1140. m.ConstantKind = &Constant_BytesValue{x}
  1141. return true, err
  1142. case 8: // constant_kind.duration_value
  1143. if wire != proto.WireBytes {
  1144. return true, proto.ErrInternalBadWireType
  1145. }
  1146. msg := new(duration.Duration)
  1147. err := b.DecodeMessage(msg)
  1148. m.ConstantKind = &Constant_DurationValue{msg}
  1149. return true, err
  1150. case 9: // constant_kind.timestamp_value
  1151. if wire != proto.WireBytes {
  1152. return true, proto.ErrInternalBadWireType
  1153. }
  1154. msg := new(timestamp.Timestamp)
  1155. err := b.DecodeMessage(msg)
  1156. m.ConstantKind = &Constant_TimestampValue{msg}
  1157. return true, err
  1158. default:
  1159. return false, nil
  1160. }
  1161. }
  1162. func _Constant_OneofSizer(msg proto.Message) (n int) {
  1163. m := msg.(*Constant)
  1164. // constant_kind
  1165. switch x := m.ConstantKind.(type) {
  1166. case *Constant_NullValue:
  1167. n += 1 // tag and wire
  1168. n += proto.SizeVarint(uint64(x.NullValue))
  1169. case *Constant_BoolValue:
  1170. n += 1 // tag and wire
  1171. n += 1
  1172. case *Constant_Int64Value:
  1173. n += 1 // tag and wire
  1174. n += proto.SizeVarint(uint64(x.Int64Value))
  1175. case *Constant_Uint64Value:
  1176. n += 1 // tag and wire
  1177. n += proto.SizeVarint(uint64(x.Uint64Value))
  1178. case *Constant_DoubleValue:
  1179. n += 1 // tag and wire
  1180. n += 8
  1181. case *Constant_StringValue:
  1182. n += 1 // tag and wire
  1183. n += proto.SizeVarint(uint64(len(x.StringValue)))
  1184. n += len(x.StringValue)
  1185. case *Constant_BytesValue:
  1186. n += 1 // tag and wire
  1187. n += proto.SizeVarint(uint64(len(x.BytesValue)))
  1188. n += len(x.BytesValue)
  1189. case *Constant_DurationValue:
  1190. s := proto.Size(x.DurationValue)
  1191. n += 1 // tag and wire
  1192. n += proto.SizeVarint(uint64(s))
  1193. n += s
  1194. case *Constant_TimestampValue:
  1195. s := proto.Size(x.TimestampValue)
  1196. n += 1 // tag and wire
  1197. n += proto.SizeVarint(uint64(s))
  1198. n += s
  1199. case nil:
  1200. default:
  1201. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1202. }
  1203. return n
  1204. }
  1205. // Source information collected at parse time.
  1206. type SourceInfo struct {
  1207. // The syntax version of the source, e.g. `cel1`.
  1208. SyntaxVersion string `protobuf:"bytes,1,opt,name=syntax_version,json=syntaxVersion,proto3" json:"syntax_version,omitempty"`
  1209. // The location name. All position information attached to an expression is
  1210. // relative to this location.
  1211. //
  1212. // The location could be a file, UI element, or similar. For example,
  1213. // `acme/app/AnvilPolicy.cel`.
  1214. Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"`
  1215. // Monotonically increasing list of character offsets where newlines appear.
  1216. //
  1217. // The line number of a given position is the index `i` where for a given
  1218. // `id` the `line_offsets[i] < id_positions[id] < line_offsets[i+1]`. The
  1219. // column may be derivd from `id_positions[id] - line_offsets[i]`.
  1220. LineOffsets []int32 `protobuf:"varint,3,rep,packed,name=line_offsets,json=lineOffsets,proto3" json:"line_offsets,omitempty"`
  1221. // A map from the parse node id (e.g. `Expr.id`) to the character offset
  1222. // within source.
  1223. 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"`
  1224. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1225. XXX_unrecognized []byte `json:"-"`
  1226. XXX_sizecache int32 `json:"-"`
  1227. }
  1228. func (m *SourceInfo) Reset() { *m = SourceInfo{} }
  1229. func (m *SourceInfo) String() string { return proto.CompactTextString(m) }
  1230. func (*SourceInfo) ProtoMessage() {}
  1231. func (*SourceInfo) Descriptor() ([]byte, []int) {
  1232. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{3}
  1233. }
  1234. func (m *SourceInfo) XXX_Unmarshal(b []byte) error {
  1235. return xxx_messageInfo_SourceInfo.Unmarshal(m, b)
  1236. }
  1237. func (m *SourceInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1238. return xxx_messageInfo_SourceInfo.Marshal(b, m, deterministic)
  1239. }
  1240. func (dst *SourceInfo) XXX_Merge(src proto.Message) {
  1241. xxx_messageInfo_SourceInfo.Merge(dst, src)
  1242. }
  1243. func (m *SourceInfo) XXX_Size() int {
  1244. return xxx_messageInfo_SourceInfo.Size(m)
  1245. }
  1246. func (m *SourceInfo) XXX_DiscardUnknown() {
  1247. xxx_messageInfo_SourceInfo.DiscardUnknown(m)
  1248. }
  1249. var xxx_messageInfo_SourceInfo proto.InternalMessageInfo
  1250. func (m *SourceInfo) GetSyntaxVersion() string {
  1251. if m != nil {
  1252. return m.SyntaxVersion
  1253. }
  1254. return ""
  1255. }
  1256. func (m *SourceInfo) GetLocation() string {
  1257. if m != nil {
  1258. return m.Location
  1259. }
  1260. return ""
  1261. }
  1262. func (m *SourceInfo) GetLineOffsets() []int32 {
  1263. if m != nil {
  1264. return m.LineOffsets
  1265. }
  1266. return nil
  1267. }
  1268. func (m *SourceInfo) GetPositions() map[int64]int32 {
  1269. if m != nil {
  1270. return m.Positions
  1271. }
  1272. return nil
  1273. }
  1274. // A specific position in source.
  1275. type SourcePosition struct {
  1276. // The soucre location name (e.g. file name).
  1277. Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"`
  1278. // The character offset.
  1279. Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
  1280. // The 1-based index of the starting line in the source text
  1281. // where the issue occurs, or 0 if unknown.
  1282. Line int32 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"`
  1283. // The 0-based index of the starting position within the line of source text
  1284. // where the issue occurs. Only meaningful if line is nonzero.
  1285. Column int32 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"`
  1286. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1287. XXX_unrecognized []byte `json:"-"`
  1288. XXX_sizecache int32 `json:"-"`
  1289. }
  1290. func (m *SourcePosition) Reset() { *m = SourcePosition{} }
  1291. func (m *SourcePosition) String() string { return proto.CompactTextString(m) }
  1292. func (*SourcePosition) ProtoMessage() {}
  1293. func (*SourcePosition) Descriptor() ([]byte, []int) {
  1294. return fileDescriptor_syntax_c21dd3f8bb00852d, []int{4}
  1295. }
  1296. func (m *SourcePosition) XXX_Unmarshal(b []byte) error {
  1297. return xxx_messageInfo_SourcePosition.Unmarshal(m, b)
  1298. }
  1299. func (m *SourcePosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1300. return xxx_messageInfo_SourcePosition.Marshal(b, m, deterministic)
  1301. }
  1302. func (dst *SourcePosition) XXX_Merge(src proto.Message) {
  1303. xxx_messageInfo_SourcePosition.Merge(dst, src)
  1304. }
  1305. func (m *SourcePosition) XXX_Size() int {
  1306. return xxx_messageInfo_SourcePosition.Size(m)
  1307. }
  1308. func (m *SourcePosition) XXX_DiscardUnknown() {
  1309. xxx_messageInfo_SourcePosition.DiscardUnknown(m)
  1310. }
  1311. var xxx_messageInfo_SourcePosition proto.InternalMessageInfo
  1312. func (m *SourcePosition) GetLocation() string {
  1313. if m != nil {
  1314. return m.Location
  1315. }
  1316. return ""
  1317. }
  1318. func (m *SourcePosition) GetOffset() int32 {
  1319. if m != nil {
  1320. return m.Offset
  1321. }
  1322. return 0
  1323. }
  1324. func (m *SourcePosition) GetLine() int32 {
  1325. if m != nil {
  1326. return m.Line
  1327. }
  1328. return 0
  1329. }
  1330. func (m *SourcePosition) GetColumn() int32 {
  1331. if m != nil {
  1332. return m.Column
  1333. }
  1334. return 0
  1335. }
  1336. func init() {
  1337. proto.RegisterType((*ParsedExpr)(nil), "google.api.expr.v1alpha1.ParsedExpr")
  1338. proto.RegisterType((*Expr)(nil), "google.api.expr.v1alpha1.Expr")
  1339. proto.RegisterType((*Expr_Ident)(nil), "google.api.expr.v1alpha1.Expr.Ident")
  1340. proto.RegisterType((*Expr_Select)(nil), "google.api.expr.v1alpha1.Expr.Select")
  1341. proto.RegisterType((*Expr_Call)(nil), "google.api.expr.v1alpha1.Expr.Call")
  1342. proto.RegisterType((*Expr_CreateList)(nil), "google.api.expr.v1alpha1.Expr.CreateList")
  1343. proto.RegisterType((*Expr_CreateStruct)(nil), "google.api.expr.v1alpha1.Expr.CreateStruct")
  1344. proto.RegisterType((*Expr_CreateStruct_Entry)(nil), "google.api.expr.v1alpha1.Expr.CreateStruct.Entry")
  1345. proto.RegisterType((*Expr_Comprehension)(nil), "google.api.expr.v1alpha1.Expr.Comprehension")
  1346. proto.RegisterType((*Constant)(nil), "google.api.expr.v1alpha1.Constant")
  1347. proto.RegisterType((*SourceInfo)(nil), "google.api.expr.v1alpha1.SourceInfo")
  1348. proto.RegisterMapType((map[int64]int32)(nil), "google.api.expr.v1alpha1.SourceInfo.PositionsEntry")
  1349. proto.RegisterType((*SourcePosition)(nil), "google.api.expr.v1alpha1.SourcePosition")
  1350. }
  1351. func init() {
  1352. proto.RegisterFile("google/api/expr/v1alpha1/syntax.proto", fileDescriptor_syntax_c21dd3f8bb00852d)
  1353. }
  1354. var fileDescriptor_syntax_c21dd3f8bb00852d = []byte{
  1355. // 1134 bytes of a gzipped FileDescriptorProto
  1356. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xcf, 0x6e, 0x1b, 0xb7,
  1357. 0x13, 0xd6, 0xea, 0x9f, 0xb5, 0x23, 0x5b, 0xf9, 0xfd, 0x88, 0xa2, 0x50, 0x36, 0x69, 0xe2, 0x38,
  1358. 0x35, 0x90, 0xa2, 0x85, 0x04, 0x3b, 0x41, 0x90, 0xc6, 0xe9, 0x45, 0xae, 0x0b, 0x19, 0x29, 0x1c,
  1359. 0x77, 0x5d, 0xf8, 0x50, 0xa0, 0x10, 0xe8, 0x15, 0xa5, 0x2c, 0x4c, 0x91, 0x8b, 0x25, 0xd7, 0xb0,
  1360. 0xce, 0x3d, 0xf4, 0xd6, 0x97, 0x69, 0x5f, 0xa0, 0xef, 0xd1, 0x07, 0xe9, 0xa5, 0x40, 0x31, 0x43,
  1361. 0xae, 0xfc, 0x0f, 0x86, 0xd4, 0x1b, 0x39, 0xfc, 0xbe, 0x8f, 0xc3, 0x99, 0xe1, 0x90, 0xb0, 0x3d,
  1362. 0xd5, 0x7a, 0x2a, 0x45, 0x9f, 0x67, 0x69, 0x5f, 0x5c, 0x66, 0x79, 0xff, 0x62, 0x87, 0xcb, 0xec,
  1363. 0x23, 0xdf, 0xe9, 0x9b, 0xb9, 0xb2, 0xfc, 0xb2, 0x97, 0xe5, 0xda, 0x6a, 0xd6, 0x75, 0xb0, 0x1e,
  1364. 0xcf, 0xd2, 0x1e, 0xc2, 0x7a, 0x25, 0x2c, 0x7a, 0xe2, 0x05, 0x08, 0x77, 0x56, 0x4c, 0xfa, 0xe3,
  1365. 0x22, 0xe7, 0x36, 0xd5, 0xca, 0x31, 0xa3, 0xc7, 0xb7, 0xd7, 0x8d, 0xcd, 0x8b, 0xc4, 0xfa, 0xd5,
  1366. 0xa7, 0xb7, 0x57, 0x6d, 0x3a, 0x13, 0xc6, 0xf2, 0x59, 0xe6, 0x00, 0x5b, 0xbf, 0x06, 0x00, 0xc7,
  1367. 0x3c, 0x37, 0x62, 0x7c, 0x70, 0x99, 0xe5, 0x6c, 0x17, 0xea, 0xb8, 0x7d, 0xb7, 0xba, 0x19, 0xbc,
  1368. 0x68, 0xef, 0x3e, 0xe9, 0xdd, 0xe7, 0x56, 0x0f, 0xd1, 0x31, 0x61, 0xd9, 0x01, 0xb4, 0x8d, 0x2e,
  1369. 0xf2, 0x44, 0x8c, 0x52, 0x35, 0xd1, 0xdd, 0x1a, 0x51, 0x3f, 0xbf, 0x9f, 0x7a, 0x42, 0xe0, 0x43,
  1370. 0x35, 0xd1, 0x31, 0x98, 0xc5, 0x78, 0xeb, 0xaf, 0x75, 0xa8, 0x93, 0x0f, 0x1d, 0xa8, 0xa6, 0x63,
  1371. 0xf2, 0xa0, 0x16, 0x57, 0xd3, 0x31, 0xdb, 0x07, 0x48, 0xb4, 0x32, 0x76, 0x44, 0x9e, 0x39, 0xf9,
  1372. 0xad, 0xfb, 0xe5, 0xf7, 0x11, 0xcb, 0x95, 0x1d, 0x56, 0xe2, 0x90, 0x78, 0x07, 0xce, 0x49, 0x48,
  1373. 0xc7, 0x42, 0x79, 0x91, 0xfa, 0x32, 0x1f, 0x91, 0xd3, 0x3b, 0x44, 0x02, 0xca, 0x10, 0x93, 0x64,
  1374. 0x86, 0xd0, 0x36, 0x42, 0x8a, 0xc4, 0xeb, 0x34, 0x48, 0x67, 0x7b, 0x89, 0xce, 0x09, 0x31, 0x86,
  1375. 0x95, 0x18, 0x1c, 0x97, 0x94, 0x06, 0x10, 0x26, 0x5c, 0x4a, 0xa7, 0xd3, 0x24, 0x9d, 0xe7, 0x4b,
  1376. 0x74, 0xf6, 0xb9, 0x94, 0xc3, 0x4a, 0xdc, 0x42, 0x9e, 0xf7, 0x26, 0x94, 0x69, 0x19, 0x98, 0x35,
  1377. 0xd2, 0xf8, 0x62, 0x99, 0x46, 0x2e, 0xb8, 0x15, 0xdf, 0xa7, 0x06, 0xfd, 0x69, 0x21, 0x9b, 0x94,
  1378. 0x8e, 0xa0, 0xed, 0xea, 0xc6, 0x69, 0xb5, 0x48, 0xeb, 0xcb, 0x95, 0xb4, 0x4e, 0x88, 0x47, 0xa7,
  1379. 0xa3, 0x11, 0xe9, 0xfd, 0x0c, 0x2c, 0xd1, 0xb3, 0x2c, 0x17, 0x1f, 0x85, 0x32, 0xa9, 0x56, 0x4e,
  1380. 0x36, 0x24, 0xd9, 0xaf, 0x96, 0xc9, 0x5e, 0x27, 0x0e, 0x2b, 0xf1, 0xff, 0x6f, 0x28, 0x21, 0x24,
  1381. 0x7a, 0x04, 0x0d, 0x4a, 0x0e, 0x63, 0x50, 0x57, 0x7c, 0x26, 0xba, 0xc1, 0x66, 0xf0, 0x22, 0x8c,
  1382. 0x69, 0x1c, 0x15, 0xd0, 0x74, 0x11, 0x67, 0x6f, 0x60, 0x4d, 0x67, 0x22, 0xe7, 0x6a, 0x4c, 0x80,
  1383. 0xe5, 0x05, 0x5d, 0xc2, 0xd9, 0x27, 0xd0, 0x98, 0xa4, 0x42, 0xba, 0x32, 0x0c, 0x63, 0x37, 0x61,
  1384. 0x8f, 0x20, 0xb4, 0xc2, 0xd8, 0x91, 0x56, 0x72, 0x4e, 0x85, 0xd8, 0x8a, 0x5b, 0x68, 0xf8, 0xa0,
  1385. 0xe4, 0x3c, 0xfa, 0x2d, 0x80, 0x3a, 0x66, 0x88, 0xbd, 0x86, 0xa6, 0xe5, 0xf9, 0x54, 0xd8, 0x15,
  1386. 0x37, 0xf5, 0x68, 0x16, 0x41, 0x6b, 0x52, 0xa8, 0x04, 0xef, 0xb6, 0xdf, 0x76, 0x31, 0xc7, 0x7b,
  1387. 0xc9, 0xf3, 0xa9, 0xe9, 0xd6, 0x36, 0x6b, 0xab, 0xdc, 0x4b, 0xc4, 0x46, 0x43, 0x80, 0xab, 0x6c,
  1388. 0xb3, 0xb7, 0xd0, 0x12, 0x52, 0xcc, 0x84, 0xb2, 0xa6, 0x1b, 0xac, 0xa4, 0xb2, 0xc0, 0x47, 0x7f,
  1389. 0x54, 0x61, 0xfd, 0x7a, 0xb2, 0xd9, 0x33, 0x58, 0x9f, 0x09, 0x63, 0xf8, 0x54, 0x8c, 0xae, 0x85,
  1390. 0xbf, 0xed, 0x6d, 0x47, 0x7c, 0x26, 0xd8, 0x7b, 0x58, 0x13, 0xca, 0xe6, 0xa9, 0x30, 0xdd, 0x2a,
  1391. 0x6d, 0xb7, 0xf3, 0x1f, 0xaa, 0xa9, 0x77, 0xa0, 0x6c, 0x3e, 0x8f, 0x4b, 0x85, 0xe8, 0xf7, 0x00,
  1392. 0x1a, 0x64, 0xf2, 0xcd, 0x21, 0x58, 0x34, 0x87, 0xcf, 0x20, 0xa4, 0xdc, 0x8c, 0xce, 0xc5, 0xdc,
  1393. 0x45, 0x0d, 0xeb, 0x9a, 0x4c, 0xef, 0xc5, 0x9c, 0x7d, 0x0d, 0x6b, 0x33, 0x9e, 0xd1, 0x62, 0x6d,
  1394. 0x95, 0x64, 0x0c, 0x2b, 0x71, 0x73, 0xc6, 0x33, 0xa4, 0xbe, 0x82, 0xc6, 0x05, 0x97, 0x85, 0xf0,
  1395. 0xcd, 0x62, 0x59, 0xb4, 0x1c, 0x78, 0x00, 0xd0, 0x3a, 0x17, 0xf3, 0xd1, 0x79, 0xaa, 0xc6, 0xd1,
  1396. 0x3f, 0x55, 0xd8, 0xb8, 0x51, 0xcc, 0xec, 0x21, 0xb4, 0x52, 0x2b, 0xf2, 0xd1, 0x05, 0xcf, 0x7d,
  1397. 0xcc, 0xd6, 0x70, 0x7e, 0xca, 0x73, 0xf6, 0x0d, 0x00, 0x2d, 0xe5, 0x5c, 0x4d, 0xc5, 0x8a, 0xfd,
  1398. 0x37, 0x44, 0x46, 0x8c, 0x04, 0x54, 0xe6, 0x49, 0x52, 0x90, 0x72, 0xcd, 0x29, 0xe3, 0x1c, 0x95,
  1399. 0xf7, 0x20, 0xa4, 0xa5, 0x54, 0xa5, 0x76, 0xc5, 0xc3, 0x90, 0xd6, 0xa1, 0x4a, 0x2d, 0x3b, 0x80,
  1400. 0x8e, 0xd4, 0x3a, 0x1b, 0x25, 0x5a, 0x8d, 0x53, 0x2a, 0xcd, 0xc6, 0x4a, 0x0a, 0x1b, 0xc8, 0xda,
  1401. 0x2f, 0x49, 0xe8, 0x03, 0xc9, 0x18, 0x2b, 0x32, 0xdf, 0xed, 0x96, 0xfa, 0x80, 0x84, 0x13, 0x2b,
  1402. 0x32, 0xbc, 0x50, 0xb9, 0x30, 0x85, 0xb4, 0xbe, 0xc7, 0x2d, 0xbd, 0x50, 0x0e, 0x3d, 0x68, 0x43,
  1403. 0x88, 0xab, 0x94, 0x8c, 0xad, 0x3f, 0x6b, 0xd0, 0x2a, 0x9f, 0x06, 0xb6, 0x07, 0xa0, 0x0a, 0x29,
  1404. 0x47, 0x2e, 0xc1, 0x98, 0x89, 0xce, 0x6e, 0x54, 0xaa, 0x96, 0x6f, 0x65, 0xef, 0xa8, 0x90, 0xf2,
  1405. 0x14, 0x11, 0xf8, 0x06, 0xa8, 0x72, 0xc2, 0x9e, 0x02, 0x9c, 0x69, 0x5d, 0x92, 0x31, 0x53, 0x2d,
  1406. 0x04, 0xa0, 0xcd, 0x01, 0x9e, 0x41, 0x3b, 0x55, 0xf6, 0xf5, 0x2b, 0x8f, 0xc0, 0x74, 0xd4, 0xb0,
  1407. 0x3f, 0x92, 0xd1, 0x41, 0x9e, 0xc3, 0x7a, 0x71, 0x1d, 0x83, 0x69, 0xa9, 0x0f, 0x2b, 0x71, 0xbb,
  1408. 0xb8, 0x09, 0x1a, 0xeb, 0xe2, 0x4c, 0x0a, 0x0f, 0xc2, 0xc8, 0x07, 0x08, 0x72, 0xd6, 0x05, 0xc8,
  1409. 0xd8, 0x3c, 0x55, 0x53, 0x0f, 0x6a, 0xfa, 0x3b, 0xd0, 0x76, 0xd6, 0x85, 0x47, 0x67, 0x73, 0x2b,
  1410. 0x8c, 0xc7, 0x60, 0x18, 0xd7, 0xd1, 0x23, 0x32, 0x3a, 0xc8, 0x77, 0xd0, 0x29, 0x7f, 0x16, 0x1e,
  1411. 0xe5, 0x1e, 0x81, 0x87, 0x77, 0xc2, 0xf2, 0xad, 0x87, 0x0d, 0xaa, 0x5d, 0xf4, 0x66, 0xa3, 0xa4,
  1412. 0x39, 0x9d, 0x43, 0x78, 0xb0, 0xf8, 0x63, 0x78, 0x21, 0xd7, 0xf6, 0xef, 0xc6, 0xf7, 0xc7, 0x12,
  1413. 0xe7, 0x95, 0x3a, 0x0b, 0x22, 0x49, 0x0d, 0x1e, 0xc0, 0x46, 0xe2, 0x33, 0xe6, 0x72, 0xf8, 0x4b,
  1414. 0x15, 0xe0, 0xea, 0xf7, 0xc0, 0xb6, 0xa1, 0xe3, 0x3e, 0x51, 0xa3, 0x0b, 0x91, 0xe3, 0xfd, 0xf2,
  1415. 0x77, 0x6a, 0xc3, 0x59, 0x4f, 0x9d, 0x11, 0xfb, 0xaa, 0xd4, 0x09, 0xbf, 0xde, 0x57, 0xcb, 0x39,
  1416. 0x36, 0x32, 0x99, 0x2a, 0x31, 0xd2, 0x93, 0x89, 0x11, 0xd6, 0xf5, 0xd7, 0x46, 0xdc, 0x46, 0xdb,
  1417. 0x07, 0x67, 0x62, 0x3f, 0x40, 0x98, 0x69, 0x43, 0x65, 0x6c, 0xba, 0x75, 0x6a, 0x65, 0x2f, 0x57,
  1418. 0xf9, 0xdc, 0xf4, 0x8e, 0x4b, 0x96, 0x6b, 0x66, 0x57, 0x2a, 0xd1, 0x3b, 0xe8, 0xdc, 0x5c, 0x64,
  1419. 0xff, 0x83, 0x1a, 0xf6, 0x28, 0xd7, 0xd7, 0x70, 0x88, 0x2f, 0xd0, 0x55, 0x81, 0x35, 0x7c, 0x7b,
  1420. 0x79, 0x5b, 0x7d, 0x13, 0x6c, 0x65, 0xd0, 0x71, 0xbb, 0x94, 0x1a, 0x37, 0x4e, 0x18, 0xdc, 0x3a,
  1421. 0xe1, 0xa7, 0xd0, 0x74, 0x87, 0xf3, 0x42, 0x7e, 0x86, 0x2f, 0x27, 0x9e, 0x92, 0xaa, 0xb3, 0x11,
  1422. 0xd3, 0x18, 0xb1, 0x89, 0x96, 0xc5, 0x4c, 0x51, 0x3d, 0x36, 0x62, 0x3f, 0x1b, 0x28, 0x78, 0x9c,
  1423. 0xe8, 0xd9, 0xbd, 0x87, 0x1e, 0xb4, 0x4f, 0x28, 0xe0, 0xc7, 0x98, 0xd8, 0xe3, 0xe0, 0xa7, 0x77,
  1424. 0x1e, 0x38, 0xd5, 0x92, 0xab, 0x69, 0x4f, 0xe7, 0xd3, 0xfe, 0x54, 0x28, 0x4a, 0x7b, 0xdf, 0x2d,
  1425. 0xf1, 0x2c, 0x35, 0x77, 0xbf, 0xc4, 0x7b, 0x38, 0xfb, 0x3b, 0x08, 0xce, 0x9a, 0x84, 0x7d, 0xf9,
  1426. 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x25, 0xe3, 0xe8, 0x3d, 0x0b, 0x00, 0x00,
  1427. }