• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: metrics.proto
3
4package metrics_proto
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9
10// Reference imports to suppress errors if they are not otherwise used.
11var _ = proto.Marshal
12var _ = fmt.Errorf
13var _ = math.Inf
14
15// This is a compile-time assertion to ensure that this generated file
16// is compatible with the proto package it is being compiled against.
17// A compilation error at this line likely means your copy of the
18// proto package needs to be updated.
19const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
20
21type MetricsBase_BUILDVARIANT int32
22
23const (
24	MetricsBase_USER      MetricsBase_BUILDVARIANT = 0
25	MetricsBase_USERDEBUG MetricsBase_BUILDVARIANT = 1
26	MetricsBase_ENG       MetricsBase_BUILDVARIANT = 2
27)
28
29var MetricsBase_BUILDVARIANT_name = map[int32]string{
30	0: "USER",
31	1: "USERDEBUG",
32	2: "ENG",
33}
34var MetricsBase_BUILDVARIANT_value = map[string]int32{
35	"USER":      0,
36	"USERDEBUG": 1,
37	"ENG":       2,
38}
39
40func (x MetricsBase_BUILDVARIANT) Enum() *MetricsBase_BUILDVARIANT {
41	p := new(MetricsBase_BUILDVARIANT)
42	*p = x
43	return p
44}
45func (x MetricsBase_BUILDVARIANT) String() string {
46	return proto.EnumName(MetricsBase_BUILDVARIANT_name, int32(x))
47}
48func (x *MetricsBase_BUILDVARIANT) UnmarshalJSON(data []byte) error {
49	value, err := proto.UnmarshalJSONEnum(MetricsBase_BUILDVARIANT_value, data, "MetricsBase_BUILDVARIANT")
50	if err != nil {
51		return err
52	}
53	*x = MetricsBase_BUILDVARIANT(value)
54	return nil
55}
56func (MetricsBase_BUILDVARIANT) EnumDescriptor() ([]byte, []int) {
57	return fileDescriptor_metrics_9e7b895801991242, []int{0, 0}
58}
59
60type MetricsBase_ARCH int32
61
62const (
63	MetricsBase_UNKNOWN MetricsBase_ARCH = 0
64	MetricsBase_ARM     MetricsBase_ARCH = 1
65	MetricsBase_ARM64   MetricsBase_ARCH = 2
66	MetricsBase_X86     MetricsBase_ARCH = 3
67	MetricsBase_X86_64  MetricsBase_ARCH = 4
68)
69
70var MetricsBase_ARCH_name = map[int32]string{
71	0: "UNKNOWN",
72	1: "ARM",
73	2: "ARM64",
74	3: "X86",
75	4: "X86_64",
76}
77var MetricsBase_ARCH_value = map[string]int32{
78	"UNKNOWN": 0,
79	"ARM":     1,
80	"ARM64":   2,
81	"X86":     3,
82	"X86_64":  4,
83}
84
85func (x MetricsBase_ARCH) Enum() *MetricsBase_ARCH {
86	p := new(MetricsBase_ARCH)
87	*p = x
88	return p
89}
90func (x MetricsBase_ARCH) String() string {
91	return proto.EnumName(MetricsBase_ARCH_name, int32(x))
92}
93func (x *MetricsBase_ARCH) UnmarshalJSON(data []byte) error {
94	value, err := proto.UnmarshalJSONEnum(MetricsBase_ARCH_value, data, "MetricsBase_ARCH")
95	if err != nil {
96		return err
97	}
98	*x = MetricsBase_ARCH(value)
99	return nil
100}
101func (MetricsBase_ARCH) EnumDescriptor() ([]byte, []int) {
102	return fileDescriptor_metrics_9e7b895801991242, []int{0, 1}
103}
104
105type ModuleTypeInfo_BUILDSYSTEM int32
106
107const (
108	ModuleTypeInfo_UNKNOWN ModuleTypeInfo_BUILDSYSTEM = 0
109	ModuleTypeInfo_SOONG   ModuleTypeInfo_BUILDSYSTEM = 1
110	ModuleTypeInfo_MAKE    ModuleTypeInfo_BUILDSYSTEM = 2
111)
112
113var ModuleTypeInfo_BUILDSYSTEM_name = map[int32]string{
114	0: "UNKNOWN",
115	1: "SOONG",
116	2: "MAKE",
117}
118var ModuleTypeInfo_BUILDSYSTEM_value = map[string]int32{
119	"UNKNOWN": 0,
120	"SOONG":   1,
121	"MAKE":    2,
122}
123
124func (x ModuleTypeInfo_BUILDSYSTEM) Enum() *ModuleTypeInfo_BUILDSYSTEM {
125	p := new(ModuleTypeInfo_BUILDSYSTEM)
126	*p = x
127	return p
128}
129func (x ModuleTypeInfo_BUILDSYSTEM) String() string {
130	return proto.EnumName(ModuleTypeInfo_BUILDSYSTEM_name, int32(x))
131}
132func (x *ModuleTypeInfo_BUILDSYSTEM) UnmarshalJSON(data []byte) error {
133	value, err := proto.UnmarshalJSONEnum(ModuleTypeInfo_BUILDSYSTEM_value, data, "ModuleTypeInfo_BUILDSYSTEM")
134	if err != nil {
135		return err
136	}
137	*x = ModuleTypeInfo_BUILDSYSTEM(value)
138	return nil
139}
140func (ModuleTypeInfo_BUILDSYSTEM) EnumDescriptor() ([]byte, []int) {
141	return fileDescriptor_metrics_9e7b895801991242, []int{2, 0}
142}
143
144type MetricsBase struct {
145	// Timestamp generated when the build starts.
146	BuildDateTimestamp *int64 `protobuf:"varint,1,opt,name=build_date_timestamp,json=buildDateTimestamp" json:"build_date_timestamp,omitempty"`
147	// It is usually used to specify the branch name [and release candidate].
148	BuildId *string `protobuf:"bytes,2,opt,name=build_id,json=buildId" json:"build_id,omitempty"`
149	// The platform version codename, eg. P, Q, REL.
150	PlatformVersionCodename *string `protobuf:"bytes,3,opt,name=platform_version_codename,json=platformVersionCodename" json:"platform_version_codename,omitempty"`
151	// The target product information, eg. aosp_arm.
152	TargetProduct *string `protobuf:"bytes,4,opt,name=target_product,json=targetProduct" json:"target_product,omitempty"`
153	// The target build variant information, eg. eng.
154	TargetBuildVariant *MetricsBase_BUILDVARIANT `protobuf:"varint,5,opt,name=target_build_variant,json=targetBuildVariant,enum=build_metrics.MetricsBase_BUILDVARIANT,def=2" json:"target_build_variant,omitempty"`
155	// The target arch information, eg. arm.
156	TargetArch *MetricsBase_ARCH `protobuf:"varint,6,opt,name=target_arch,json=targetArch,enum=build_metrics.MetricsBase_ARCH,def=0" json:"target_arch,omitempty"`
157	// The target arch variant information, eg. armv7-a-neon.
158	TargetArchVariant *string `protobuf:"bytes,7,opt,name=target_arch_variant,json=targetArchVariant" json:"target_arch_variant,omitempty"`
159	// The target cpu variant information, eg. generic.
160	TargetCpuVariant *string `protobuf:"bytes,8,opt,name=target_cpu_variant,json=targetCpuVariant" json:"target_cpu_variant,omitempty"`
161	// The host arch information, eg. x86_64.
162	HostArch *MetricsBase_ARCH `protobuf:"varint,9,opt,name=host_arch,json=hostArch,enum=build_metrics.MetricsBase_ARCH,def=0" json:"host_arch,omitempty"`
163	// The host 2nd arch information, eg. x86.
164	Host_2NdArch *MetricsBase_ARCH `protobuf:"varint,10,opt,name=host_2nd_arch,json=host2ndArch,enum=build_metrics.MetricsBase_ARCH,def=0" json:"host_2nd_arch,omitempty"`
165	// The host os information, eg. linux.
166	HostOs *string `protobuf:"bytes,11,opt,name=host_os,json=hostOs" json:"host_os,omitempty"`
167	// The host os extra information, eg. Linux-4.17.0-3rodete2-amd64-x86_64-Debian-GNU.
168	HostOsExtra *string `protobuf:"bytes,12,opt,name=host_os_extra,json=hostOsExtra" json:"host_os_extra,omitempty"`
169	// The host cross os information, eg. windows.
170	HostCrossOs *string `protobuf:"bytes,13,opt,name=host_cross_os,json=hostCrossOs" json:"host_cross_os,omitempty"`
171	// The host cross arch information, eg. x86.
172	HostCrossArch *string `protobuf:"bytes,14,opt,name=host_cross_arch,json=hostCrossArch" json:"host_cross_arch,omitempty"`
173	// The host cross 2nd arch information, eg. x86_64.
174	HostCross_2NdArch *string `protobuf:"bytes,15,opt,name=host_cross_2nd_arch,json=hostCross2ndArch" json:"host_cross_2nd_arch,omitempty"`
175	// The directory for generated built artifacts installation, eg. out.
176	OutDir *string `protobuf:"bytes,16,opt,name=out_dir,json=outDir" json:"out_dir,omitempty"`
177	// The metrics for calling various tools (microfactory) before Soong_UI starts.
178	SetupTools []*PerfInfo `protobuf:"bytes,17,rep,name=setup_tools,json=setupTools" json:"setup_tools,omitempty"`
179	// The metrics for calling Kati by multiple times.
180	KatiRuns []*PerfInfo `protobuf:"bytes,18,rep,name=kati_runs,json=katiRuns" json:"kati_runs,omitempty"`
181	// The metrics for calling Soong.
182	SoongRuns []*PerfInfo `protobuf:"bytes,19,rep,name=soong_runs,json=soongRuns" json:"soong_runs,omitempty"`
183	// The metrics for calling Ninja.
184	NinjaRuns            []*PerfInfo `protobuf:"bytes,20,rep,name=ninja_runs,json=ninjaRuns" json:"ninja_runs,omitempty"`
185	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
186	XXX_unrecognized     []byte      `json:"-"`
187	XXX_sizecache        int32       `json:"-"`
188}
189
190func (m *MetricsBase) Reset()         { *m = MetricsBase{} }
191func (m *MetricsBase) String() string { return proto.CompactTextString(m) }
192func (*MetricsBase) ProtoMessage()    {}
193func (*MetricsBase) Descriptor() ([]byte, []int) {
194	return fileDescriptor_metrics_9e7b895801991242, []int{0}
195}
196func (m *MetricsBase) XXX_Unmarshal(b []byte) error {
197	return xxx_messageInfo_MetricsBase.Unmarshal(m, b)
198}
199func (m *MetricsBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
200	return xxx_messageInfo_MetricsBase.Marshal(b, m, deterministic)
201}
202func (dst *MetricsBase) XXX_Merge(src proto.Message) {
203	xxx_messageInfo_MetricsBase.Merge(dst, src)
204}
205func (m *MetricsBase) XXX_Size() int {
206	return xxx_messageInfo_MetricsBase.Size(m)
207}
208func (m *MetricsBase) XXX_DiscardUnknown() {
209	xxx_messageInfo_MetricsBase.DiscardUnknown(m)
210}
211
212var xxx_messageInfo_MetricsBase proto.InternalMessageInfo
213
214const Default_MetricsBase_TargetBuildVariant MetricsBase_BUILDVARIANT = MetricsBase_ENG
215const Default_MetricsBase_TargetArch MetricsBase_ARCH = MetricsBase_UNKNOWN
216const Default_MetricsBase_HostArch MetricsBase_ARCH = MetricsBase_UNKNOWN
217const Default_MetricsBase_Host_2NdArch MetricsBase_ARCH = MetricsBase_UNKNOWN
218
219func (m *MetricsBase) GetBuildDateTimestamp() int64 {
220	if m != nil && m.BuildDateTimestamp != nil {
221		return *m.BuildDateTimestamp
222	}
223	return 0
224}
225
226func (m *MetricsBase) GetBuildId() string {
227	if m != nil && m.BuildId != nil {
228		return *m.BuildId
229	}
230	return ""
231}
232
233func (m *MetricsBase) GetPlatformVersionCodename() string {
234	if m != nil && m.PlatformVersionCodename != nil {
235		return *m.PlatformVersionCodename
236	}
237	return ""
238}
239
240func (m *MetricsBase) GetTargetProduct() string {
241	if m != nil && m.TargetProduct != nil {
242		return *m.TargetProduct
243	}
244	return ""
245}
246
247func (m *MetricsBase) GetTargetBuildVariant() MetricsBase_BUILDVARIANT {
248	if m != nil && m.TargetBuildVariant != nil {
249		return *m.TargetBuildVariant
250	}
251	return Default_MetricsBase_TargetBuildVariant
252}
253
254func (m *MetricsBase) GetTargetArch() MetricsBase_ARCH {
255	if m != nil && m.TargetArch != nil {
256		return *m.TargetArch
257	}
258	return Default_MetricsBase_TargetArch
259}
260
261func (m *MetricsBase) GetTargetArchVariant() string {
262	if m != nil && m.TargetArchVariant != nil {
263		return *m.TargetArchVariant
264	}
265	return ""
266}
267
268func (m *MetricsBase) GetTargetCpuVariant() string {
269	if m != nil && m.TargetCpuVariant != nil {
270		return *m.TargetCpuVariant
271	}
272	return ""
273}
274
275func (m *MetricsBase) GetHostArch() MetricsBase_ARCH {
276	if m != nil && m.HostArch != nil {
277		return *m.HostArch
278	}
279	return Default_MetricsBase_HostArch
280}
281
282func (m *MetricsBase) GetHost_2NdArch() MetricsBase_ARCH {
283	if m != nil && m.Host_2NdArch != nil {
284		return *m.Host_2NdArch
285	}
286	return Default_MetricsBase_Host_2NdArch
287}
288
289func (m *MetricsBase) GetHostOs() string {
290	if m != nil && m.HostOs != nil {
291		return *m.HostOs
292	}
293	return ""
294}
295
296func (m *MetricsBase) GetHostOsExtra() string {
297	if m != nil && m.HostOsExtra != nil {
298		return *m.HostOsExtra
299	}
300	return ""
301}
302
303func (m *MetricsBase) GetHostCrossOs() string {
304	if m != nil && m.HostCrossOs != nil {
305		return *m.HostCrossOs
306	}
307	return ""
308}
309
310func (m *MetricsBase) GetHostCrossArch() string {
311	if m != nil && m.HostCrossArch != nil {
312		return *m.HostCrossArch
313	}
314	return ""
315}
316
317func (m *MetricsBase) GetHostCross_2NdArch() string {
318	if m != nil && m.HostCross_2NdArch != nil {
319		return *m.HostCross_2NdArch
320	}
321	return ""
322}
323
324func (m *MetricsBase) GetOutDir() string {
325	if m != nil && m.OutDir != nil {
326		return *m.OutDir
327	}
328	return ""
329}
330
331func (m *MetricsBase) GetSetupTools() []*PerfInfo {
332	if m != nil {
333		return m.SetupTools
334	}
335	return nil
336}
337
338func (m *MetricsBase) GetKatiRuns() []*PerfInfo {
339	if m != nil {
340		return m.KatiRuns
341	}
342	return nil
343}
344
345func (m *MetricsBase) GetSoongRuns() []*PerfInfo {
346	if m != nil {
347		return m.SoongRuns
348	}
349	return nil
350}
351
352func (m *MetricsBase) GetNinjaRuns() []*PerfInfo {
353	if m != nil {
354		return m.NinjaRuns
355	}
356	return nil
357}
358
359type PerfInfo struct {
360	// The description for the phase/action/part while the tool running.
361	Desc *string `protobuf:"bytes,1,opt,name=desc" json:"desc,omitempty"`
362	// The name for the running phase/action/part.
363	Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
364	// The absolute start time.
365	// The number of nanoseconds elapsed since January 1, 1970 UTC.
366	StartTime *uint64 `protobuf:"varint,3,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
367	// The real running time.
368	// The number of nanoseconds elapsed since start_time.
369	RealTime *uint64 `protobuf:"varint,4,opt,name=real_time,json=realTime" json:"real_time,omitempty"`
370	// The number of MB for memory use.
371	MemoryUse            *uint64  `protobuf:"varint,5,opt,name=memory_use,json=memoryUse" json:"memory_use,omitempty"`
372	XXX_NoUnkeyedLiteral struct{} `json:"-"`
373	XXX_unrecognized     []byte   `json:"-"`
374	XXX_sizecache        int32    `json:"-"`
375}
376
377func (m *PerfInfo) Reset()         { *m = PerfInfo{} }
378func (m *PerfInfo) String() string { return proto.CompactTextString(m) }
379func (*PerfInfo) ProtoMessage()    {}
380func (*PerfInfo) Descriptor() ([]byte, []int) {
381	return fileDescriptor_metrics_9e7b895801991242, []int{1}
382}
383func (m *PerfInfo) XXX_Unmarshal(b []byte) error {
384	return xxx_messageInfo_PerfInfo.Unmarshal(m, b)
385}
386func (m *PerfInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
387	return xxx_messageInfo_PerfInfo.Marshal(b, m, deterministic)
388}
389func (dst *PerfInfo) XXX_Merge(src proto.Message) {
390	xxx_messageInfo_PerfInfo.Merge(dst, src)
391}
392func (m *PerfInfo) XXX_Size() int {
393	return xxx_messageInfo_PerfInfo.Size(m)
394}
395func (m *PerfInfo) XXX_DiscardUnknown() {
396	xxx_messageInfo_PerfInfo.DiscardUnknown(m)
397}
398
399var xxx_messageInfo_PerfInfo proto.InternalMessageInfo
400
401func (m *PerfInfo) GetDesc() string {
402	if m != nil && m.Desc != nil {
403		return *m.Desc
404	}
405	return ""
406}
407
408func (m *PerfInfo) GetName() string {
409	if m != nil && m.Name != nil {
410		return *m.Name
411	}
412	return ""
413}
414
415func (m *PerfInfo) GetStartTime() uint64 {
416	if m != nil && m.StartTime != nil {
417		return *m.StartTime
418	}
419	return 0
420}
421
422func (m *PerfInfo) GetRealTime() uint64 {
423	if m != nil && m.RealTime != nil {
424		return *m.RealTime
425	}
426	return 0
427}
428
429func (m *PerfInfo) GetMemoryUse() uint64 {
430	if m != nil && m.MemoryUse != nil {
431		return *m.MemoryUse
432	}
433	return 0
434}
435
436type ModuleTypeInfo struct {
437	// The build system, eg. Soong or Make.
438	BuildSystem *ModuleTypeInfo_BUILDSYSTEM `protobuf:"varint,1,opt,name=build_system,json=buildSystem,enum=build_metrics.ModuleTypeInfo_BUILDSYSTEM,def=0" json:"build_system,omitempty"`
439	// The module type, eg. java_library, cc_binary, and etc.
440	ModuleType *string `protobuf:"bytes,2,opt,name=module_type,json=moduleType" json:"module_type,omitempty"`
441	// The number of logical modules.
442	NumOfModules         *uint32  `protobuf:"varint,3,opt,name=num_of_modules,json=numOfModules" json:"num_of_modules,omitempty"`
443	XXX_NoUnkeyedLiteral struct{} `json:"-"`
444	XXX_unrecognized     []byte   `json:"-"`
445	XXX_sizecache        int32    `json:"-"`
446}
447
448func (m *ModuleTypeInfo) Reset()         { *m = ModuleTypeInfo{} }
449func (m *ModuleTypeInfo) String() string { return proto.CompactTextString(m) }
450func (*ModuleTypeInfo) ProtoMessage()    {}
451func (*ModuleTypeInfo) Descriptor() ([]byte, []int) {
452	return fileDescriptor_metrics_9e7b895801991242, []int{2}
453}
454func (m *ModuleTypeInfo) XXX_Unmarshal(b []byte) error {
455	return xxx_messageInfo_ModuleTypeInfo.Unmarshal(m, b)
456}
457func (m *ModuleTypeInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
458	return xxx_messageInfo_ModuleTypeInfo.Marshal(b, m, deterministic)
459}
460func (dst *ModuleTypeInfo) XXX_Merge(src proto.Message) {
461	xxx_messageInfo_ModuleTypeInfo.Merge(dst, src)
462}
463func (m *ModuleTypeInfo) XXX_Size() int {
464	return xxx_messageInfo_ModuleTypeInfo.Size(m)
465}
466func (m *ModuleTypeInfo) XXX_DiscardUnknown() {
467	xxx_messageInfo_ModuleTypeInfo.DiscardUnknown(m)
468}
469
470var xxx_messageInfo_ModuleTypeInfo proto.InternalMessageInfo
471
472const Default_ModuleTypeInfo_BuildSystem ModuleTypeInfo_BUILDSYSTEM = ModuleTypeInfo_UNKNOWN
473
474func (m *ModuleTypeInfo) GetBuildSystem() ModuleTypeInfo_BUILDSYSTEM {
475	if m != nil && m.BuildSystem != nil {
476		return *m.BuildSystem
477	}
478	return Default_ModuleTypeInfo_BuildSystem
479}
480
481func (m *ModuleTypeInfo) GetModuleType() string {
482	if m != nil && m.ModuleType != nil {
483		return *m.ModuleType
484	}
485	return ""
486}
487
488func (m *ModuleTypeInfo) GetNumOfModules() uint32 {
489	if m != nil && m.NumOfModules != nil {
490		return *m.NumOfModules
491	}
492	return 0
493}
494
495func init() {
496	proto.RegisterType((*MetricsBase)(nil), "build_metrics.MetricsBase")
497	proto.RegisterType((*PerfInfo)(nil), "build_metrics.PerfInfo")
498	proto.RegisterType((*ModuleTypeInfo)(nil), "build_metrics.ModuleTypeInfo")
499	proto.RegisterEnum("build_metrics.MetricsBase_BUILDVARIANT", MetricsBase_BUILDVARIANT_name, MetricsBase_BUILDVARIANT_value)
500	proto.RegisterEnum("build_metrics.MetricsBase_ARCH", MetricsBase_ARCH_name, MetricsBase_ARCH_value)
501	proto.RegisterEnum("build_metrics.ModuleTypeInfo_BUILDSYSTEM", ModuleTypeInfo_BUILDSYSTEM_name, ModuleTypeInfo_BUILDSYSTEM_value)
502}
503
504func init() { proto.RegisterFile("metrics.proto", fileDescriptor_metrics_9e7b895801991242) }
505
506var fileDescriptor_metrics_9e7b895801991242 = []byte{
507	// 783 bytes of a gzipped FileDescriptorProto
508	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x6e, 0xdb, 0x36,
509	0x14, 0xae, 0x62, 0x25, 0x96, 0x8e, 0x62, 0x57, 0x61, 0x02, 0x44, 0xc5, 0x50, 0x34, 0x30, 0xf6,
510	0x93, 0x01, 0x9b, 0x57, 0x18, 0x81, 0x11, 0x04, 0xbb, 0xb1, 0x13, 0xa3, 0x35, 0x5a, 0xdb, 0x85,
511	0x6c, 0x67, 0xdd, 0x2e, 0x46, 0x68, 0x12, 0xdd, 0x68, 0xb3, 0x44, 0x81, 0xa4, 0x8a, 0xf9, 0x21,
512	0xf6, 0x8c, 0x7b, 0x91, 0x5d, 0x0c, 0x3c, 0xb4, 0x5c, 0xa5, 0x17, 0x29, 0x72, 0x47, 0x9d, 0xef,
513	0x87, 0xdf, 0x91, 0xc8, 0x23, 0x68, 0x65, 0x4c, 0x89, 0x34, 0x96, 0xdd, 0x42, 0x70, 0xc5, 0x49,
514	0xeb, 0x8f, 0x32, 0x5d, 0x27, 0x74, 0x5b, 0xec, 0xfc, 0xe7, 0x80, 0x37, 0x31, 0xeb, 0x61, 0x24,
515	0x19, 0x79, 0x09, 0x27, 0x86, 0x90, 0x44, 0x8a, 0x51, 0x95, 0x66, 0x4c, 0xaa, 0x28, 0x2b, 0x02,
516	0xeb, 0xcc, 0x3a, 0x6f, 0x84, 0x04, 0xb1, 0x9b, 0x48, 0xb1, 0x45, 0x85, 0x90, 0x67, 0xe0, 0x18,
517	0x45, 0x9a, 0x04, 0x7b, 0x67, 0xd6, 0xb9, 0x1b, 0x36, 0xf1, 0x79, 0x9c, 0x90, 0x2b, 0x78, 0x56,
518	0xac, 0x23, 0xb5, 0xe2, 0x22, 0xa3, 0x1f, 0x99, 0x90, 0x29, 0xcf, 0x69, 0xcc, 0x13, 0x96, 0x47,
519	0x19, 0x0b, 0x1a, 0xc8, 0x3d, 0xad, 0x08, 0xb7, 0x06, 0xbf, 0xde, 0xc2, 0xe4, 0x1b, 0x68, 0xab,
520	0x48, 0x7c, 0x60, 0x8a, 0x16, 0x82, 0x27, 0x65, 0xac, 0x02, 0x1b, 0x05, 0x2d, 0x53, 0x7d, 0x67,
521	0x8a, 0xe4, 0x77, 0x38, 0xd9, 0xd2, 0x4c, 0x88, 0x8f, 0x91, 0x48, 0xa3, 0x5c, 0x05, 0xfb, 0x67,
522	0xd6, 0x79, 0xbb, 0xf7, 0x5d, 0xf7, 0x5e, 0xb7, 0xdd, 0x5a, 0xa7, 0xdd, 0xe1, 0x72, 0xfc, 0xf6,
523	0xe6, 0x76, 0x10, 0x8e, 0x07, 0xd3, 0xc5, 0x55, 0x63, 0x34, 0x7d, 0x15, 0x12, 0xe3, 0x34, 0xd4,
524	0x92, 0x5b, 0xe3, 0x43, 0xc6, 0xe0, 0x6d, 0xfd, 0x23, 0x11, 0xdf, 0x05, 0x07, 0x68, 0xfb, 0xe2,
525	0x01, 0xdb, 0x41, 0x78, 0xfd, 0xfa, 0xaa, 0xb9, 0x9c, 0xbe, 0x99, 0xce, 0x7e, 0x99, 0x86, 0x60,
526	0xc4, 0x03, 0x11, 0xdf, 0x91, 0x2e, 0x1c, 0xd7, 0xac, 0x76, 0x49, 0x9b, 0xd8, 0xd6, 0xd1, 0x27,
527	0x62, 0xb5, 0xf5, 0x0f, 0xb0, 0x0d, 0x44, 0xe3, 0xa2, 0xdc, 0xd1, 0x1d, 0xa4, 0xfb, 0x06, 0xb9,
528	0x2e, 0xca, 0x8a, 0x3d, 0x02, 0xf7, 0x8e, 0xcb, 0x6d, 0x4c, 0xf7, 0x91, 0x31, 0x1d, 0x2d, 0xc5,
529	0x90, 0x6f, 0xa1, 0x85, 0x36, 0xbd, 0x3c, 0x31, 0x56, 0xf0, 0x48, 0x2b, 0x4f, 0xcb, 0x7b, 0x79,
530	0x82, 0x6e, 0xa7, 0xd0, 0x44, 0x37, 0x2e, 0x03, 0x0f, 0x73, 0x1f, 0xe8, 0xc7, 0x99, 0x24, 0x9d,
531	0xed, 0x36, 0x5c, 0x52, 0xf6, 0xb7, 0x12, 0x51, 0x70, 0x88, 0xb0, 0x67, 0xe0, 0x91, 0x2e, 0xed,
532	0x38, 0xb1, 0xe0, 0x52, 0x6a, 0x8b, 0xd6, 0x27, 0xce, 0xb5, 0xae, 0xcd, 0x24, 0xf9, 0x16, 0x9e,
533	0xd6, 0x38, 0x18, 0xb8, 0x6d, 0x8e, 0xc9, 0x8e, 0x85, 0x41, 0x7e, 0x84, 0xe3, 0x1a, 0x6f, 0xd7,
534	0xdc, 0x53, 0xf3, 0x32, 0x77, 0xdc, 0x5a, 0x6e, 0x5e, 0x2a, 0x9a, 0xa4, 0x22, 0xf0, 0x4d, 0x6e,
535	0x5e, 0xaa, 0x9b, 0x54, 0x90, 0x4b, 0xf0, 0x24, 0x53, 0x65, 0x41, 0x15, 0xe7, 0x6b, 0x19, 0x1c,
536	0x9d, 0x35, 0xce, 0xbd, 0xde, 0xe9, 0x67, 0x2f, 0xe7, 0x1d, 0x13, 0xab, 0x71, 0xbe, 0xe2, 0x21,
537	0x20, 0x77, 0xa1, 0xa9, 0xe4, 0x02, 0xdc, 0xbf, 0x22, 0x95, 0x52, 0x51, 0xe6, 0x32, 0x20, 0x0f,
538	0xeb, 0x1c, 0xcd, 0x0c, 0xcb, 0x5c, 0x92, 0x3e, 0x80, 0xe4, 0x3c, 0xff, 0x60, 0x64, 0xc7, 0x0f,
539	0xcb, 0x5c, 0xa4, 0x56, 0xba, 0x3c, 0xcd, 0xff, 0x8c, 0x8c, 0xee, 0xe4, 0x0b, 0x3a, 0xa4, 0x6a,
540	0x5d, 0xe7, 0x25, 0x1c, 0xd6, 0xef, 0x05, 0x71, 0xc0, 0x5e, 0xce, 0x47, 0xa1, 0xff, 0x84, 0xb4,
541	0xc0, 0xd5, 0xab, 0x9b, 0xd1, 0x70, 0xf9, 0xca, 0xb7, 0x48, 0x13, 0xf4, 0x95, 0xf1, 0xf7, 0x3a,
542	0x3f, 0x83, 0xad, 0x0f, 0x00, 0xf1, 0xa0, 0x3a, 0x02, 0xfe, 0x13, 0x8d, 0x0e, 0xc2, 0x89, 0x6f,
543	0x11, 0x17, 0xf6, 0x07, 0xe1, 0xa4, 0x7f, 0xe1, 0xef, 0xe9, 0xda, 0xfb, 0xcb, 0xbe, 0xdf, 0x20,
544	0x00, 0x07, 0xef, 0x2f, 0xfb, 0xb4, 0x7f, 0xe1, 0xdb, 0x9d, 0x7f, 0x2c, 0x70, 0xaa, 0x1c, 0x84,
545	0x80, 0x9d, 0x30, 0x19, 0xe3, 0xac, 0x71, 0x43, 0x5c, 0xeb, 0x1a, 0x4e, 0x0b, 0x33, 0x59, 0x70,
546	0x4d, 0x9e, 0x03, 0x48, 0x15, 0x09, 0x85, 0xe3, 0x09, 0xe7, 0x88, 0x1d, 0xba, 0x58, 0xd1, 0x53,
547	0x89, 0x7c, 0x05, 0xae, 0x60, 0xd1, 0xda, 0xa0, 0x36, 0xa2, 0x8e, 0x2e, 0x20, 0xf8, 0x1c, 0x20,
548	0x63, 0x19, 0x17, 0x1b, 0x5a, 0x4a, 0x86, 0x53, 0xc2, 0x0e, 0x5d, 0x53, 0x59, 0x4a, 0xd6, 0xf9,
549	0xd7, 0x82, 0xf6, 0x84, 0x27, 0xe5, 0x9a, 0x2d, 0x36, 0x05, 0xc3, 0x54, 0x4b, 0x38, 0x34, 0xef,
550	0x4d, 0x6e, 0xa4, 0x62, 0x19, 0xa6, 0x6b, 0xf7, 0xbe, 0xff, 0xfc, 0x42, 0xdc, 0x13, 0x99, 0xe1,
551	0x32, 0xff, 0x75, 0xbe, 0x18, 0x4d, 0x6a, 0x57, 0x03, 0x25, 0x73, 0xb4, 0x21, 0x2f, 0xc0, 0xcb,
552	0x50, 0x43, 0xd5, 0xa6, 0xa8, 0xfa, 0x83, 0x6c, 0x67, 0x43, 0xbe, 0x86, 0x76, 0x5e, 0x66, 0x94,
553	0xaf, 0xa8, 0x29, 0x4a, 0xec, 0xb4, 0x15, 0x1e, 0xe6, 0x65, 0x36, 0x5b, 0x99, 0xfd, 0x64, 0xe7,
554	0x27, 0xf0, 0x6a, 0x7b, 0xdd, 0xff, 0x0a, 0x2e, 0xec, 0xcf, 0x67, 0xb3, 0xa9, 0xfe, 0x5c, 0x0e,
555	0xd8, 0x93, 0xc1, 0x9b, 0x91, 0xbf, 0x37, 0x3c, 0x7a, 0xdd, 0xf8, 0xad, 0xfa, 0x25, 0x50, 0xfc,
556	0x25, 0xfc, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x8d, 0x19, 0x89, 0x22, 0x06, 0x00, 0x00,
557}
558