1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/bigtable/admin/table/v1/bigtable_table_data.proto
3
4package table // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import duration "github.com/golang/protobuf/ptypes/duration"
10import longrunning "google.golang.org/genproto/googleapis/longrunning"
11
12// Reference imports to suppress errors if they are not otherwise used.
13var _ = proto.Marshal
14var _ = fmt.Errorf
15var _ = math.Inf
16
17// This is a compile-time assertion to ensure that this generated file
18// is compatible with the proto package it is being compiled against.
19// A compilation error at this line likely means your copy of the
20// proto package needs to be updated.
21const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
22
23type Table_TimestampGranularity int32
24
25const (
26	Table_MILLIS Table_TimestampGranularity = 0
27)
28
29var Table_TimestampGranularity_name = map[int32]string{
30	0: "MILLIS",
31}
32var Table_TimestampGranularity_value = map[string]int32{
33	"MILLIS": 0,
34}
35
36func (x Table_TimestampGranularity) String() string {
37	return proto.EnumName(Table_TimestampGranularity_name, int32(x))
38}
39func (Table_TimestampGranularity) EnumDescriptor() ([]byte, []int) {
40	return fileDescriptor_bigtable_table_data_021ea70d03a8dd36, []int{0, 0}
41}
42
43// A collection of user data indexed by row, column, and timestamp.
44// Each table is served using the resources of its parent cluster.
45type Table struct {
46	// A unique identifier of the form
47	// <cluster_name>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*
48	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
49	// If this Table is in the process of being created, the Operation used to
50	// track its progress. As long as this operation is present, the Table will
51	// not accept any Table Admin or Read/Write requests.
52	CurrentOperation *longrunning.Operation `protobuf:"bytes,2,opt,name=current_operation,json=currentOperation,proto3" json:"current_operation,omitempty"`
53	// The column families configured for this table, mapped by column family id.
54	ColumnFamilies map[string]*ColumnFamily `protobuf:"bytes,3,rep,name=column_families,json=columnFamilies,proto3" json:"column_families,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
55	// The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in
56	// this table. Timestamps not matching the granularity will be rejected.
57	// Cannot be changed once the table is created.
58	Granularity          Table_TimestampGranularity `protobuf:"varint,4,opt,name=granularity,proto3,enum=google.bigtable.admin.table.v1.Table_TimestampGranularity" json:"granularity,omitempty"`
59	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
60	XXX_unrecognized     []byte                     `json:"-"`
61	XXX_sizecache        int32                      `json:"-"`
62}
63
64func (m *Table) Reset()         { *m = Table{} }
65func (m *Table) String() string { return proto.CompactTextString(m) }
66func (*Table) ProtoMessage()    {}
67func (*Table) Descriptor() ([]byte, []int) {
68	return fileDescriptor_bigtable_table_data_021ea70d03a8dd36, []int{0}
69}
70func (m *Table) XXX_Unmarshal(b []byte) error {
71	return xxx_messageInfo_Table.Unmarshal(m, b)
72}
73func (m *Table) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
74	return xxx_messageInfo_Table.Marshal(b, m, deterministic)
75}
76func (dst *Table) XXX_Merge(src proto.Message) {
77	xxx_messageInfo_Table.Merge(dst, src)
78}
79func (m *Table) XXX_Size() int {
80	return xxx_messageInfo_Table.Size(m)
81}
82func (m *Table) XXX_DiscardUnknown() {
83	xxx_messageInfo_Table.DiscardUnknown(m)
84}
85
86var xxx_messageInfo_Table proto.InternalMessageInfo
87
88func (m *Table) GetName() string {
89	if m != nil {
90		return m.Name
91	}
92	return ""
93}
94
95func (m *Table) GetCurrentOperation() *longrunning.Operation {
96	if m != nil {
97		return m.CurrentOperation
98	}
99	return nil
100}
101
102func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
103	if m != nil {
104		return m.ColumnFamilies
105	}
106	return nil
107}
108
109func (m *Table) GetGranularity() Table_TimestampGranularity {
110	if m != nil {
111		return m.Granularity
112	}
113	return Table_MILLIS
114}
115
116// A set of columns within a table which share a common configuration.
117type ColumnFamily struct {
118	// A unique identifier of the form <table_name>/columnFamilies/[-_.a-zA-Z0-9]+
119	// The last segment is the same as the "name" field in
120	// google.bigtable.v1.Family.
121	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
122	// Garbage collection expression specified by the following grammar:
123	//   GC = EXPR
124	//      | "" ;
125	//   EXPR = EXPR, "||", EXPR              (* lowest precedence *)
126	//        | EXPR, "&&", EXPR
127	//        | "(", EXPR, ")"                (* highest precedence *)
128	//        | PROP ;
129	//   PROP = "version() >", NUM32
130	//        | "age() >", NUM64, [ UNIT ] ;
131	//   NUM32 = non-zero-digit { digit } ;    (* # NUM32 <= 2^32 - 1 *)
132	//   NUM64 = non-zero-digit { digit } ;    (* # NUM64 <= 2^63 - 1 *)
133	//   UNIT =  "d" | "h" | "m"  (* d=days, h=hours, m=minutes, else micros *)
134	// GC expressions can be up to 500 characters in length
135	//
136	// The different types of PROP are defined as follows:
137	//   version() - cell index, counting from most recent and starting at 1
138	//   age() - age of the cell (current time minus cell timestamp)
139	//
140	// Example: "version() > 3 || (age() > 3d && version() > 1)"
141	//   drop cells beyond the most recent three, and drop cells older than three
142	//   days unless they're the most recent cell in the row/column
143	//
144	// Garbage collection executes opportunistically in the background, and so
145	// it's possible for reads to return a cell even if it matches the active GC
146	// expression for its family.
147	GcExpression string `protobuf:"bytes,2,opt,name=gc_expression,json=gcExpression,proto3" json:"gc_expression,omitempty"`
148	// Garbage collection rule specified as a protobuf.
149	// Supersedes `gc_expression`.
150	// Must serialize to at most 500 bytes.
151	//
152	// NOTE: Garbage collection executes opportunistically in the background, and
153	// so it's possible for reads to return a cell even if it matches the active
154	// GC expression for its family.
155	GcRule               *GcRule  `protobuf:"bytes,3,opt,name=gc_rule,json=gcRule,proto3" json:"gc_rule,omitempty"`
156	XXX_NoUnkeyedLiteral struct{} `json:"-"`
157	XXX_unrecognized     []byte   `json:"-"`
158	XXX_sizecache        int32    `json:"-"`
159}
160
161func (m *ColumnFamily) Reset()         { *m = ColumnFamily{} }
162func (m *ColumnFamily) String() string { return proto.CompactTextString(m) }
163func (*ColumnFamily) ProtoMessage()    {}
164func (*ColumnFamily) Descriptor() ([]byte, []int) {
165	return fileDescriptor_bigtable_table_data_021ea70d03a8dd36, []int{1}
166}
167func (m *ColumnFamily) XXX_Unmarshal(b []byte) error {
168	return xxx_messageInfo_ColumnFamily.Unmarshal(m, b)
169}
170func (m *ColumnFamily) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
171	return xxx_messageInfo_ColumnFamily.Marshal(b, m, deterministic)
172}
173func (dst *ColumnFamily) XXX_Merge(src proto.Message) {
174	xxx_messageInfo_ColumnFamily.Merge(dst, src)
175}
176func (m *ColumnFamily) XXX_Size() int {
177	return xxx_messageInfo_ColumnFamily.Size(m)
178}
179func (m *ColumnFamily) XXX_DiscardUnknown() {
180	xxx_messageInfo_ColumnFamily.DiscardUnknown(m)
181}
182
183var xxx_messageInfo_ColumnFamily proto.InternalMessageInfo
184
185func (m *ColumnFamily) GetName() string {
186	if m != nil {
187		return m.Name
188	}
189	return ""
190}
191
192func (m *ColumnFamily) GetGcExpression() string {
193	if m != nil {
194		return m.GcExpression
195	}
196	return ""
197}
198
199func (m *ColumnFamily) GetGcRule() *GcRule {
200	if m != nil {
201		return m.GcRule
202	}
203	return nil
204}
205
206// Rule for determining which cells to delete during garbage collection.
207type GcRule struct {
208	// Types that are valid to be assigned to Rule:
209	//	*GcRule_MaxNumVersions
210	//	*GcRule_MaxAge
211	//	*GcRule_Intersection_
212	//	*GcRule_Union_
213	Rule                 isGcRule_Rule `protobuf_oneof:"rule"`
214	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
215	XXX_unrecognized     []byte        `json:"-"`
216	XXX_sizecache        int32         `json:"-"`
217}
218
219func (m *GcRule) Reset()         { *m = GcRule{} }
220func (m *GcRule) String() string { return proto.CompactTextString(m) }
221func (*GcRule) ProtoMessage()    {}
222func (*GcRule) Descriptor() ([]byte, []int) {
223	return fileDescriptor_bigtable_table_data_021ea70d03a8dd36, []int{2}
224}
225func (m *GcRule) XXX_Unmarshal(b []byte) error {
226	return xxx_messageInfo_GcRule.Unmarshal(m, b)
227}
228func (m *GcRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
229	return xxx_messageInfo_GcRule.Marshal(b, m, deterministic)
230}
231func (dst *GcRule) XXX_Merge(src proto.Message) {
232	xxx_messageInfo_GcRule.Merge(dst, src)
233}
234func (m *GcRule) XXX_Size() int {
235	return xxx_messageInfo_GcRule.Size(m)
236}
237func (m *GcRule) XXX_DiscardUnknown() {
238	xxx_messageInfo_GcRule.DiscardUnknown(m)
239}
240
241var xxx_messageInfo_GcRule proto.InternalMessageInfo
242
243type isGcRule_Rule interface {
244	isGcRule_Rule()
245}
246
247type GcRule_MaxNumVersions struct {
248	MaxNumVersions int32 `protobuf:"varint,1,opt,name=max_num_versions,json=maxNumVersions,proto3,oneof"`
249}
250
251type GcRule_MaxAge struct {
252	MaxAge *duration.Duration `protobuf:"bytes,2,opt,name=max_age,json=maxAge,proto3,oneof"`
253}
254
255type GcRule_Intersection_ struct {
256	Intersection *GcRule_Intersection `protobuf:"bytes,3,opt,name=intersection,proto3,oneof"`
257}
258
259type GcRule_Union_ struct {
260	Union *GcRule_Union `protobuf:"bytes,4,opt,name=union,proto3,oneof"`
261}
262
263func (*GcRule_MaxNumVersions) isGcRule_Rule() {}
264
265func (*GcRule_MaxAge) isGcRule_Rule() {}
266
267func (*GcRule_Intersection_) isGcRule_Rule() {}
268
269func (*GcRule_Union_) isGcRule_Rule() {}
270
271func (m *GcRule) GetRule() isGcRule_Rule {
272	if m != nil {
273		return m.Rule
274	}
275	return nil
276}
277
278func (m *GcRule) GetMaxNumVersions() int32 {
279	if x, ok := m.GetRule().(*GcRule_MaxNumVersions); ok {
280		return x.MaxNumVersions
281	}
282	return 0
283}
284
285func (m *GcRule) GetMaxAge() *duration.Duration {
286	if x, ok := m.GetRule().(*GcRule_MaxAge); ok {
287		return x.MaxAge
288	}
289	return nil
290}
291
292func (m *GcRule) GetIntersection() *GcRule_Intersection {
293	if x, ok := m.GetRule().(*GcRule_Intersection_); ok {
294		return x.Intersection
295	}
296	return nil
297}
298
299func (m *GcRule) GetUnion() *GcRule_Union {
300	if x, ok := m.GetRule().(*GcRule_Union_); ok {
301		return x.Union
302	}
303	return nil
304}
305
306// XXX_OneofFuncs is for the internal use of the proto package.
307func (*GcRule) 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{}) {
308	return _GcRule_OneofMarshaler, _GcRule_OneofUnmarshaler, _GcRule_OneofSizer, []interface{}{
309		(*GcRule_MaxNumVersions)(nil),
310		(*GcRule_MaxAge)(nil),
311		(*GcRule_Intersection_)(nil),
312		(*GcRule_Union_)(nil),
313	}
314}
315
316func _GcRule_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
317	m := msg.(*GcRule)
318	// rule
319	switch x := m.Rule.(type) {
320	case *GcRule_MaxNumVersions:
321		b.EncodeVarint(1<<3 | proto.WireVarint)
322		b.EncodeVarint(uint64(x.MaxNumVersions))
323	case *GcRule_MaxAge:
324		b.EncodeVarint(2<<3 | proto.WireBytes)
325		if err := b.EncodeMessage(x.MaxAge); err != nil {
326			return err
327		}
328	case *GcRule_Intersection_:
329		b.EncodeVarint(3<<3 | proto.WireBytes)
330		if err := b.EncodeMessage(x.Intersection); err != nil {
331			return err
332		}
333	case *GcRule_Union_:
334		b.EncodeVarint(4<<3 | proto.WireBytes)
335		if err := b.EncodeMessage(x.Union); err != nil {
336			return err
337		}
338	case nil:
339	default:
340		return fmt.Errorf("GcRule.Rule has unexpected type %T", x)
341	}
342	return nil
343}
344
345func _GcRule_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
346	m := msg.(*GcRule)
347	switch tag {
348	case 1: // rule.max_num_versions
349		if wire != proto.WireVarint {
350			return true, proto.ErrInternalBadWireType
351		}
352		x, err := b.DecodeVarint()
353		m.Rule = &GcRule_MaxNumVersions{int32(x)}
354		return true, err
355	case 2: // rule.max_age
356		if wire != proto.WireBytes {
357			return true, proto.ErrInternalBadWireType
358		}
359		msg := new(duration.Duration)
360		err := b.DecodeMessage(msg)
361		m.Rule = &GcRule_MaxAge{msg}
362		return true, err
363	case 3: // rule.intersection
364		if wire != proto.WireBytes {
365			return true, proto.ErrInternalBadWireType
366		}
367		msg := new(GcRule_Intersection)
368		err := b.DecodeMessage(msg)
369		m.Rule = &GcRule_Intersection_{msg}
370		return true, err
371	case 4: // rule.union
372		if wire != proto.WireBytes {
373			return true, proto.ErrInternalBadWireType
374		}
375		msg := new(GcRule_Union)
376		err := b.DecodeMessage(msg)
377		m.Rule = &GcRule_Union_{msg}
378		return true, err
379	default:
380		return false, nil
381	}
382}
383
384func _GcRule_OneofSizer(msg proto.Message) (n int) {
385	m := msg.(*GcRule)
386	// rule
387	switch x := m.Rule.(type) {
388	case *GcRule_MaxNumVersions:
389		n += 1 // tag and wire
390		n += proto.SizeVarint(uint64(x.MaxNumVersions))
391	case *GcRule_MaxAge:
392		s := proto.Size(x.MaxAge)
393		n += 1 // tag and wire
394		n += proto.SizeVarint(uint64(s))
395		n += s
396	case *GcRule_Intersection_:
397		s := proto.Size(x.Intersection)
398		n += 1 // tag and wire
399		n += proto.SizeVarint(uint64(s))
400		n += s
401	case *GcRule_Union_:
402		s := proto.Size(x.Union)
403		n += 1 // tag and wire
404		n += proto.SizeVarint(uint64(s))
405		n += s
406	case nil:
407	default:
408		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
409	}
410	return n
411}
412
413// A GcRule which deletes cells matching all of the given rules.
414type GcRule_Intersection struct {
415	// Only delete cells which would be deleted by every element of `rules`.
416	Rules                []*GcRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
417	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
418	XXX_unrecognized     []byte    `json:"-"`
419	XXX_sizecache        int32     `json:"-"`
420}
421
422func (m *GcRule_Intersection) Reset()         { *m = GcRule_Intersection{} }
423func (m *GcRule_Intersection) String() string { return proto.CompactTextString(m) }
424func (*GcRule_Intersection) ProtoMessage()    {}
425func (*GcRule_Intersection) Descriptor() ([]byte, []int) {
426	return fileDescriptor_bigtable_table_data_021ea70d03a8dd36, []int{2, 0}
427}
428func (m *GcRule_Intersection) XXX_Unmarshal(b []byte) error {
429	return xxx_messageInfo_GcRule_Intersection.Unmarshal(m, b)
430}
431func (m *GcRule_Intersection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
432	return xxx_messageInfo_GcRule_Intersection.Marshal(b, m, deterministic)
433}
434func (dst *GcRule_Intersection) XXX_Merge(src proto.Message) {
435	xxx_messageInfo_GcRule_Intersection.Merge(dst, src)
436}
437func (m *GcRule_Intersection) XXX_Size() int {
438	return xxx_messageInfo_GcRule_Intersection.Size(m)
439}
440func (m *GcRule_Intersection) XXX_DiscardUnknown() {
441	xxx_messageInfo_GcRule_Intersection.DiscardUnknown(m)
442}
443
444var xxx_messageInfo_GcRule_Intersection proto.InternalMessageInfo
445
446func (m *GcRule_Intersection) GetRules() []*GcRule {
447	if m != nil {
448		return m.Rules
449	}
450	return nil
451}
452
453// A GcRule which deletes cells matching any of the given rules.
454type GcRule_Union struct {
455	// Delete cells which would be deleted by any element of `rules`.
456	Rules                []*GcRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
457	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
458	XXX_unrecognized     []byte    `json:"-"`
459	XXX_sizecache        int32     `json:"-"`
460}
461
462func (m *GcRule_Union) Reset()         { *m = GcRule_Union{} }
463func (m *GcRule_Union) String() string { return proto.CompactTextString(m) }
464func (*GcRule_Union) ProtoMessage()    {}
465func (*GcRule_Union) Descriptor() ([]byte, []int) {
466	return fileDescriptor_bigtable_table_data_021ea70d03a8dd36, []int{2, 1}
467}
468func (m *GcRule_Union) XXX_Unmarshal(b []byte) error {
469	return xxx_messageInfo_GcRule_Union.Unmarshal(m, b)
470}
471func (m *GcRule_Union) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
472	return xxx_messageInfo_GcRule_Union.Marshal(b, m, deterministic)
473}
474func (dst *GcRule_Union) XXX_Merge(src proto.Message) {
475	xxx_messageInfo_GcRule_Union.Merge(dst, src)
476}
477func (m *GcRule_Union) XXX_Size() int {
478	return xxx_messageInfo_GcRule_Union.Size(m)
479}
480func (m *GcRule_Union) XXX_DiscardUnknown() {
481	xxx_messageInfo_GcRule_Union.DiscardUnknown(m)
482}
483
484var xxx_messageInfo_GcRule_Union proto.InternalMessageInfo
485
486func (m *GcRule_Union) GetRules() []*GcRule {
487	if m != nil {
488		return m.Rules
489	}
490	return nil
491}
492
493func init() {
494	proto.RegisterType((*Table)(nil), "google.bigtable.admin.table.v1.Table")
495	proto.RegisterMapType((map[string]*ColumnFamily)(nil), "google.bigtable.admin.table.v1.Table.ColumnFamiliesEntry")
496	proto.RegisterType((*ColumnFamily)(nil), "google.bigtable.admin.table.v1.ColumnFamily")
497	proto.RegisterType((*GcRule)(nil), "google.bigtable.admin.table.v1.GcRule")
498	proto.RegisterType((*GcRule_Intersection)(nil), "google.bigtable.admin.table.v1.GcRule.Intersection")
499	proto.RegisterType((*GcRule_Union)(nil), "google.bigtable.admin.table.v1.GcRule.Union")
500	proto.RegisterEnum("google.bigtable.admin.table.v1.Table_TimestampGranularity", Table_TimestampGranularity_name, Table_TimestampGranularity_value)
501}
502
503func init() {
504	proto.RegisterFile("google/bigtable/admin/table/v1/bigtable_table_data.proto", fileDescriptor_bigtable_table_data_021ea70d03a8dd36)
505}
506
507var fileDescriptor_bigtable_table_data_021ea70d03a8dd36 = []byte{
508	// 579 bytes of a gzipped FileDescriptorProto
509	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x61, 0x6b, 0xd3, 0x40,
510	0x18, 0xc7, 0x9b, 0xa5, 0xed, 0xd8, 0xb3, 0x3a, 0xeb, 0x29, 0x52, 0x0b, 0x4a, 0xc9, 0x40, 0x8a,
511	0xc8, 0x85, 0x6d, 0xbe, 0x98, 0x53, 0x10, 0xbb, 0xcd, 0x6d, 0x32, 0x75, 0xc4, 0x29, 0x28, 0x42,
512	0xb8, 0x66, 0xb7, 0x23, 0x98, 0xbb, 0x2b, 0x97, 0x5c, 0x69, 0x5f, 0xfb, 0xc6, 0x8f, 0xe2, 0xa7,
513	0xf0, 0xb3, 0x49, 0xee, 0x2e, 0x35, 0x83, 0xe9, 0x26, 0xbe, 0x49, 0x9e, 0x3c, 0xf7, 0xfc, 0x7f,
514	0xf7, 0xcf, 0xf3, 0x5c, 0x02, 0xdb, 0x4c, 0x4a, 0x96, 0xd1, 0x70, 0x9c, 0xb2, 0x82, 0x8c, 0x33,
515	0x1a, 0x92, 0x33, 0x9e, 0x8a, 0xd0, 0xc6, 0xd3, 0x8d, 0x45, 0x3e, 0xb6, 0xd7, 0x33, 0x52, 0x10,
516	0x3c, 0x51, 0xb2, 0x90, 0xe8, 0x81, 0x55, 0xe2, 0xaa, 0x02, 0x1b, 0x25, 0xb6, 0xf1, 0x74, 0xa3,
517	0xbf, 0xee, 0xc8, 0x99, 0x14, 0x4c, 0x69, 0x21, 0x52, 0xc1, 0x42, 0x39, 0xa1, 0x8a, 0x14, 0xa9,
518	0x14, 0xb9, 0x85, 0xf4, 0x1d, 0x24, 0x34, 0x4f, 0x63, 0x7d, 0x1e, 0x9e, 0x69, 0x5b, 0x60, 0xd7,
519	0x83, 0x9f, 0x3e, 0xb4, 0x4e, 0x4b, 0x22, 0x42, 0xd0, 0x14, 0x84, 0xd3, 0x9e, 0x37, 0xf0, 0x86,
520	0x2b, 0x91, 0x89, 0xd1, 0x6b, 0xb8, 0x95, 0x68, 0xa5, 0xa8, 0x28, 0xe2, 0x05, 0xb9, 0xb7, 0x34,
521	0xf0, 0x86, 0xab, 0x9b, 0xf7, 0xb1, 0xb3, 0x57, 0xdb, 0x1e, 0xbf, 0xab, 0x8a, 0xa2, 0xae, 0xd3,
522	0x2d, 0x32, 0x68, 0x0c, 0x37, 0x13, 0x99, 0x69, 0x2e, 0xe2, 0x73, 0xc2, 0xd3, 0x2c, 0xa5, 0x79,
523	0xcf, 0x1f, 0xf8, 0xc3, 0xd5, 0xcd, 0xa7, 0xf8, 0xef, 0x2f, 0x8a, 0x8d, 0x3f, 0xbc, 0x6b, 0xc4,
524	0xaf, 0x9c, 0x76, 0x5f, 0x14, 0x6a, 0x1e, 0xad, 0x25, 0x17, 0x92, 0xe8, 0x0b, 0xac, 0x32, 0x45,
525	0x84, 0xce, 0x88, 0x4a, 0x8b, 0x79, 0xaf, 0x39, 0xf0, 0x86, 0x6b, 0x9b, 0x3b, 0xd7, 0xe3, 0x9f,
526	0xa6, 0x9c, 0xe6, 0x05, 0xe1, 0x93, 0x83, 0xdf, 0x84, 0xa8, 0x8e, 0xeb, 0x4b, 0xb8, 0x7d, 0x89,
527	0x09, 0xd4, 0x05, 0xff, 0x2b, 0x9d, 0xbb, 0xbe, 0x95, 0x21, 0x1a, 0x41, 0x6b, 0x4a, 0x32, 0x4d,
528	0x5d, 0xab, 0x1e, 0x5f, 0x65, 0xa0, 0x46, 0x9d, 0x47, 0x56, 0xba, 0xb3, 0xb4, 0xed, 0x05, 0x01,
529	0xdc, 0xb9, 0xcc, 0x15, 0x02, 0x68, 0xbf, 0x39, 0x3a, 0x3e, 0x3e, 0x7a, 0xdf, 0x6d, 0x04, 0xdf,
530	0x3d, 0xe8, 0xd4, 0xf5, 0x97, 0xce, 0x71, 0x1d, 0x6e, 0xb0, 0x24, 0xa6, 0xb3, 0x89, 0xa2, 0x79,
531	0x5e, 0xcd, 0x70, 0x25, 0xea, 0xb0, 0x64, 0x7f, 0x91, 0x43, 0x2f, 0x60, 0x99, 0x25, 0xb1, 0xd2,
532	0x19, 0xed, 0xf9, 0xc6, 0xf7, 0xc3, 0xab, 0x7c, 0x1f, 0x24, 0x91, 0xce, 0x68, 0xd4, 0x66, 0xe6,
533	0x1e, 0xfc, 0xf0, 0xa1, 0x6d, 0x53, 0xe8, 0x11, 0x74, 0x39, 0x99, 0xc5, 0x42, 0xf3, 0x78, 0x4a,
534	0x55, 0x89, 0xcf, 0x8d, 0xa1, 0xd6, 0x61, 0x23, 0x5a, 0xe3, 0x64, 0xf6, 0x56, 0xf3, 0x8f, 0x2e,
535	0x8f, 0x9e, 0xc0, 0x72, 0x59, 0x4b, 0x58, 0xd5, 0xaf, 0x7b, 0xd5, 0xbe, 0xd5, 0xa1, 0xc5, 0x7b,
536	0xee, 0xd0, 0x1e, 0x36, 0xa2, 0x36, 0x27, 0xb3, 0x97, 0x8c, 0xa2, 0x4f, 0xd0, 0x49, 0x45, 0x41,
537	0x55, 0x4e, 0x13, 0x73, 0x2a, 0xad, 0xe5, 0xad, 0xeb, 0x59, 0xc6, 0x47, 0x35, 0xe9, 0x61, 0x23,
538	0xba, 0x80, 0x42, 0x7b, 0xd0, 0xd2, 0xa2, 0x64, 0x36, 0xaf, 0x37, 0x3e, 0xc7, 0xfc, 0x20, 0x2c,
539	0xcc, 0x8a, 0xfb, 0xc7, 0xd0, 0xa9, 0xef, 0x82, 0x9e, 0x43, 0xab, 0xec, 0x6d, 0xd9, 0x07, 0xff,
540	0x1f, 0x9a, 0x6b, 0x45, 0xfd, 0x7d, 0x68, 0x19, 0xfe, 0xff, 0x61, 0x46, 0x6d, 0x68, 0x96, 0xc1,
541	0xe8, 0x9b, 0x07, 0x41, 0x22, 0xf9, 0x15, 0xe2, 0xd1, 0xdd, 0x91, 0x5b, 0x30, 0x9f, 0xc8, 0x1e,
542	0x29, 0xc8, 0x49, 0x39, 0x92, 0x13, 0xef, 0xf3, 0xae, 0x53, 0x32, 0x99, 0x11, 0xc1, 0xb0, 0x54,
543	0x2c, 0x64, 0x54, 0x98, 0x81, 0x85, 0x76, 0x89, 0x4c, 0xd2, 0xfc, 0x4f, 0x7f, 0xbd, 0x67, 0x26,
544	0x18, 0xb7, 0x4d, 0xfd, 0xd6, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x80, 0x76, 0xdc, 0x24,
545	0x05, 0x00, 0x00,
546}
547