1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/logging/v2/log_entry.proto
5 Package logging is a generated protocol buffer package.
7 It is generated from these files:
8 google/logging/v2/log_entry.proto
9 google/logging/v2/logging.proto
10 google/logging/v2/logging_config.proto
11 google/logging/v2/logging_metrics.proto
13 It has these top-level messages:
16 LogEntrySourceLocation
18 WriteLogEntriesRequest
19 WriteLogEntriesResponse
20 WriteLogEntriesPartialErrors
22 ListLogEntriesResponse
23 ListMonitoredResourceDescriptorsRequest
24 ListMonitoredResourceDescriptorsResponse
36 ListLogMetricsResponse
38 CreateLogMetricRequest
39 UpdateLogMetricRequest
40 DeleteLogMetricRequest
44 import proto "github.com/golang/protobuf/proto"
47 import _ "google.golang.org/genproto/googleapis/api/annotations"
48 import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
49 import google_logging_type "google.golang.org/genproto/googleapis/logging/type"
50 import google_logging_type1 "google.golang.org/genproto/googleapis/logging/type"
51 import google_protobuf2 "github.com/golang/protobuf/ptypes/any"
52 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
53 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
55 // Reference imports to suppress errors if they are not otherwise used.
60 // This is a compile-time assertion to ensure that this generated file
61 // is compatible with the proto package it is being compiled against.
62 // A compilation error at this line likely means your copy of the
63 // proto package needs to be updated.
64 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
66 // An individual entry in a log.
67 type LogEntry struct {
68 // Required. The resource name of the log to which this log entry belongs:
70 // "projects/[PROJECT_ID]/logs/[LOG_ID]"
71 // "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
72 // "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
73 // "folders/[FOLDER_ID]/logs/[LOG_ID]"
75 // `[LOG_ID]` must be URL-encoded within `log_name`. Example:
76 // `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
77 // `[LOG_ID]` must be less than 512 characters long and can only include the
78 // following characters: upper and lower case alphanumeric characters,
79 // forward-slash, underscore, hyphen, and period.
81 // For backward compatibility, if `log_name` begins with a forward-slash, such
82 // as `/projects/...`, then the log entry is ingested as usual but the
83 // forward-slash is removed. Listing the log entry will not show the leading
84 // slash and filtering for a log name with a leading slash will never return
86 LogName string `protobuf:"bytes,12,opt,name=log_name,json=logName" json:"log_name,omitempty"`
87 // Required. The monitored resource associated with this log entry.
88 // Example: a log entry that reports a database error would be
89 // associated with the monitored resource designating the particular
90 // database that reported the error.
91 Resource *google_api3.MonitoredResource `protobuf:"bytes,8,opt,name=resource" json:"resource,omitempty"`
92 // Optional. The log entry payload, which can be one of multiple types.
94 // Types that are valid to be assigned to Payload:
95 // *LogEntry_ProtoPayload
96 // *LogEntry_TextPayload
97 // *LogEntry_JsonPayload
98 Payload isLogEntry_Payload `protobuf_oneof:"payload"`
99 // Optional. The time the event described by the log entry occurred. If
100 // omitted in a new log entry, Stackdriver Logging will insert the time the
101 // log entry is received. Stackdriver Logging might reject log entries whose
102 // time stamps are more than a couple of hours in the future. Log entries
103 // with time stamps in the past are accepted.
104 Timestamp *google_protobuf4.Timestamp `protobuf:"bytes,9,opt,name=timestamp" json:"timestamp,omitempty"`
105 // Output only. The time the log entry was received by Stackdriver Logging.
106 ReceiveTimestamp *google_protobuf4.Timestamp `protobuf:"bytes,24,opt,name=receive_timestamp,json=receiveTimestamp" json:"receive_timestamp,omitempty"`
107 // Optional. The severity of the log entry. The default value is
108 // `LogSeverity.DEFAULT`.
109 Severity google_logging_type1.LogSeverity `protobuf:"varint,10,opt,name=severity,enum=google.logging.type.LogSeverity" json:"severity,omitempty"`
110 // Optional. A unique identifier for the log entry. If you provide a value,
111 // then Stackdriver Logging considers other log entries in the same project,
112 // with the same `timestamp`, and with the same `insert_id` to be duplicates
113 // which can be removed. If omitted in new log entries, then Stackdriver
114 // Logging will insert its own unique identifier. The `insert_id` is used
115 // to order log entries that have the same `timestamp` value.
116 InsertId string `protobuf:"bytes,4,opt,name=insert_id,json=insertId" json:"insert_id,omitempty"`
117 // Optional. Information about the HTTP request associated with this
118 // log entry, if applicable.
119 HttpRequest *google_logging_type.HttpRequest `protobuf:"bytes,7,opt,name=http_request,json=httpRequest" json:"http_request,omitempty"`
120 // Optional. A set of user-defined (key, value) data that provides additional
121 // information about the log entry.
122 Labels map[string]string `protobuf:"bytes,11,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
123 // Optional. Information about an operation associated with the log entry, if
125 Operation *LogEntryOperation `protobuf:"bytes,15,opt,name=operation" json:"operation,omitempty"`
126 // Optional. Resource name of the trace associated with the log entry, if any.
127 // If it contains a relative resource name, the name is assumed to be relative
128 // to `//tracing.googleapis.com`. Example:
129 // `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
130 Trace string `protobuf:"bytes,22,opt,name=trace" json:"trace,omitempty"`
131 // Optional. Source code location information associated with the log entry,
133 SourceLocation *LogEntrySourceLocation `protobuf:"bytes,23,opt,name=source_location,json=sourceLocation" json:"source_location,omitempty"`
136 func (m *LogEntry) Reset() { *m = LogEntry{} }
137 func (m *LogEntry) String() string { return proto.CompactTextString(m) }
138 func (*LogEntry) ProtoMessage() {}
139 func (*LogEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
141 type isLogEntry_Payload interface {
145 type LogEntry_ProtoPayload struct {
146 ProtoPayload *google_protobuf2.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,oneof"`
148 type LogEntry_TextPayload struct {
149 TextPayload string `protobuf:"bytes,3,opt,name=text_payload,json=textPayload,oneof"`
151 type LogEntry_JsonPayload struct {
152 JsonPayload *google_protobuf3.Struct `protobuf:"bytes,6,opt,name=json_payload,json=jsonPayload,oneof"`
155 func (*LogEntry_ProtoPayload) isLogEntry_Payload() {}
156 func (*LogEntry_TextPayload) isLogEntry_Payload() {}
157 func (*LogEntry_JsonPayload) isLogEntry_Payload() {}
159 func (m *LogEntry) GetPayload() isLogEntry_Payload {
166 func (m *LogEntry) GetLogName() string {
173 func (m *LogEntry) GetResource() *google_api3.MonitoredResource {
180 func (m *LogEntry) GetProtoPayload() *google_protobuf2.Any {
181 if x, ok := m.GetPayload().(*LogEntry_ProtoPayload); ok {
182 return x.ProtoPayload
187 func (m *LogEntry) GetTextPayload() string {
188 if x, ok := m.GetPayload().(*LogEntry_TextPayload); ok {
194 func (m *LogEntry) GetJsonPayload() *google_protobuf3.Struct {
195 if x, ok := m.GetPayload().(*LogEntry_JsonPayload); ok {
201 func (m *LogEntry) GetTimestamp() *google_protobuf4.Timestamp {
208 func (m *LogEntry) GetReceiveTimestamp() *google_protobuf4.Timestamp {
210 return m.ReceiveTimestamp
215 func (m *LogEntry) GetSeverity() google_logging_type1.LogSeverity {
219 return google_logging_type1.LogSeverity_DEFAULT
222 func (m *LogEntry) GetInsertId() string {
229 func (m *LogEntry) GetHttpRequest() *google_logging_type.HttpRequest {
236 func (m *LogEntry) GetLabels() map[string]string {
243 func (m *LogEntry) GetOperation() *LogEntryOperation {
250 func (m *LogEntry) GetTrace() string {
257 func (m *LogEntry) GetSourceLocation() *LogEntrySourceLocation {
259 return m.SourceLocation
264 // XXX_OneofFuncs is for the internal use of the proto package.
265 func (*LogEntry) 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{}) {
266 return _LogEntry_OneofMarshaler, _LogEntry_OneofUnmarshaler, _LogEntry_OneofSizer, []interface{}{
267 (*LogEntry_ProtoPayload)(nil),
268 (*LogEntry_TextPayload)(nil),
269 (*LogEntry_JsonPayload)(nil),
273 func _LogEntry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
276 switch x := m.Payload.(type) {
277 case *LogEntry_ProtoPayload:
278 b.EncodeVarint(2<<3 | proto.WireBytes)
279 if err := b.EncodeMessage(x.ProtoPayload); err != nil {
282 case *LogEntry_TextPayload:
283 b.EncodeVarint(3<<3 | proto.WireBytes)
284 b.EncodeStringBytes(x.TextPayload)
285 case *LogEntry_JsonPayload:
286 b.EncodeVarint(6<<3 | proto.WireBytes)
287 if err := b.EncodeMessage(x.JsonPayload); err != nil {
292 return fmt.Errorf("LogEntry.Payload has unexpected type %T", x)
297 func _LogEntry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
300 case 2: // payload.proto_payload
301 if wire != proto.WireBytes {
302 return true, proto.ErrInternalBadWireType
304 msg := new(google_protobuf2.Any)
305 err := b.DecodeMessage(msg)
306 m.Payload = &LogEntry_ProtoPayload{msg}
308 case 3: // payload.text_payload
309 if wire != proto.WireBytes {
310 return true, proto.ErrInternalBadWireType
312 x, err := b.DecodeStringBytes()
313 m.Payload = &LogEntry_TextPayload{x}
315 case 6: // payload.json_payload
316 if wire != proto.WireBytes {
317 return true, proto.ErrInternalBadWireType
319 msg := new(google_protobuf3.Struct)
320 err := b.DecodeMessage(msg)
321 m.Payload = &LogEntry_JsonPayload{msg}
328 func _LogEntry_OneofSizer(msg proto.Message) (n int) {
331 switch x := m.Payload.(type) {
332 case *LogEntry_ProtoPayload:
333 s := proto.Size(x.ProtoPayload)
334 n += proto.SizeVarint(2<<3 | proto.WireBytes)
335 n += proto.SizeVarint(uint64(s))
337 case *LogEntry_TextPayload:
338 n += proto.SizeVarint(3<<3 | proto.WireBytes)
339 n += proto.SizeVarint(uint64(len(x.TextPayload)))
340 n += len(x.TextPayload)
341 case *LogEntry_JsonPayload:
342 s := proto.Size(x.JsonPayload)
343 n += proto.SizeVarint(6<<3 | proto.WireBytes)
344 n += proto.SizeVarint(uint64(s))
348 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
353 // Additional information about a potentially long-running operation with which
354 // a log entry is associated.
355 type LogEntryOperation struct {
356 // Optional. An arbitrary operation identifier. Log entries with the
357 // same identifier are assumed to be part of the same operation.
358 Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
359 // Optional. An arbitrary producer identifier. The combination of
360 // `id` and `producer` must be globally unique. Examples for `producer`:
361 // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
362 Producer string `protobuf:"bytes,2,opt,name=producer" json:"producer,omitempty"`
363 // Optional. Set this to True if this is the first log entry in the operation.
364 First bool `protobuf:"varint,3,opt,name=first" json:"first,omitempty"`
365 // Optional. Set this to True if this is the last log entry in the operation.
366 Last bool `protobuf:"varint,4,opt,name=last" json:"last,omitempty"`
369 func (m *LogEntryOperation) Reset() { *m = LogEntryOperation{} }
370 func (m *LogEntryOperation) String() string { return proto.CompactTextString(m) }
371 func (*LogEntryOperation) ProtoMessage() {}
372 func (*LogEntryOperation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
374 func (m *LogEntryOperation) GetId() string {
381 func (m *LogEntryOperation) GetProducer() string {
388 func (m *LogEntryOperation) GetFirst() bool {
395 func (m *LogEntryOperation) GetLast() bool {
402 // Additional information about the source code location that produced the log
404 type LogEntrySourceLocation struct {
405 // Optional. Source file name. Depending on the runtime environment, this
406 // might be a simple name or a fully-qualified name.
407 File string `protobuf:"bytes,1,opt,name=file" json:"file,omitempty"`
408 // Optional. Line within the source file. 1-based; 0 indicates no line number
410 Line int64 `protobuf:"varint,2,opt,name=line" json:"line,omitempty"`
411 // Optional. Human-readable name of the function or method being invoked, with
412 // optional context such as the class or package name. This information may be
413 // used in contexts such as the logs viewer, where a file and line number are
414 // less meaningful. The format can vary by language. For example:
415 // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
417 Function string `protobuf:"bytes,3,opt,name=function" json:"function,omitempty"`
420 func (m *LogEntrySourceLocation) Reset() { *m = LogEntrySourceLocation{} }
421 func (m *LogEntrySourceLocation) String() string { return proto.CompactTextString(m) }
422 func (*LogEntrySourceLocation) ProtoMessage() {}
423 func (*LogEntrySourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
425 func (m *LogEntrySourceLocation) GetFile() string {
432 func (m *LogEntrySourceLocation) GetLine() int64 {
439 func (m *LogEntrySourceLocation) GetFunction() string {
447 proto.RegisterType((*LogEntry)(nil), "google.logging.v2.LogEntry")
448 proto.RegisterType((*LogEntryOperation)(nil), "google.logging.v2.LogEntryOperation")
449 proto.RegisterType((*LogEntrySourceLocation)(nil), "google.logging.v2.LogEntrySourceLocation")
452 func init() { proto.RegisterFile("google/logging/v2/log_entry.proto", fileDescriptor0) }
454 var fileDescriptor0 = []byte{
455 // 699 bytes of a gzipped FileDescriptorProto
456 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x54, 0x5f, 0x6f, 0xdb, 0x36,
457 0x10, 0x8f, 0xec, 0xcc, 0x91, 0x69, 0xe7, 0x1f, 0x91, 0x25, 0x8a, 0x97, 0x61, 0x5e, 0x32, 0x6c,
458 0xde, 0x8b, 0x0c, 0x78, 0x2f, 0xc9, 0x12, 0xa0, 0xa8, 0x83, 0x22, 0x29, 0xe0, 0xb6, 0x01, 0x53,
459 0xf4, 0xa1, 0x28, 0x60, 0x30, 0x12, 0xad, 0xb0, 0x95, 0x49, 0x95, 0xa2, 0x8c, 0xfa, 0xa9, 0xdf,
460 0xa7, 0x9f, 0xa8, 0x1f, 0xa5, 0x8f, 0x05, 0x8f, 0x94, 0xed, 0xda, 0x41, 0xfa, 0x76, 0x27, 0xfe,
461 0xfe, 0xdc, 0x1d, 0x8f, 0x42, 0x7f, 0x26, 0x52, 0x26, 0x29, 0xeb, 0xa6, 0x32, 0x49, 0xb8, 0x48,
462 0xba, 0x93, 0x9e, 0x09, 0x87, 0x4c, 0x68, 0x35, 0x0d, 0x33, 0x25, 0xb5, 0xc4, 0xbb, 0x16, 0x12,
463 0x3a, 0x48, 0x38, 0xe9, 0xb5, 0x8e, 0x1c, 0x8b, 0x66, 0xbc, 0x4b, 0x85, 0x90, 0x9a, 0x6a, 0x2e,
464 0x45, 0x6e, 0x09, 0xad, 0x93, 0x85, 0xd3, 0xb1, 0x14, 0x5c, 0x4b, 0xc5, 0xe2, 0xa1, 0x62, 0xb9,
465 0x2c, 0x54, 0xc4, 0x1c, 0xe8, 0xef, 0x25, 0x63, 0x3d, 0xcd, 0x58, 0xf7, 0x5e, 0xeb, 0x6c, 0xa8,
466 0xd8, 0xc7, 0x82, 0xe5, 0xfa, 0x31, 0x9c, 0x29, 0x31, 0x67, 0x13, 0xa6, 0xb8, 0x76, 0x55, 0xb6,
467 0x0e, 0x1d, 0x0e, 0xb2, 0xbb, 0x62, 0xd4, 0xa5, 0xa2, 0x3c, 0x3a, 0x5a, 0x3e, 0xca, 0xb5, 0x2a,
468 0xa2, 0xd2, 0xe0, 0x8f, 0xe5, 0x53, 0xcd, 0xc7, 0x2c, 0xd7, 0x74, 0x9c, 0x59, 0xc0, 0xf1, 0xd7,
469 0x1a, 0xf2, 0x07, 0x32, 0x79, 0x66, 0x46, 0x82, 0x0f, 0x91, 0x6f, 0xcc, 0x05, 0x1d, 0xb3, 0xa0,
470 0xd9, 0xf6, 0x3a, 0x75, 0xb2, 0x91, 0xca, 0xe4, 0x25, 0x1d, 0x33, 0x7c, 0x86, 0xfc, 0xb2, 0xc7,
471 0xc0, 0x6f, 0x7b, 0x9d, 0x46, 0xef, 0xf7, 0xd0, 0x8d, 0x8e, 0x66, 0x3c, 0x7c, 0x51, 0x4e, 0x82,
472 0x38, 0x10, 0x99, 0xc1, 0xf1, 0x39, 0xda, 0x04, 0xaf, 0x61, 0x46, 0xa7, 0xa9, 0xa4, 0x71, 0x50,
473 0x01, 0xfe, 0x5e, 0xc9, 0x2f, 0x6b, 0x0b, 0x9f, 0x8a, 0xe9, 0xf5, 0x1a, 0x69, 0x42, 0x7e, 0x63,
474 0xb1, 0xf8, 0x04, 0x35, 0x35, 0xfb, 0xa4, 0x67, 0xdc, 0xaa, 0x29, 0xeb, 0x7a, 0x8d, 0x34, 0xcc,
475 0xd7, 0x12, 0x74, 0x81, 0x9a, 0xef, 0x73, 0x29, 0x66, 0xa0, 0x1a, 0x18, 0x1c, 0xac, 0x18, 0xdc,
476 0xc2, 0x68, 0x0c, 0xdb, 0xc0, 0x4b, 0xf6, 0x29, 0xaa, 0xcf, 0xa6, 0x12, 0xd4, 0x81, 0xda, 0x5a,
477 0xa1, 0xbe, 0x2e, 0x11, 0x64, 0x0e, 0xc6, 0x57, 0x68, 0x57, 0xb1, 0x88, 0xf1, 0x09, 0x1b, 0xce,
478 0x15, 0x82, 0x9f, 0x2a, 0xec, 0x38, 0xd2, 0xec, 0x0b, 0xbe, 0x40, 0x7e, 0x79, 0xe3, 0x01, 0x6a,
479 0x7b, 0x9d, 0xad, 0x5e, 0x3b, 0x5c, 0x5a, 0x4c, 0xb3, 0x1a, 0xe1, 0x40, 0x26, 0xb7, 0x0e, 0x47,
480 0x66, 0x0c, 0xfc, 0x1b, 0xaa, 0x73, 0x91, 0x33, 0xa5, 0x87, 0x3c, 0x0e, 0xd6, 0xe1, 0xde, 0x7c,
481 0xfb, 0xe1, 0x79, 0x8c, 0x2f, 0x51, 0x73, 0x71, 0xf1, 0x82, 0x0d, 0x28, 0xef, 0x61, 0xf9, 0x6b,
482 0xad, 0x33, 0x62, 0x71, 0xa4, 0x71, 0x3f, 0x4f, 0xf0, 0x13, 0x54, 0x4b, 0xe9, 0x1d, 0x4b, 0xf3,
483 0xa0, 0xd1, 0xae, 0x76, 0x1a, 0xbd, 0x7f, 0xc2, 0x95, 0x67, 0x13, 0x96, 0x5b, 0x14, 0x0e, 0x00,
484 0x09, 0x31, 0x71, 0x34, 0xdc, 0x47, 0x75, 0x99, 0x31, 0x05, 0x2f, 0x29, 0xd8, 0x86, 0x12, 0xfe,
485 0x7a, 0x44, 0xe3, 0x55, 0x89, 0x25, 0x73, 0x1a, 0xde, 0x43, 0xbf, 0x68, 0x45, 0x23, 0x16, 0xec,
486 0x43, 0x8b, 0x36, 0xc1, 0x04, 0x6d, 0xdb, 0x3d, 0x1b, 0xa6, 0x32, 0xb2, 0xfa, 0x07, 0xa0, 0xff,
487 0xef, 0x23, 0xfa, 0xb7, 0xc0, 0x18, 0x38, 0x02, 0xd9, 0xca, 0x7f, 0xc8, 0x5b, 0x67, 0xa8, 0xb1,
488 0xd0, 0x04, 0xde, 0x41, 0xd5, 0x0f, 0x6c, 0x1a, 0x78, 0x60, 0x6b, 0x42, 0x53, 0xca, 0x84, 0xa6,
489 0x05, 0x83, 0x55, 0xae, 0x13, 0x9b, 0xfc, 0x5f, 0x39, 0xf5, 0xfa, 0x75, 0xb4, 0xe1, 0xb6, 0xf0,
490 0x98, 0xa3, 0xdd, 0x95, 0x7e, 0xf0, 0x16, 0xaa, 0xf0, 0xd8, 0x49, 0x55, 0x78, 0x8c, 0x5b, 0xc8,
491 0xcf, 0x94, 0x8c, 0x8b, 0x88, 0x29, 0x27, 0x36, 0xcb, 0x8d, 0xcb, 0x88, 0xab, 0x5c, 0xc3, 0xd2,
492 0xfb, 0xc4, 0x26, 0x18, 0xa3, 0xf5, 0x94, 0xe6, 0x1a, 0x2e, 0xda, 0x27, 0x10, 0x1f, 0xbf, 0x43,
493 0xfb, 0x0f, 0xb7, 0x66, 0xd0, 0x23, 0x9e, 0x32, 0xe7, 0x08, 0x31, 0x28, 0x70, 0x61, 0x8b, 0xaf,
494 0x12, 0x88, 0x4d, 0x1d, 0xa3, 0x42, 0x44, 0x30, 0xbf, 0xaa, 0xad, 0xa3, 0xcc, 0xfb, 0x9f, 0xd1,
495 0xaf, 0x91, 0x1c, 0xaf, 0x8e, 0xb3, 0xbf, 0x59, 0x9a, 0xde, 0xc0, 0x93, 0xf5, 0xde, 0x9e, 0x3a,
496 0x4c, 0x22, 0x53, 0x2a, 0x92, 0x50, 0xaa, 0xa4, 0x9b, 0x30, 0x01, 0x4f, 0xa0, 0x6b, 0x8f, 0x68,
497 0xc6, 0xf3, 0x85, 0xff, 0xf1, 0xb9, 0x0b, 0xbf, 0x79, 0xde, 0x97, 0xca, 0xc1, 0x95, 0x65, 0x5f,
498 0xa6, 0xb2, 0x88, 0xcd, 0x5d, 0x81, 0xcf, 0x9b, 0xde, 0x5d, 0x0d, 0x14, 0xfe, 0xfb, 0x1e, 0x00,
499 0x00, 0xff, 0xff, 0xa9, 0x61, 0x44, 0xa8, 0xd0, 0x05, 0x00, 0x00,