1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/cloud/runtimeconfig/v1beta1/resources.proto
5 Package runtimeconfig is a generated protocol buffer package.
7 It is generated from these files:
8 google/cloud/runtimeconfig/v1beta1/resources.proto
9 google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
11 It has these top-level messages:
37 import proto "github.com/golang/protobuf/proto"
40 import _ "google.golang.org/genproto/googleapis/api/annotations"
41 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
42 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
43 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
45 // Reference imports to suppress errors if they are not otherwise used.
50 // This is a compile-time assertion to ensure that this generated file
51 // is compatible with the proto package it is being compiled against.
52 // A compilation error at this line likely means your copy of the
53 // proto package needs to be updated.
54 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
56 // The `VariableState` describes the last known state of the variable and is
57 // used during a `variables().watch` call to distinguish the state of the
59 type VariableState int32
62 // Default variable state.
63 VariableState_VARIABLE_STATE_UNSPECIFIED VariableState = 0
64 // The variable was updated, while `variables().watch` was executing.
65 VariableState_UPDATED VariableState = 1
66 // The variable was deleted, while `variables().watch` was executing.
67 VariableState_DELETED VariableState = 2
70 var VariableState_name = map[int32]string{
71 0: "VARIABLE_STATE_UNSPECIFIED",
75 var VariableState_value = map[string]int32{
76 "VARIABLE_STATE_UNSPECIFIED": 0,
81 func (x VariableState) String() string {
82 return proto.EnumName(VariableState_name, int32(x))
84 func (VariableState) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
86 // A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig
87 // service. A RuntimeConfig resource consists of metadata and a hierarchy of
89 type RuntimeConfig struct {
90 // The resource name of a runtime config. The name must have the format:
92 // projects/[PROJECT_ID]/configs/[CONFIG_NAME]
94 // The `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an
95 // arbitrary name that matches RFC 1035 segment specification. The length of
96 // `[CONFIG_NAME]` must be less than 64 bytes.
98 // You pick the RuntimeConfig resource name, but the server will validate that
99 // the name adheres to this format. After you create the resource, you cannot
100 // change the resource's name.
101 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
102 // An optional description of the RuntimeConfig object.
103 Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
106 func (m *RuntimeConfig) Reset() { *m = RuntimeConfig{} }
107 func (m *RuntimeConfig) String() string { return proto.CompactTextString(m) }
108 func (*RuntimeConfig) ProtoMessage() {}
109 func (*RuntimeConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
111 func (m *RuntimeConfig) GetName() string {
118 func (m *RuntimeConfig) GetDescription() string {
125 // Describes a single variable within a RuntimeConfig resource.
126 // The name denotes the hierarchical variable name. For example,
127 // `ports/serving_port` is a valid variable name. The variable value is an
128 // opaque string and only leaf variables can have values (that is, variables
129 // that do not have any child variables).
130 type Variable struct {
131 // The name of the variable resource, in the format:
133 // projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
135 // The `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a
136 // valid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file system
139 // The `[VARIABLE_NAME]` can contain ASCII letters, numbers, slashes and
140 // dashes. Slashes are used as path element separators and are not part of the
141 // `[VARIABLE_NAME]` itself, so `[VARIABLE_NAME]` must contain at least one
142 // non-slash character. Multiple slashes are coalesced into single slash
143 // character. Each path segment should follow RFC 1035 segment specification.
144 // The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
146 // Once you create a variable, you cannot change the variable name.
147 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
148 // The the value of the variable. It can be either a binary or a string
149 // value. You must specify one of either `value` or `text`. Specifying both
150 // will cause the server to return an error.
152 // Types that are valid to be assigned to Contents:
155 Contents isVariable_Contents `protobuf_oneof:"contents"`
156 // [Output Only] The time of the last variable update.
157 UpdateTime *google_protobuf2.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime" json:"update_time,omitempty"`
158 // [Ouput only] The current state of the variable. The variable state indicates
159 // the outcome of the `variables().watch` call and is visible through the
160 // `get` and `list` calls.
161 State VariableState `protobuf:"varint,4,opt,name=state,enum=google.cloud.runtimeconfig.v1beta1.VariableState" json:"state,omitempty"`
164 func (m *Variable) Reset() { *m = Variable{} }
165 func (m *Variable) String() string { return proto.CompactTextString(m) }
166 func (*Variable) ProtoMessage() {}
167 func (*Variable) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
169 type isVariable_Contents interface {
170 isVariable_Contents()
173 type Variable_Value struct {
174 Value []byte `protobuf:"bytes,2,opt,name=value,proto3,oneof"`
176 type Variable_Text struct {
177 Text string `protobuf:"bytes,5,opt,name=text,oneof"`
180 func (*Variable_Value) isVariable_Contents() {}
181 func (*Variable_Text) isVariable_Contents() {}
183 func (m *Variable) GetContents() isVariable_Contents {
190 func (m *Variable) GetName() string {
197 func (m *Variable) GetValue() []byte {
198 if x, ok := m.GetContents().(*Variable_Value); ok {
204 func (m *Variable) GetText() string {
205 if x, ok := m.GetContents().(*Variable_Text); ok {
211 func (m *Variable) GetUpdateTime() *google_protobuf2.Timestamp {
218 func (m *Variable) GetState() VariableState {
222 return VariableState_VARIABLE_STATE_UNSPECIFIED
225 // XXX_OneofFuncs is for the internal use of the proto package.
226 func (*Variable) 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{}) {
227 return _Variable_OneofMarshaler, _Variable_OneofUnmarshaler, _Variable_OneofSizer, []interface{}{
228 (*Variable_Value)(nil),
229 (*Variable_Text)(nil),
233 func _Variable_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
236 switch x := m.Contents.(type) {
237 case *Variable_Value:
238 b.EncodeVarint(2<<3 | proto.WireBytes)
239 b.EncodeRawBytes(x.Value)
241 b.EncodeVarint(5<<3 | proto.WireBytes)
242 b.EncodeStringBytes(x.Text)
245 return fmt.Errorf("Variable.Contents has unexpected type %T", x)
250 func _Variable_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
253 case 2: // contents.value
254 if wire != proto.WireBytes {
255 return true, proto.ErrInternalBadWireType
257 x, err := b.DecodeRawBytes(true)
258 m.Contents = &Variable_Value{x}
260 case 5: // contents.text
261 if wire != proto.WireBytes {
262 return true, proto.ErrInternalBadWireType
264 x, err := b.DecodeStringBytes()
265 m.Contents = &Variable_Text{x}
272 func _Variable_OneofSizer(msg proto.Message) (n int) {
275 switch x := m.Contents.(type) {
276 case *Variable_Value:
277 n += proto.SizeVarint(2<<3 | proto.WireBytes)
278 n += proto.SizeVarint(uint64(len(x.Value)))
281 n += proto.SizeVarint(5<<3 | proto.WireBytes)
282 n += proto.SizeVarint(uint64(len(x.Text)))
286 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
291 // The condition that a Waiter resource is waiting for.
292 type EndCondition struct {
293 // The condition oneof holds the available condition types for this
294 // EndCondition. Currently, the only available type is Cardinality.
296 // Types that are valid to be assigned to Condition:
297 // *EndCondition_Cardinality_
298 Condition isEndCondition_Condition `protobuf_oneof:"condition"`
301 func (m *EndCondition) Reset() { *m = EndCondition{} }
302 func (m *EndCondition) String() string { return proto.CompactTextString(m) }
303 func (*EndCondition) ProtoMessage() {}
304 func (*EndCondition) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
306 type isEndCondition_Condition interface {
307 isEndCondition_Condition()
310 type EndCondition_Cardinality_ struct {
311 Cardinality *EndCondition_Cardinality `protobuf:"bytes,1,opt,name=cardinality,oneof"`
314 func (*EndCondition_Cardinality_) isEndCondition_Condition() {}
316 func (m *EndCondition) GetCondition() isEndCondition_Condition {
323 func (m *EndCondition) GetCardinality() *EndCondition_Cardinality {
324 if x, ok := m.GetCondition().(*EndCondition_Cardinality_); ok {
330 // XXX_OneofFuncs is for the internal use of the proto package.
331 func (*EndCondition) 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{}) {
332 return _EndCondition_OneofMarshaler, _EndCondition_OneofUnmarshaler, _EndCondition_OneofSizer, []interface{}{
333 (*EndCondition_Cardinality_)(nil),
337 func _EndCondition_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
338 m := msg.(*EndCondition)
340 switch x := m.Condition.(type) {
341 case *EndCondition_Cardinality_:
342 b.EncodeVarint(1<<3 | proto.WireBytes)
343 if err := b.EncodeMessage(x.Cardinality); err != nil {
348 return fmt.Errorf("EndCondition.Condition has unexpected type %T", x)
353 func _EndCondition_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
354 m := msg.(*EndCondition)
356 case 1: // condition.cardinality
357 if wire != proto.WireBytes {
358 return true, proto.ErrInternalBadWireType
360 msg := new(EndCondition_Cardinality)
361 err := b.DecodeMessage(msg)
362 m.Condition = &EndCondition_Cardinality_{msg}
369 func _EndCondition_OneofSizer(msg proto.Message) (n int) {
370 m := msg.(*EndCondition)
372 switch x := m.Condition.(type) {
373 case *EndCondition_Cardinality_:
374 s := proto.Size(x.Cardinality)
375 n += proto.SizeVarint(1<<3 | proto.WireBytes)
376 n += proto.SizeVarint(uint64(s))
380 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
385 // A Cardinality condition for the Waiter resource. A cardinality condition is
386 // met when the number of variables under a specified path prefix reaches a
387 // predefined number. For example, if you set a Cardinality condition where
388 // the `path` is set to `/foo` and the number of paths is set to 2, the
389 // following variables would meet the condition in a RuntimeConfig resource:
391 // + `/foo/variable1 = "value1"`
392 // + `/foo/variable2 = "value2"`
393 // + `/bar/variable3 = "value3"`
395 // It would not would not satisify the same condition with the `number` set to
396 // 3, however, because there is only 2 paths that start with `/foo`.
397 // Cardinality conditions are recursive; all subtrees under the specific
398 // path prefix are counted.
399 type EndCondition_Cardinality struct {
400 // The root of the variable subtree to monitor. For example, `/foo`.
401 Path string `protobuf:"bytes,1,opt,name=path" json:"path,omitempty"`
402 // The number variables under the `path` that must exist to meet this
403 // condition. Defaults to 1 if not specified.
404 Number int32 `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
407 func (m *EndCondition_Cardinality) Reset() { *m = EndCondition_Cardinality{} }
408 func (m *EndCondition_Cardinality) String() string { return proto.CompactTextString(m) }
409 func (*EndCondition_Cardinality) ProtoMessage() {}
410 func (*EndCondition_Cardinality) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
412 func (m *EndCondition_Cardinality) GetPath() string {
419 func (m *EndCondition_Cardinality) GetNumber() int32 {
426 // A Waiter resource waits for some end condition within a RuntimeConfig resource
427 // to be met before it returns. For example, assume you have a distributed
428 // system where each node writes to a Variable resource indidicating the node's
429 // readiness as part of the startup process.
431 // You then configure a Waiter resource with the success condition set to wait
432 // until some number of nodes have checked in. Afterwards, your application
433 // runs some arbitrary code after the condition has been met and the waiter
434 // returns successfully.
436 // Once created, a Waiter resource is immutable.
438 // To learn more about using waiters, read the
439 // [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
442 // The name of the Waiter resource, in the format:
444 // projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]
446 // The `[PROJECT_ID]` must be a valid Google Cloud project ID,
447 // the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the
448 // `[WAITER_NAME]` must match RFC 1035 segment specification, and the length
449 // of `[WAITER_NAME]` must be less than 64 bytes.
451 // After you create a Waiter resource, you cannot change the resource name.
452 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
453 // [Required] Specifies the timeout of the waiter in seconds, beginning from
454 // the instant that `waiters().create` method is called. If this time elapses
455 // before the success or failure conditions are met, the waiter fails and sets
456 // the `error` code to `DEADLINE_EXCEEDED`.
457 Timeout *google_protobuf1.Duration `protobuf:"bytes,2,opt,name=timeout" json:"timeout,omitempty"`
458 // [Optional] The failure condition of this waiter. If this condition is met,
459 // `done` will be set to `true` and the `error` code will be set to `ABORTED`.
460 // The failure condition takes precedence over the success condition. If both
461 // conditions are met, a failure will be indicated. This value is optional; if
462 // no failure condition is set, the only failure scenario will be a timeout.
463 Failure *EndCondition `protobuf:"bytes,3,opt,name=failure" json:"failure,omitempty"`
464 // [Required] The success condition. If this condition is met, `done` will be
465 // set to `true` and the `error` value will remain unset. The failure condition
466 // takes precedence over the success condition. If both conditions are met, a
467 // failure will be indicated.
468 Success *EndCondition `protobuf:"bytes,4,opt,name=success" json:"success,omitempty"`
469 // [Output Only] The instant at which this Waiter resource was created. Adding
470 // the value of `timeout` to this instant yields the timeout deadline for the
472 CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
473 // [Output Only] If the value is `false`, it means the waiter is still waiting
474 // for one of its conditions to be met.
476 // If true, the waiter has finished. If the waiter finished due to a timeout
477 // or failure, `error` will be set.
478 Done bool `protobuf:"varint,6,opt,name=done" json:"done,omitempty"`
479 // [Output Only] If the waiter ended due to a failure or timeout, this value
481 Error *google_rpc.Status `protobuf:"bytes,7,opt,name=error" json:"error,omitempty"`
484 func (m *Waiter) Reset() { *m = Waiter{} }
485 func (m *Waiter) String() string { return proto.CompactTextString(m) }
486 func (*Waiter) ProtoMessage() {}
487 func (*Waiter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
489 func (m *Waiter) GetName() string {
496 func (m *Waiter) GetTimeout() *google_protobuf1.Duration {
503 func (m *Waiter) GetFailure() *EndCondition {
510 func (m *Waiter) GetSuccess() *EndCondition {
517 func (m *Waiter) GetCreateTime() *google_protobuf2.Timestamp {
524 func (m *Waiter) GetDone() bool {
531 func (m *Waiter) GetError() *google_rpc.Status {
539 proto.RegisterType((*RuntimeConfig)(nil), "google.cloud.runtimeconfig.v1beta1.RuntimeConfig")
540 proto.RegisterType((*Variable)(nil), "google.cloud.runtimeconfig.v1beta1.Variable")
541 proto.RegisterType((*EndCondition)(nil), "google.cloud.runtimeconfig.v1beta1.EndCondition")
542 proto.RegisterType((*EndCondition_Cardinality)(nil), "google.cloud.runtimeconfig.v1beta1.EndCondition.Cardinality")
543 proto.RegisterType((*Waiter)(nil), "google.cloud.runtimeconfig.v1beta1.Waiter")
544 proto.RegisterEnum("google.cloud.runtimeconfig.v1beta1.VariableState", VariableState_name, VariableState_value)
547 func init() { proto.RegisterFile("google/cloud/runtimeconfig/v1beta1/resources.proto", fileDescriptor0) }
549 var fileDescriptor0 = []byte{
550 // 615 bytes of a gzipped FileDescriptorProto
551 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0x5d, 0x6f, 0xd3, 0x3c,
552 0x14, 0xc7, 0x9b, 0x3e, 0x7d, 0xd9, 0x4e, 0xb6, 0x47, 0x93, 0x85, 0x46, 0xa8, 0xd0, 0xa8, 0x7a,
553 0x81, 0x2a, 0x2e, 0x12, 0xda, 0x5d, 0xa1, 0x71, 0xd3, 0x97, 0xb0, 0x15, 0x4d, 0x30, 0xb9, 0xdd,
554 0x90, 0xb8, 0x19, 0xae, 0xe3, 0x85, 0x48, 0xa9, 0x1d, 0x39, 0xce, 0x04, 0xdf, 0x86, 0x6b, 0x3e,
555 0x01, 0x9f, 0x86, 0x2b, 0x3e, 0x08, 0xb2, 0xe3, 0x40, 0x0b, 0x13, 0x1b, 0xdc, 0xf9, 0xf8, 0xfc,
556 0xcf, 0xef, 0xbc, 0xf8, 0x24, 0x30, 0x8c, 0x85, 0x88, 0x53, 0x16, 0xd0, 0x54, 0x14, 0x51, 0x20,
557 0x0b, 0xae, 0x92, 0x15, 0xa3, 0x82, 0x5f, 0x25, 0x71, 0x70, 0x3d, 0x58, 0x32, 0x45, 0x06, 0x81,
558 0x64, 0xb9, 0x28, 0x24, 0x65, 0xb9, 0x9f, 0x49, 0xa1, 0x04, 0xea, 0x95, 0x31, 0xbe, 0x89, 0xf1,
559 0x37, 0x62, 0x7c, 0x1b, 0xd3, 0x79, 0x68, 0xb9, 0x24, 0x4b, 0x02, 0xc2, 0xb9, 0x50, 0x44, 0x25,
560 0x82, 0x5b, 0x42, 0xe7, 0xc0, 0x7a, 0x8d, 0xb5, 0x2c, 0xae, 0x82, 0xa8, 0x90, 0x46, 0x60, 0xfd,
561 0x8f, 0x7e, 0xf5, 0xeb, 0x0c, 0xb9, 0x22, 0xab, 0xcc, 0x0a, 0xee, 0x5b, 0x81, 0xcc, 0x68, 0x90,
562 0x2b, 0xa2, 0x0a, 0x4b, 0xee, 0x85, 0xb0, 0x8b, 0xcb, 0x82, 0x26, 0xa6, 0x20, 0x84, 0xa0, 0xc1,
563 0xc9, 0x8a, 0x79, 0x4e, 0xd7, 0xe9, 0x6f, 0x63, 0x73, 0x46, 0x5d, 0x70, 0x23, 0x96, 0x53, 0x99,
564 0x64, 0x3a, 0xa7, 0x57, 0x37, 0xae, 0xf5, 0xab, 0xde, 0x57, 0x07, 0xb6, 0x2e, 0x88, 0x4c, 0xc8,
565 0x32, 0x65, 0x37, 0x22, 0xf6, 0xa1, 0x79, 0x4d, 0xd2, 0x82, 0x99, 0xe0, 0x9d, 0x93, 0x1a, 0x2e,
566 0x4d, 0x74, 0x0f, 0x1a, 0x8a, 0x7d, 0x50, 0x5e, 0x53, 0x6b, 0x4f, 0x6a, 0xd8, 0x58, 0xe8, 0x08,
567 0xdc, 0x22, 0x8b, 0x88, 0x62, 0x97, 0xba, 0x32, 0xef, 0xbf, 0xae, 0xd3, 0x77, 0x87, 0x1d, 0xdf,
568 0xce, 0xb1, 0xea, 0xd2, 0x5f, 0x54, 0x5d, 0x62, 0x28, 0xe5, 0xfa, 0x02, 0x1d, 0x43, 0x53, 0xb7,
569 0xc8, 0xbc, 0x46, 0xd7, 0xe9, 0xff, 0x3f, 0x1c, 0xf8, 0xb7, 0x8f, 0xdf, 0xaf, 0x6a, 0x9f, 0xeb,
570 0x40, 0x5c, 0xc6, 0x8f, 0x01, 0xb6, 0xa8, 0xe0, 0x8a, 0x71, 0x95, 0xf7, 0xbe, 0x38, 0xb0, 0x13,
571 0xf2, 0x68, 0x22, 0x78, 0x94, 0xe8, 0x8e, 0xd1, 0x3b, 0x70, 0x29, 0x91, 0x51, 0xc2, 0x49, 0x9a,
572 0xa8, 0x8f, 0xa6, 0x57, 0x77, 0xf8, 0xfc, 0x2e, 0xb9, 0xd6, 0x31, 0xfe, 0xe4, 0x27, 0xe3, 0xa4,
573 0x86, 0xd7, 0x91, 0x9d, 0x67, 0xe0, 0xae, 0x79, 0xf5, 0x54, 0x33, 0xa2, 0xde, 0x57, 0x53, 0xd5,
574 0x67, 0xb4, 0x0f, 0x2d, 0x5e, 0xac, 0x96, 0x4c, 0x9a, 0xb1, 0x36, 0xb1, 0xb5, 0xc6, 0x2e, 0x6c,
575 0xd3, 0x2a, 0x45, 0xef, 0x5b, 0x1d, 0x5a, 0x6f, 0x48, 0xa2, 0x98, 0xbc, 0xf1, 0x65, 0x0e, 0xa1,
576 0xad, 0x8b, 0x14, 0x85, 0x32, 0x10, 0x77, 0xf8, 0xe0, 0xb7, 0x39, 0x4f, 0xed, 0xb6, 0xe1, 0x4a,
577 0x89, 0x5e, 0x42, 0xfb, 0x8a, 0x24, 0x69, 0x21, 0xab, 0xc7, 0x79, 0xfa, 0xb7, 0x9d, 0xe3, 0x0a,
578 0xa0, 0x59, 0x79, 0x41, 0x29, 0xcb, 0x73, 0xf3, 0x62, 0xff, 0xc4, 0xb2, 0x00, 0xbd, 0x38, 0x54,
579 0xb2, 0x1f, 0x8b, 0xd3, 0xbc, 0x7d, 0x71, 0x4a, 0xb9, 0x59, 0x1c, 0x04, 0x8d, 0x48, 0x70, 0xe6,
580 0xb5, 0xba, 0x4e, 0x7f, 0x0b, 0x9b, 0x33, 0xea, 0x43, 0x93, 0x49, 0x29, 0xa4, 0xd7, 0x36, 0x28,
581 0x54, 0xa1, 0x64, 0x46, 0xfd, 0xb9, 0xf9, 0x90, 0x70, 0x29, 0x78, 0x32, 0x83, 0xdd, 0x8d, 0x2d,
582 0x42, 0x07, 0xd0, 0xb9, 0x18, 0xe1, 0xd9, 0x68, 0x7c, 0x1a, 0x5e, 0xce, 0x17, 0xa3, 0x45, 0x78,
583 0x79, 0xfe, 0x6a, 0x7e, 0x16, 0x4e, 0x66, 0x2f, 0x66, 0xe1, 0x74, 0xaf, 0x86, 0x5c, 0x68, 0x9f,
584 0x9f, 0x4d, 0x47, 0x8b, 0x70, 0xba, 0xe7, 0x68, 0x63, 0x1a, 0x9e, 0x86, 0xda, 0xa8, 0x8f, 0x3f,
585 0x39, 0xf0, 0x98, 0x8a, 0xd5, 0x1d, 0xc6, 0x70, 0xe6, 0xbc, 0x7d, 0x6d, 0x55, 0xb1, 0x48, 0x09,
586 0x8f, 0x7d, 0x21, 0xe3, 0x20, 0x66, 0xdc, 0xb4, 0x1a, 0x94, 0x2e, 0x92, 0x25, 0xf9, 0x9f, 0x7e,
587 0x58, 0x47, 0x1b, 0xb7, 0x9f, 0xeb, 0xbd, 0xe3, 0x92, 0x38, 0x31, 0x79, 0x37, 0x7e, 0x0f, 0xfe,
588 0xc5, 0x60, 0xac, 0x43, 0x96, 0x2d, 0x93, 0xe0, 0xf0, 0x7b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x61,
589 0xe4, 0x09, 0x63, 0x10, 0x05, 0x00, 0x00,