1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/devtools/cloudtrace/v2/trace.proto
3
4package cloudtrace // import "google.golang.org/genproto/googleapis/devtools/cloudtrace/v2"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import timestamp "github.com/golang/protobuf/ptypes/timestamp"
10import wrappers "github.com/golang/protobuf/ptypes/wrappers"
11import _ "google.golang.org/genproto/googleapis/api/annotations"
12import status "google.golang.org/genproto/googleapis/rpc/status"
13
14// Reference imports to suppress errors if they are not otherwise used.
15var _ = proto.Marshal
16var _ = fmt.Errorf
17var _ = math.Inf
18
19// This is a compile-time assertion to ensure that this generated file
20// is compatible with the proto package it is being compiled against.
21// A compilation error at this line likely means your copy of the
22// proto package needs to be updated.
23const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
24
25// Indicates whether the message was sent or received.
26type Span_TimeEvent_MessageEvent_Type int32
27
28const (
29	// Unknown event type.
30	Span_TimeEvent_MessageEvent_TYPE_UNSPECIFIED Span_TimeEvent_MessageEvent_Type = 0
31	// Indicates a sent message.
32	Span_TimeEvent_MessageEvent_SENT Span_TimeEvent_MessageEvent_Type = 1
33	// Indicates a received message.
34	Span_TimeEvent_MessageEvent_RECEIVED Span_TimeEvent_MessageEvent_Type = 2
35)
36
37var Span_TimeEvent_MessageEvent_Type_name = map[int32]string{
38	0: "TYPE_UNSPECIFIED",
39	1: "SENT",
40	2: "RECEIVED",
41}
42var Span_TimeEvent_MessageEvent_Type_value = map[string]int32{
43	"TYPE_UNSPECIFIED": 0,
44	"SENT":             1,
45	"RECEIVED":         2,
46}
47
48func (x Span_TimeEvent_MessageEvent_Type) String() string {
49	return proto.EnumName(Span_TimeEvent_MessageEvent_Type_name, int32(x))
50}
51func (Span_TimeEvent_MessageEvent_Type) EnumDescriptor() ([]byte, []int) {
52	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 1, 1, 0}
53}
54
55// The relationship of the current span relative to the linked span: child,
56// parent, or unspecified.
57type Span_Link_Type int32
58
59const (
60	// The relationship of the two spans is unknown.
61	Span_Link_TYPE_UNSPECIFIED Span_Link_Type = 0
62	// The linked span is a child of the current span.
63	Span_Link_CHILD_LINKED_SPAN Span_Link_Type = 1
64	// The linked span is a parent of the current span.
65	Span_Link_PARENT_LINKED_SPAN Span_Link_Type = 2
66)
67
68var Span_Link_Type_name = map[int32]string{
69	0: "TYPE_UNSPECIFIED",
70	1: "CHILD_LINKED_SPAN",
71	2: "PARENT_LINKED_SPAN",
72}
73var Span_Link_Type_value = map[string]int32{
74	"TYPE_UNSPECIFIED":   0,
75	"CHILD_LINKED_SPAN":  1,
76	"PARENT_LINKED_SPAN": 2,
77}
78
79func (x Span_Link_Type) String() string {
80	return proto.EnumName(Span_Link_Type_name, int32(x))
81}
82func (Span_Link_Type) EnumDescriptor() ([]byte, []int) {
83	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 3, 0}
84}
85
86// A span represents a single operation within a trace. Spans can be
87// nested to form a trace tree. Often, a trace contains a root span
88// that describes the end-to-end latency, and one or more subspans for
89// its sub-operations. A trace can also contain multiple root spans,
90// or none at all. Spans do not need to be contiguous—there may be
91// gaps or overlaps between spans in a trace.
92type Span struct {
93	// The resource name of the span in the following format:
94	//
95	//     projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]
96	//
97	// [TRACE_ID] is a unique identifier for a trace within a project;
98	// it is a 32-character hexadecimal encoding of a 16-byte array.
99	//
100	// [SPAN_ID] is a unique identifier for a span within a trace; it
101	// is a 16-character hexadecimal encoding of an 8-byte array.
102	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
103	// The [SPAN_ID] portion of the span's resource name.
104	SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
105	// The [SPAN_ID] of this span's parent span. If this is a root span,
106	// then this field must be empty.
107	ParentSpanId string `protobuf:"bytes,3,opt,name=parent_span_id,json=parentSpanId,proto3" json:"parent_span_id,omitempty"`
108	// A description of the span's operation (up to 128 bytes).
109	// Stackdriver Trace displays the description in the
110	// {% dynamic print site_values.console_name %}.
111	// For example, the display name can be a qualified method name or a file name
112	// and a line number where the operation is called. A best practice is to use
113	// the same display name within an application and at the same call point.
114	// This makes it easier to correlate spans in different traces.
115	DisplayName *TruncatableString `protobuf:"bytes,4,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
116	// The start time of the span. On the client side, this is the time kept by
117	// the local machine where the span execution starts. On the server side, this
118	// is the time when the server's application handler starts running.
119	StartTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
120	// The end time of the span. On the client side, this is the time kept by
121	// the local machine where the span execution ends. On the server side, this
122	// is the time when the server application handler stops running.
123	EndTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
124	// A set of attributes on the span. You can have up to 32 attributes per
125	// span.
126	Attributes *Span_Attributes `protobuf:"bytes,7,opt,name=attributes,proto3" json:"attributes,omitempty"`
127	// Stack trace captured at the start of the span.
128	StackTrace *StackTrace `protobuf:"bytes,8,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"`
129	// A set of time events. You can have up to 32 annotations and 128 message
130	// events per span.
131	TimeEvents *Span_TimeEvents `protobuf:"bytes,9,opt,name=time_events,json=timeEvents,proto3" json:"time_events,omitempty"`
132	// Links associated with the span. You can have up to 128 links per Span.
133	Links *Span_Links `protobuf:"bytes,10,opt,name=links,proto3" json:"links,omitempty"`
134	// An optional final status for this span.
135	Status *status.Status `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
136	// (Optional) Set this parameter to indicate whether this span is in
137	// the same process as its parent. If you do not set this parameter,
138	// Stackdriver Trace is unable to take advantage of this helpful
139	// information.
140	SameProcessAsParentSpan *wrappers.BoolValue `protobuf:"bytes,12,opt,name=same_process_as_parent_span,json=sameProcessAsParentSpan,proto3" json:"same_process_as_parent_span,omitempty"`
141	// An optional number of child spans that were generated while this span
142	// was active. If set, allows implementation to detect missing child spans.
143	ChildSpanCount       *wrappers.Int32Value `protobuf:"bytes,13,opt,name=child_span_count,json=childSpanCount,proto3" json:"child_span_count,omitempty"`
144	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
145	XXX_unrecognized     []byte               `json:"-"`
146	XXX_sizecache        int32                `json:"-"`
147}
148
149func (m *Span) Reset()         { *m = Span{} }
150func (m *Span) String() string { return proto.CompactTextString(m) }
151func (*Span) ProtoMessage()    {}
152func (*Span) Descriptor() ([]byte, []int) {
153	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0}
154}
155func (m *Span) XXX_Unmarshal(b []byte) error {
156	return xxx_messageInfo_Span.Unmarshal(m, b)
157}
158func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
159	return xxx_messageInfo_Span.Marshal(b, m, deterministic)
160}
161func (dst *Span) XXX_Merge(src proto.Message) {
162	xxx_messageInfo_Span.Merge(dst, src)
163}
164func (m *Span) XXX_Size() int {
165	return xxx_messageInfo_Span.Size(m)
166}
167func (m *Span) XXX_DiscardUnknown() {
168	xxx_messageInfo_Span.DiscardUnknown(m)
169}
170
171var xxx_messageInfo_Span proto.InternalMessageInfo
172
173func (m *Span) GetName() string {
174	if m != nil {
175		return m.Name
176	}
177	return ""
178}
179
180func (m *Span) GetSpanId() string {
181	if m != nil {
182		return m.SpanId
183	}
184	return ""
185}
186
187func (m *Span) GetParentSpanId() string {
188	if m != nil {
189		return m.ParentSpanId
190	}
191	return ""
192}
193
194func (m *Span) GetDisplayName() *TruncatableString {
195	if m != nil {
196		return m.DisplayName
197	}
198	return nil
199}
200
201func (m *Span) GetStartTime() *timestamp.Timestamp {
202	if m != nil {
203		return m.StartTime
204	}
205	return nil
206}
207
208func (m *Span) GetEndTime() *timestamp.Timestamp {
209	if m != nil {
210		return m.EndTime
211	}
212	return nil
213}
214
215func (m *Span) GetAttributes() *Span_Attributes {
216	if m != nil {
217		return m.Attributes
218	}
219	return nil
220}
221
222func (m *Span) GetStackTrace() *StackTrace {
223	if m != nil {
224		return m.StackTrace
225	}
226	return nil
227}
228
229func (m *Span) GetTimeEvents() *Span_TimeEvents {
230	if m != nil {
231		return m.TimeEvents
232	}
233	return nil
234}
235
236func (m *Span) GetLinks() *Span_Links {
237	if m != nil {
238		return m.Links
239	}
240	return nil
241}
242
243func (m *Span) GetStatus() *status.Status {
244	if m != nil {
245		return m.Status
246	}
247	return nil
248}
249
250func (m *Span) GetSameProcessAsParentSpan() *wrappers.BoolValue {
251	if m != nil {
252		return m.SameProcessAsParentSpan
253	}
254	return nil
255}
256
257func (m *Span) GetChildSpanCount() *wrappers.Int32Value {
258	if m != nil {
259		return m.ChildSpanCount
260	}
261	return nil
262}
263
264// A set of attributes, each in the format `[KEY]:[VALUE]`.
265type Span_Attributes struct {
266	// The set of attributes. Each attribute's key can be up to 128 bytes
267	// long. The value can be a string up to 256 bytes, an integer, or the
268	// Boolean values `true` and `false`. For example:
269	//
270	//     "/instance_id": "my-instance"
271	//     "/http/user_agent": ""
272	//     "/http/request_bytes": 300
273	//     "abc.com/myattribute": true
274	AttributeMap map[string]*AttributeValue `protobuf:"bytes,1,rep,name=attribute_map,json=attributeMap,proto3" json:"attribute_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
275	// The number of attributes that were discarded. Attributes can be discarded
276	// because their keys are too long or because there are too many attributes.
277	// If this value is 0 then all attributes are valid.
278	DroppedAttributesCount int32    `protobuf:"varint,2,opt,name=dropped_attributes_count,json=droppedAttributesCount,proto3" json:"dropped_attributes_count,omitempty"`
279	XXX_NoUnkeyedLiteral   struct{} `json:"-"`
280	XXX_unrecognized       []byte   `json:"-"`
281	XXX_sizecache          int32    `json:"-"`
282}
283
284func (m *Span_Attributes) Reset()         { *m = Span_Attributes{} }
285func (m *Span_Attributes) String() string { return proto.CompactTextString(m) }
286func (*Span_Attributes) ProtoMessage()    {}
287func (*Span_Attributes) Descriptor() ([]byte, []int) {
288	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 0}
289}
290func (m *Span_Attributes) XXX_Unmarshal(b []byte) error {
291	return xxx_messageInfo_Span_Attributes.Unmarshal(m, b)
292}
293func (m *Span_Attributes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
294	return xxx_messageInfo_Span_Attributes.Marshal(b, m, deterministic)
295}
296func (dst *Span_Attributes) XXX_Merge(src proto.Message) {
297	xxx_messageInfo_Span_Attributes.Merge(dst, src)
298}
299func (m *Span_Attributes) XXX_Size() int {
300	return xxx_messageInfo_Span_Attributes.Size(m)
301}
302func (m *Span_Attributes) XXX_DiscardUnknown() {
303	xxx_messageInfo_Span_Attributes.DiscardUnknown(m)
304}
305
306var xxx_messageInfo_Span_Attributes proto.InternalMessageInfo
307
308func (m *Span_Attributes) GetAttributeMap() map[string]*AttributeValue {
309	if m != nil {
310		return m.AttributeMap
311	}
312	return nil
313}
314
315func (m *Span_Attributes) GetDroppedAttributesCount() int32 {
316	if m != nil {
317		return m.DroppedAttributesCount
318	}
319	return 0
320}
321
322// A time-stamped annotation or message event in the Span.
323type Span_TimeEvent struct {
324	// The timestamp indicating the time the event occurred.
325	Time *timestamp.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
326	// A `TimeEvent` can contain either an `Annotation` object or a
327	// `MessageEvent` object, but not both.
328	//
329	// Types that are valid to be assigned to Value:
330	//	*Span_TimeEvent_Annotation_
331	//	*Span_TimeEvent_MessageEvent_
332	Value                isSpan_TimeEvent_Value `protobuf_oneof:"value"`
333	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
334	XXX_unrecognized     []byte                 `json:"-"`
335	XXX_sizecache        int32                  `json:"-"`
336}
337
338func (m *Span_TimeEvent) Reset()         { *m = Span_TimeEvent{} }
339func (m *Span_TimeEvent) String() string { return proto.CompactTextString(m) }
340func (*Span_TimeEvent) ProtoMessage()    {}
341func (*Span_TimeEvent) Descriptor() ([]byte, []int) {
342	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 1}
343}
344func (m *Span_TimeEvent) XXX_Unmarshal(b []byte) error {
345	return xxx_messageInfo_Span_TimeEvent.Unmarshal(m, b)
346}
347func (m *Span_TimeEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
348	return xxx_messageInfo_Span_TimeEvent.Marshal(b, m, deterministic)
349}
350func (dst *Span_TimeEvent) XXX_Merge(src proto.Message) {
351	xxx_messageInfo_Span_TimeEvent.Merge(dst, src)
352}
353func (m *Span_TimeEvent) XXX_Size() int {
354	return xxx_messageInfo_Span_TimeEvent.Size(m)
355}
356func (m *Span_TimeEvent) XXX_DiscardUnknown() {
357	xxx_messageInfo_Span_TimeEvent.DiscardUnknown(m)
358}
359
360var xxx_messageInfo_Span_TimeEvent proto.InternalMessageInfo
361
362func (m *Span_TimeEvent) GetTime() *timestamp.Timestamp {
363	if m != nil {
364		return m.Time
365	}
366	return nil
367}
368
369type isSpan_TimeEvent_Value interface {
370	isSpan_TimeEvent_Value()
371}
372
373type Span_TimeEvent_Annotation_ struct {
374	Annotation *Span_TimeEvent_Annotation `protobuf:"bytes,2,opt,name=annotation,proto3,oneof"`
375}
376
377type Span_TimeEvent_MessageEvent_ struct {
378	MessageEvent *Span_TimeEvent_MessageEvent `protobuf:"bytes,3,opt,name=message_event,json=messageEvent,proto3,oneof"`
379}
380
381func (*Span_TimeEvent_Annotation_) isSpan_TimeEvent_Value() {}
382
383func (*Span_TimeEvent_MessageEvent_) isSpan_TimeEvent_Value() {}
384
385func (m *Span_TimeEvent) GetValue() isSpan_TimeEvent_Value {
386	if m != nil {
387		return m.Value
388	}
389	return nil
390}
391
392func (m *Span_TimeEvent) GetAnnotation() *Span_TimeEvent_Annotation {
393	if x, ok := m.GetValue().(*Span_TimeEvent_Annotation_); ok {
394		return x.Annotation
395	}
396	return nil
397}
398
399func (m *Span_TimeEvent) GetMessageEvent() *Span_TimeEvent_MessageEvent {
400	if x, ok := m.GetValue().(*Span_TimeEvent_MessageEvent_); ok {
401		return x.MessageEvent
402	}
403	return nil
404}
405
406// XXX_OneofFuncs is for the internal use of the proto package.
407func (*Span_TimeEvent) 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{}) {
408	return _Span_TimeEvent_OneofMarshaler, _Span_TimeEvent_OneofUnmarshaler, _Span_TimeEvent_OneofSizer, []interface{}{
409		(*Span_TimeEvent_Annotation_)(nil),
410		(*Span_TimeEvent_MessageEvent_)(nil),
411	}
412}
413
414func _Span_TimeEvent_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
415	m := msg.(*Span_TimeEvent)
416	// value
417	switch x := m.Value.(type) {
418	case *Span_TimeEvent_Annotation_:
419		b.EncodeVarint(2<<3 | proto.WireBytes)
420		if err := b.EncodeMessage(x.Annotation); err != nil {
421			return err
422		}
423	case *Span_TimeEvent_MessageEvent_:
424		b.EncodeVarint(3<<3 | proto.WireBytes)
425		if err := b.EncodeMessage(x.MessageEvent); err != nil {
426			return err
427		}
428	case nil:
429	default:
430		return fmt.Errorf("Span_TimeEvent.Value has unexpected type %T", x)
431	}
432	return nil
433}
434
435func _Span_TimeEvent_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
436	m := msg.(*Span_TimeEvent)
437	switch tag {
438	case 2: // value.annotation
439		if wire != proto.WireBytes {
440			return true, proto.ErrInternalBadWireType
441		}
442		msg := new(Span_TimeEvent_Annotation)
443		err := b.DecodeMessage(msg)
444		m.Value = &Span_TimeEvent_Annotation_{msg}
445		return true, err
446	case 3: // value.message_event
447		if wire != proto.WireBytes {
448			return true, proto.ErrInternalBadWireType
449		}
450		msg := new(Span_TimeEvent_MessageEvent)
451		err := b.DecodeMessage(msg)
452		m.Value = &Span_TimeEvent_MessageEvent_{msg}
453		return true, err
454	default:
455		return false, nil
456	}
457}
458
459func _Span_TimeEvent_OneofSizer(msg proto.Message) (n int) {
460	m := msg.(*Span_TimeEvent)
461	// value
462	switch x := m.Value.(type) {
463	case *Span_TimeEvent_Annotation_:
464		s := proto.Size(x.Annotation)
465		n += 1 // tag and wire
466		n += proto.SizeVarint(uint64(s))
467		n += s
468	case *Span_TimeEvent_MessageEvent_:
469		s := proto.Size(x.MessageEvent)
470		n += 1 // tag and wire
471		n += proto.SizeVarint(uint64(s))
472		n += s
473	case nil:
474	default:
475		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
476	}
477	return n
478}
479
480// Text annotation with a set of attributes.
481type Span_TimeEvent_Annotation struct {
482	// A user-supplied message describing the event. The maximum length for
483	// the description is 256 bytes.
484	Description *TruncatableString `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
485	// A set of attributes on the annotation. You can have up to 4 attributes
486	// per Annotation.
487	Attributes           *Span_Attributes `protobuf:"bytes,2,opt,name=attributes,proto3" json:"attributes,omitempty"`
488	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
489	XXX_unrecognized     []byte           `json:"-"`
490	XXX_sizecache        int32            `json:"-"`
491}
492
493func (m *Span_TimeEvent_Annotation) Reset()         { *m = Span_TimeEvent_Annotation{} }
494func (m *Span_TimeEvent_Annotation) String() string { return proto.CompactTextString(m) }
495func (*Span_TimeEvent_Annotation) ProtoMessage()    {}
496func (*Span_TimeEvent_Annotation) Descriptor() ([]byte, []int) {
497	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 1, 0}
498}
499func (m *Span_TimeEvent_Annotation) XXX_Unmarshal(b []byte) error {
500	return xxx_messageInfo_Span_TimeEvent_Annotation.Unmarshal(m, b)
501}
502func (m *Span_TimeEvent_Annotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
503	return xxx_messageInfo_Span_TimeEvent_Annotation.Marshal(b, m, deterministic)
504}
505func (dst *Span_TimeEvent_Annotation) XXX_Merge(src proto.Message) {
506	xxx_messageInfo_Span_TimeEvent_Annotation.Merge(dst, src)
507}
508func (m *Span_TimeEvent_Annotation) XXX_Size() int {
509	return xxx_messageInfo_Span_TimeEvent_Annotation.Size(m)
510}
511func (m *Span_TimeEvent_Annotation) XXX_DiscardUnknown() {
512	xxx_messageInfo_Span_TimeEvent_Annotation.DiscardUnknown(m)
513}
514
515var xxx_messageInfo_Span_TimeEvent_Annotation proto.InternalMessageInfo
516
517func (m *Span_TimeEvent_Annotation) GetDescription() *TruncatableString {
518	if m != nil {
519		return m.Description
520	}
521	return nil
522}
523
524func (m *Span_TimeEvent_Annotation) GetAttributes() *Span_Attributes {
525	if m != nil {
526		return m.Attributes
527	}
528	return nil
529}
530
531// An event describing a message sent/received between Spans.
532type Span_TimeEvent_MessageEvent struct {
533	// Type of MessageEvent. Indicates whether the message was sent or
534	// received.
535	Type Span_TimeEvent_MessageEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.devtools.cloudtrace.v2.Span_TimeEvent_MessageEvent_Type" json:"type,omitempty"`
536	// An identifier for the MessageEvent's message that can be used to match
537	// SENT and RECEIVED MessageEvents. It is recommended to be unique within
538	// a Span.
539	Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
540	// The number of uncompressed bytes sent or received.
541	UncompressedSizeBytes int64 `protobuf:"varint,3,opt,name=uncompressed_size_bytes,json=uncompressedSizeBytes,proto3" json:"uncompressed_size_bytes,omitempty"`
542	// The number of compressed bytes sent or received. If missing assumed to
543	// be the same size as uncompressed.
544	CompressedSizeBytes  int64    `protobuf:"varint,4,opt,name=compressed_size_bytes,json=compressedSizeBytes,proto3" json:"compressed_size_bytes,omitempty"`
545	XXX_NoUnkeyedLiteral struct{} `json:"-"`
546	XXX_unrecognized     []byte   `json:"-"`
547	XXX_sizecache        int32    `json:"-"`
548}
549
550func (m *Span_TimeEvent_MessageEvent) Reset()         { *m = Span_TimeEvent_MessageEvent{} }
551func (m *Span_TimeEvent_MessageEvent) String() string { return proto.CompactTextString(m) }
552func (*Span_TimeEvent_MessageEvent) ProtoMessage()    {}
553func (*Span_TimeEvent_MessageEvent) Descriptor() ([]byte, []int) {
554	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 1, 1}
555}
556func (m *Span_TimeEvent_MessageEvent) XXX_Unmarshal(b []byte) error {
557	return xxx_messageInfo_Span_TimeEvent_MessageEvent.Unmarshal(m, b)
558}
559func (m *Span_TimeEvent_MessageEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
560	return xxx_messageInfo_Span_TimeEvent_MessageEvent.Marshal(b, m, deterministic)
561}
562func (dst *Span_TimeEvent_MessageEvent) XXX_Merge(src proto.Message) {
563	xxx_messageInfo_Span_TimeEvent_MessageEvent.Merge(dst, src)
564}
565func (m *Span_TimeEvent_MessageEvent) XXX_Size() int {
566	return xxx_messageInfo_Span_TimeEvent_MessageEvent.Size(m)
567}
568func (m *Span_TimeEvent_MessageEvent) XXX_DiscardUnknown() {
569	xxx_messageInfo_Span_TimeEvent_MessageEvent.DiscardUnknown(m)
570}
571
572var xxx_messageInfo_Span_TimeEvent_MessageEvent proto.InternalMessageInfo
573
574func (m *Span_TimeEvent_MessageEvent) GetType() Span_TimeEvent_MessageEvent_Type {
575	if m != nil {
576		return m.Type
577	}
578	return Span_TimeEvent_MessageEvent_TYPE_UNSPECIFIED
579}
580
581func (m *Span_TimeEvent_MessageEvent) GetId() int64 {
582	if m != nil {
583		return m.Id
584	}
585	return 0
586}
587
588func (m *Span_TimeEvent_MessageEvent) GetUncompressedSizeBytes() int64 {
589	if m != nil {
590		return m.UncompressedSizeBytes
591	}
592	return 0
593}
594
595func (m *Span_TimeEvent_MessageEvent) GetCompressedSizeBytes() int64 {
596	if m != nil {
597		return m.CompressedSizeBytes
598	}
599	return 0
600}
601
602// A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation
603// on the span, consisting of either user-supplied key:value pairs, or
604// details of a message sent/received between Spans.
605type Span_TimeEvents struct {
606	// A collection of `TimeEvent`s.
607	TimeEvent []*Span_TimeEvent `protobuf:"bytes,1,rep,name=time_event,json=timeEvent,proto3" json:"time_event,omitempty"`
608	// The number of dropped annotations in all the included time events.
609	// If the value is 0, then no annotations were dropped.
610	DroppedAnnotationsCount int32 `protobuf:"varint,2,opt,name=dropped_annotations_count,json=droppedAnnotationsCount,proto3" json:"dropped_annotations_count,omitempty"`
611	// The number of dropped message events in all the included time events.
612	// If the value is 0, then no message events were dropped.
613	DroppedMessageEventsCount int32    `protobuf:"varint,3,opt,name=dropped_message_events_count,json=droppedMessageEventsCount,proto3" json:"dropped_message_events_count,omitempty"`
614	XXX_NoUnkeyedLiteral      struct{} `json:"-"`
615	XXX_unrecognized          []byte   `json:"-"`
616	XXX_sizecache             int32    `json:"-"`
617}
618
619func (m *Span_TimeEvents) Reset()         { *m = Span_TimeEvents{} }
620func (m *Span_TimeEvents) String() string { return proto.CompactTextString(m) }
621func (*Span_TimeEvents) ProtoMessage()    {}
622func (*Span_TimeEvents) Descriptor() ([]byte, []int) {
623	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 2}
624}
625func (m *Span_TimeEvents) XXX_Unmarshal(b []byte) error {
626	return xxx_messageInfo_Span_TimeEvents.Unmarshal(m, b)
627}
628func (m *Span_TimeEvents) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
629	return xxx_messageInfo_Span_TimeEvents.Marshal(b, m, deterministic)
630}
631func (dst *Span_TimeEvents) XXX_Merge(src proto.Message) {
632	xxx_messageInfo_Span_TimeEvents.Merge(dst, src)
633}
634func (m *Span_TimeEvents) XXX_Size() int {
635	return xxx_messageInfo_Span_TimeEvents.Size(m)
636}
637func (m *Span_TimeEvents) XXX_DiscardUnknown() {
638	xxx_messageInfo_Span_TimeEvents.DiscardUnknown(m)
639}
640
641var xxx_messageInfo_Span_TimeEvents proto.InternalMessageInfo
642
643func (m *Span_TimeEvents) GetTimeEvent() []*Span_TimeEvent {
644	if m != nil {
645		return m.TimeEvent
646	}
647	return nil
648}
649
650func (m *Span_TimeEvents) GetDroppedAnnotationsCount() int32 {
651	if m != nil {
652		return m.DroppedAnnotationsCount
653	}
654	return 0
655}
656
657func (m *Span_TimeEvents) GetDroppedMessageEventsCount() int32 {
658	if m != nil {
659		return m.DroppedMessageEventsCount
660	}
661	return 0
662}
663
664// A pointer from the current span to another span in the same trace or in a
665// different trace. For example, this can be used in batching operations,
666// where a single batch handler processes multiple requests from different
667// traces or when the handler receives a request from a different project.
668type Span_Link struct {
669	// The [TRACE_ID] for a trace within a project.
670	TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
671	// The [SPAN_ID] for a span within a trace.
672	SpanId string `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
673	// The relationship of the current span relative to the linked span.
674	Type Span_Link_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.devtools.cloudtrace.v2.Span_Link_Type" json:"type,omitempty"`
675	// A set of attributes on the link. You have have up to  32 attributes per
676	// link.
677	Attributes           *Span_Attributes `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"`
678	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
679	XXX_unrecognized     []byte           `json:"-"`
680	XXX_sizecache        int32            `json:"-"`
681}
682
683func (m *Span_Link) Reset()         { *m = Span_Link{} }
684func (m *Span_Link) String() string { return proto.CompactTextString(m) }
685func (*Span_Link) ProtoMessage()    {}
686func (*Span_Link) Descriptor() ([]byte, []int) {
687	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 3}
688}
689func (m *Span_Link) XXX_Unmarshal(b []byte) error {
690	return xxx_messageInfo_Span_Link.Unmarshal(m, b)
691}
692func (m *Span_Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
693	return xxx_messageInfo_Span_Link.Marshal(b, m, deterministic)
694}
695func (dst *Span_Link) XXX_Merge(src proto.Message) {
696	xxx_messageInfo_Span_Link.Merge(dst, src)
697}
698func (m *Span_Link) XXX_Size() int {
699	return xxx_messageInfo_Span_Link.Size(m)
700}
701func (m *Span_Link) XXX_DiscardUnknown() {
702	xxx_messageInfo_Span_Link.DiscardUnknown(m)
703}
704
705var xxx_messageInfo_Span_Link proto.InternalMessageInfo
706
707func (m *Span_Link) GetTraceId() string {
708	if m != nil {
709		return m.TraceId
710	}
711	return ""
712}
713
714func (m *Span_Link) GetSpanId() string {
715	if m != nil {
716		return m.SpanId
717	}
718	return ""
719}
720
721func (m *Span_Link) GetType() Span_Link_Type {
722	if m != nil {
723		return m.Type
724	}
725	return Span_Link_TYPE_UNSPECIFIED
726}
727
728func (m *Span_Link) GetAttributes() *Span_Attributes {
729	if m != nil {
730		return m.Attributes
731	}
732	return nil
733}
734
735// A collection of links, which are references from this span to a span
736// in the same or different trace.
737type Span_Links struct {
738	// A collection of links.
739	Link []*Span_Link `protobuf:"bytes,1,rep,name=link,proto3" json:"link,omitempty"`
740	// The number of dropped links after the maximum size was enforced. If
741	// this value is 0, then no links were dropped.
742	DroppedLinksCount    int32    `protobuf:"varint,2,opt,name=dropped_links_count,json=droppedLinksCount,proto3" json:"dropped_links_count,omitempty"`
743	XXX_NoUnkeyedLiteral struct{} `json:"-"`
744	XXX_unrecognized     []byte   `json:"-"`
745	XXX_sizecache        int32    `json:"-"`
746}
747
748func (m *Span_Links) Reset()         { *m = Span_Links{} }
749func (m *Span_Links) String() string { return proto.CompactTextString(m) }
750func (*Span_Links) ProtoMessage()    {}
751func (*Span_Links) Descriptor() ([]byte, []int) {
752	return fileDescriptor_trace_fa9cb54dc45915f9, []int{0, 4}
753}
754func (m *Span_Links) XXX_Unmarshal(b []byte) error {
755	return xxx_messageInfo_Span_Links.Unmarshal(m, b)
756}
757func (m *Span_Links) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
758	return xxx_messageInfo_Span_Links.Marshal(b, m, deterministic)
759}
760func (dst *Span_Links) XXX_Merge(src proto.Message) {
761	xxx_messageInfo_Span_Links.Merge(dst, src)
762}
763func (m *Span_Links) XXX_Size() int {
764	return xxx_messageInfo_Span_Links.Size(m)
765}
766func (m *Span_Links) XXX_DiscardUnknown() {
767	xxx_messageInfo_Span_Links.DiscardUnknown(m)
768}
769
770var xxx_messageInfo_Span_Links proto.InternalMessageInfo
771
772func (m *Span_Links) GetLink() []*Span_Link {
773	if m != nil {
774		return m.Link
775	}
776	return nil
777}
778
779func (m *Span_Links) GetDroppedLinksCount() int32 {
780	if m != nil {
781		return m.DroppedLinksCount
782	}
783	return 0
784}
785
786// The allowed types for [VALUE] in a `[KEY]:[VALUE]` attribute.
787type AttributeValue struct {
788	// The type of the value.
789	//
790	// Types that are valid to be assigned to Value:
791	//	*AttributeValue_StringValue
792	//	*AttributeValue_IntValue
793	//	*AttributeValue_BoolValue
794	Value                isAttributeValue_Value `protobuf_oneof:"value"`
795	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
796	XXX_unrecognized     []byte                 `json:"-"`
797	XXX_sizecache        int32                  `json:"-"`
798}
799
800func (m *AttributeValue) Reset()         { *m = AttributeValue{} }
801func (m *AttributeValue) String() string { return proto.CompactTextString(m) }
802func (*AttributeValue) ProtoMessage()    {}
803func (*AttributeValue) Descriptor() ([]byte, []int) {
804	return fileDescriptor_trace_fa9cb54dc45915f9, []int{1}
805}
806func (m *AttributeValue) XXX_Unmarshal(b []byte) error {
807	return xxx_messageInfo_AttributeValue.Unmarshal(m, b)
808}
809func (m *AttributeValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
810	return xxx_messageInfo_AttributeValue.Marshal(b, m, deterministic)
811}
812func (dst *AttributeValue) XXX_Merge(src proto.Message) {
813	xxx_messageInfo_AttributeValue.Merge(dst, src)
814}
815func (m *AttributeValue) XXX_Size() int {
816	return xxx_messageInfo_AttributeValue.Size(m)
817}
818func (m *AttributeValue) XXX_DiscardUnknown() {
819	xxx_messageInfo_AttributeValue.DiscardUnknown(m)
820}
821
822var xxx_messageInfo_AttributeValue proto.InternalMessageInfo
823
824type isAttributeValue_Value interface {
825	isAttributeValue_Value()
826}
827
828type AttributeValue_StringValue struct {
829	StringValue *TruncatableString `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"`
830}
831
832type AttributeValue_IntValue struct {
833	IntValue int64 `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3,oneof"`
834}
835
836type AttributeValue_BoolValue struct {
837	BoolValue bool `protobuf:"varint,3,opt,name=bool_value,json=boolValue,proto3,oneof"`
838}
839
840func (*AttributeValue_StringValue) isAttributeValue_Value() {}
841
842func (*AttributeValue_IntValue) isAttributeValue_Value() {}
843
844func (*AttributeValue_BoolValue) isAttributeValue_Value() {}
845
846func (m *AttributeValue) GetValue() isAttributeValue_Value {
847	if m != nil {
848		return m.Value
849	}
850	return nil
851}
852
853func (m *AttributeValue) GetStringValue() *TruncatableString {
854	if x, ok := m.GetValue().(*AttributeValue_StringValue); ok {
855		return x.StringValue
856	}
857	return nil
858}
859
860func (m *AttributeValue) GetIntValue() int64 {
861	if x, ok := m.GetValue().(*AttributeValue_IntValue); ok {
862		return x.IntValue
863	}
864	return 0
865}
866
867func (m *AttributeValue) GetBoolValue() bool {
868	if x, ok := m.GetValue().(*AttributeValue_BoolValue); ok {
869		return x.BoolValue
870	}
871	return false
872}
873
874// XXX_OneofFuncs is for the internal use of the proto package.
875func (*AttributeValue) 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{}) {
876	return _AttributeValue_OneofMarshaler, _AttributeValue_OneofUnmarshaler, _AttributeValue_OneofSizer, []interface{}{
877		(*AttributeValue_StringValue)(nil),
878		(*AttributeValue_IntValue)(nil),
879		(*AttributeValue_BoolValue)(nil),
880	}
881}
882
883func _AttributeValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
884	m := msg.(*AttributeValue)
885	// value
886	switch x := m.Value.(type) {
887	case *AttributeValue_StringValue:
888		b.EncodeVarint(1<<3 | proto.WireBytes)
889		if err := b.EncodeMessage(x.StringValue); err != nil {
890			return err
891		}
892	case *AttributeValue_IntValue:
893		b.EncodeVarint(2<<3 | proto.WireVarint)
894		b.EncodeVarint(uint64(x.IntValue))
895	case *AttributeValue_BoolValue:
896		t := uint64(0)
897		if x.BoolValue {
898			t = 1
899		}
900		b.EncodeVarint(3<<3 | proto.WireVarint)
901		b.EncodeVarint(t)
902	case nil:
903	default:
904		return fmt.Errorf("AttributeValue.Value has unexpected type %T", x)
905	}
906	return nil
907}
908
909func _AttributeValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
910	m := msg.(*AttributeValue)
911	switch tag {
912	case 1: // value.string_value
913		if wire != proto.WireBytes {
914			return true, proto.ErrInternalBadWireType
915		}
916		msg := new(TruncatableString)
917		err := b.DecodeMessage(msg)
918		m.Value = &AttributeValue_StringValue{msg}
919		return true, err
920	case 2: // value.int_value
921		if wire != proto.WireVarint {
922			return true, proto.ErrInternalBadWireType
923		}
924		x, err := b.DecodeVarint()
925		m.Value = &AttributeValue_IntValue{int64(x)}
926		return true, err
927	case 3: // value.bool_value
928		if wire != proto.WireVarint {
929			return true, proto.ErrInternalBadWireType
930		}
931		x, err := b.DecodeVarint()
932		m.Value = &AttributeValue_BoolValue{x != 0}
933		return true, err
934	default:
935		return false, nil
936	}
937}
938
939func _AttributeValue_OneofSizer(msg proto.Message) (n int) {
940	m := msg.(*AttributeValue)
941	// value
942	switch x := m.Value.(type) {
943	case *AttributeValue_StringValue:
944		s := proto.Size(x.StringValue)
945		n += 1 // tag and wire
946		n += proto.SizeVarint(uint64(s))
947		n += s
948	case *AttributeValue_IntValue:
949		n += 1 // tag and wire
950		n += proto.SizeVarint(uint64(x.IntValue))
951	case *AttributeValue_BoolValue:
952		n += 1 // tag and wire
953		n += 1
954	case nil:
955	default:
956		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
957	}
958	return n
959}
960
961// A call stack appearing in a trace.
962type StackTrace struct {
963	// Stack frames in this stack trace. A maximum of 128 frames are allowed.
964	StackFrames *StackTrace_StackFrames `protobuf:"bytes,1,opt,name=stack_frames,json=stackFrames,proto3" json:"stack_frames,omitempty"`
965	// The hash ID is used to conserve network bandwidth for duplicate
966	// stack traces within a single trace.
967	//
968	// Often multiple spans will have identical stack traces.
969	// The first occurrence of a stack trace should contain both the
970	// `stackFrame` content and a value in `stackTraceHashId`.
971	//
972	// Subsequent spans within the same request can refer
973	// to that stack trace by only setting `stackTraceHashId`.
974	StackTraceHashId     int64    `protobuf:"varint,2,opt,name=stack_trace_hash_id,json=stackTraceHashId,proto3" json:"stack_trace_hash_id,omitempty"`
975	XXX_NoUnkeyedLiteral struct{} `json:"-"`
976	XXX_unrecognized     []byte   `json:"-"`
977	XXX_sizecache        int32    `json:"-"`
978}
979
980func (m *StackTrace) Reset()         { *m = StackTrace{} }
981func (m *StackTrace) String() string { return proto.CompactTextString(m) }
982func (*StackTrace) ProtoMessage()    {}
983func (*StackTrace) Descriptor() ([]byte, []int) {
984	return fileDescriptor_trace_fa9cb54dc45915f9, []int{2}
985}
986func (m *StackTrace) XXX_Unmarshal(b []byte) error {
987	return xxx_messageInfo_StackTrace.Unmarshal(m, b)
988}
989func (m *StackTrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
990	return xxx_messageInfo_StackTrace.Marshal(b, m, deterministic)
991}
992func (dst *StackTrace) XXX_Merge(src proto.Message) {
993	xxx_messageInfo_StackTrace.Merge(dst, src)
994}
995func (m *StackTrace) XXX_Size() int {
996	return xxx_messageInfo_StackTrace.Size(m)
997}
998func (m *StackTrace) XXX_DiscardUnknown() {
999	xxx_messageInfo_StackTrace.DiscardUnknown(m)
1000}
1001
1002var xxx_messageInfo_StackTrace proto.InternalMessageInfo
1003
1004func (m *StackTrace) GetStackFrames() *StackTrace_StackFrames {
1005	if m != nil {
1006		return m.StackFrames
1007	}
1008	return nil
1009}
1010
1011func (m *StackTrace) GetStackTraceHashId() int64 {
1012	if m != nil {
1013		return m.StackTraceHashId
1014	}
1015	return 0
1016}
1017
1018// Represents a single stack frame in a stack trace.
1019type StackTrace_StackFrame struct {
1020	// The fully-qualified name that uniquely identifies the function or
1021	// method that is active in this frame (up to 1024 bytes).
1022	FunctionName *TruncatableString `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"`
1023	// An un-mangled function name, if `function_name` is
1024	// [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can
1025	// be fully-qualified (up to 1024 bytes).
1026	OriginalFunctionName *TruncatableString `protobuf:"bytes,2,opt,name=original_function_name,json=originalFunctionName,proto3" json:"original_function_name,omitempty"`
1027	// The name of the source file where the function call appears (up to 256
1028	// bytes).
1029	FileName *TruncatableString `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
1030	// The line number in `file_name` where the function call appears.
1031	LineNumber int64 `protobuf:"varint,4,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"`
1032	// The column number where the function call appears, if available.
1033	// This is important in JavaScript because of its anonymous functions.
1034	ColumnNumber int64 `protobuf:"varint,5,opt,name=column_number,json=columnNumber,proto3" json:"column_number,omitempty"`
1035	// The binary module from where the code was loaded.
1036	LoadModule *Module `protobuf:"bytes,6,opt,name=load_module,json=loadModule,proto3" json:"load_module,omitempty"`
1037	// The version of the deployed source code (up to 128 bytes).
1038	SourceVersion        *TruncatableString `protobuf:"bytes,7,opt,name=source_version,json=sourceVersion,proto3" json:"source_version,omitempty"`
1039	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1040	XXX_unrecognized     []byte             `json:"-"`
1041	XXX_sizecache        int32              `json:"-"`
1042}
1043
1044func (m *StackTrace_StackFrame) Reset()         { *m = StackTrace_StackFrame{} }
1045func (m *StackTrace_StackFrame) String() string { return proto.CompactTextString(m) }
1046func (*StackTrace_StackFrame) ProtoMessage()    {}
1047func (*StackTrace_StackFrame) Descriptor() ([]byte, []int) {
1048	return fileDescriptor_trace_fa9cb54dc45915f9, []int{2, 0}
1049}
1050func (m *StackTrace_StackFrame) XXX_Unmarshal(b []byte) error {
1051	return xxx_messageInfo_StackTrace_StackFrame.Unmarshal(m, b)
1052}
1053func (m *StackTrace_StackFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1054	return xxx_messageInfo_StackTrace_StackFrame.Marshal(b, m, deterministic)
1055}
1056func (dst *StackTrace_StackFrame) XXX_Merge(src proto.Message) {
1057	xxx_messageInfo_StackTrace_StackFrame.Merge(dst, src)
1058}
1059func (m *StackTrace_StackFrame) XXX_Size() int {
1060	return xxx_messageInfo_StackTrace_StackFrame.Size(m)
1061}
1062func (m *StackTrace_StackFrame) XXX_DiscardUnknown() {
1063	xxx_messageInfo_StackTrace_StackFrame.DiscardUnknown(m)
1064}
1065
1066var xxx_messageInfo_StackTrace_StackFrame proto.InternalMessageInfo
1067
1068func (m *StackTrace_StackFrame) GetFunctionName() *TruncatableString {
1069	if m != nil {
1070		return m.FunctionName
1071	}
1072	return nil
1073}
1074
1075func (m *StackTrace_StackFrame) GetOriginalFunctionName() *TruncatableString {
1076	if m != nil {
1077		return m.OriginalFunctionName
1078	}
1079	return nil
1080}
1081
1082func (m *StackTrace_StackFrame) GetFileName() *TruncatableString {
1083	if m != nil {
1084		return m.FileName
1085	}
1086	return nil
1087}
1088
1089func (m *StackTrace_StackFrame) GetLineNumber() int64 {
1090	if m != nil {
1091		return m.LineNumber
1092	}
1093	return 0
1094}
1095
1096func (m *StackTrace_StackFrame) GetColumnNumber() int64 {
1097	if m != nil {
1098		return m.ColumnNumber
1099	}
1100	return 0
1101}
1102
1103func (m *StackTrace_StackFrame) GetLoadModule() *Module {
1104	if m != nil {
1105		return m.LoadModule
1106	}
1107	return nil
1108}
1109
1110func (m *StackTrace_StackFrame) GetSourceVersion() *TruncatableString {
1111	if m != nil {
1112		return m.SourceVersion
1113	}
1114	return nil
1115}
1116
1117// A collection of stack frames, which can be truncated.
1118type StackTrace_StackFrames struct {
1119	// Stack frames in this call stack.
1120	Frame []*StackTrace_StackFrame `protobuf:"bytes,1,rep,name=frame,proto3" json:"frame,omitempty"`
1121	// The number of stack frames that were dropped because there
1122	// were too many stack frames.
1123	// If this value is 0, then no stack frames were dropped.
1124	DroppedFramesCount   int32    `protobuf:"varint,2,opt,name=dropped_frames_count,json=droppedFramesCount,proto3" json:"dropped_frames_count,omitempty"`
1125	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1126	XXX_unrecognized     []byte   `json:"-"`
1127	XXX_sizecache        int32    `json:"-"`
1128}
1129
1130func (m *StackTrace_StackFrames) Reset()         { *m = StackTrace_StackFrames{} }
1131func (m *StackTrace_StackFrames) String() string { return proto.CompactTextString(m) }
1132func (*StackTrace_StackFrames) ProtoMessage()    {}
1133func (*StackTrace_StackFrames) Descriptor() ([]byte, []int) {
1134	return fileDescriptor_trace_fa9cb54dc45915f9, []int{2, 1}
1135}
1136func (m *StackTrace_StackFrames) XXX_Unmarshal(b []byte) error {
1137	return xxx_messageInfo_StackTrace_StackFrames.Unmarshal(m, b)
1138}
1139func (m *StackTrace_StackFrames) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1140	return xxx_messageInfo_StackTrace_StackFrames.Marshal(b, m, deterministic)
1141}
1142func (dst *StackTrace_StackFrames) XXX_Merge(src proto.Message) {
1143	xxx_messageInfo_StackTrace_StackFrames.Merge(dst, src)
1144}
1145func (m *StackTrace_StackFrames) XXX_Size() int {
1146	return xxx_messageInfo_StackTrace_StackFrames.Size(m)
1147}
1148func (m *StackTrace_StackFrames) XXX_DiscardUnknown() {
1149	xxx_messageInfo_StackTrace_StackFrames.DiscardUnknown(m)
1150}
1151
1152var xxx_messageInfo_StackTrace_StackFrames proto.InternalMessageInfo
1153
1154func (m *StackTrace_StackFrames) GetFrame() []*StackTrace_StackFrame {
1155	if m != nil {
1156		return m.Frame
1157	}
1158	return nil
1159}
1160
1161func (m *StackTrace_StackFrames) GetDroppedFramesCount() int32 {
1162	if m != nil {
1163		return m.DroppedFramesCount
1164	}
1165	return 0
1166}
1167
1168// Binary module.
1169type Module struct {
1170	// For example: main binary, kernel modules, and dynamic libraries
1171	// such as libc.so, sharedlib.so (up to 256 bytes).
1172	Module *TruncatableString `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
1173	// A unique identifier for the module, usually a hash of its
1174	// contents (up to 128 bytes).
1175	BuildId              *TruncatableString `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
1176	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1177	XXX_unrecognized     []byte             `json:"-"`
1178	XXX_sizecache        int32              `json:"-"`
1179}
1180
1181func (m *Module) Reset()         { *m = Module{} }
1182func (m *Module) String() string { return proto.CompactTextString(m) }
1183func (*Module) ProtoMessage()    {}
1184func (*Module) Descriptor() ([]byte, []int) {
1185	return fileDescriptor_trace_fa9cb54dc45915f9, []int{3}
1186}
1187func (m *Module) XXX_Unmarshal(b []byte) error {
1188	return xxx_messageInfo_Module.Unmarshal(m, b)
1189}
1190func (m *Module) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1191	return xxx_messageInfo_Module.Marshal(b, m, deterministic)
1192}
1193func (dst *Module) XXX_Merge(src proto.Message) {
1194	xxx_messageInfo_Module.Merge(dst, src)
1195}
1196func (m *Module) XXX_Size() int {
1197	return xxx_messageInfo_Module.Size(m)
1198}
1199func (m *Module) XXX_DiscardUnknown() {
1200	xxx_messageInfo_Module.DiscardUnknown(m)
1201}
1202
1203var xxx_messageInfo_Module proto.InternalMessageInfo
1204
1205func (m *Module) GetModule() *TruncatableString {
1206	if m != nil {
1207		return m.Module
1208	}
1209	return nil
1210}
1211
1212func (m *Module) GetBuildId() *TruncatableString {
1213	if m != nil {
1214		return m.BuildId
1215	}
1216	return nil
1217}
1218
1219// Represents a string that might be shortened to a specified length.
1220type TruncatableString struct {
1221	// The shortened string. For example, if the original string is 500
1222	// bytes long and the limit of the string is 128 bytes, then
1223	// `value` contains the first 128 bytes of the 500-byte string.
1224	//
1225	// Truncation always happens on a UTF8 character boundary. If there
1226	// are multi-byte characters in the string, then the length of the
1227	// shortened string might be less than the size limit.
1228	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
1229	// The number of bytes removed from the original string. If this
1230	// value is 0, then the string was not shortened.
1231	TruncatedByteCount   int32    `protobuf:"varint,2,opt,name=truncated_byte_count,json=truncatedByteCount,proto3" json:"truncated_byte_count,omitempty"`
1232	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1233	XXX_unrecognized     []byte   `json:"-"`
1234	XXX_sizecache        int32    `json:"-"`
1235}
1236
1237func (m *TruncatableString) Reset()         { *m = TruncatableString{} }
1238func (m *TruncatableString) String() string { return proto.CompactTextString(m) }
1239func (*TruncatableString) ProtoMessage()    {}
1240func (*TruncatableString) Descriptor() ([]byte, []int) {
1241	return fileDescriptor_trace_fa9cb54dc45915f9, []int{4}
1242}
1243func (m *TruncatableString) XXX_Unmarshal(b []byte) error {
1244	return xxx_messageInfo_TruncatableString.Unmarshal(m, b)
1245}
1246func (m *TruncatableString) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1247	return xxx_messageInfo_TruncatableString.Marshal(b, m, deterministic)
1248}
1249func (dst *TruncatableString) XXX_Merge(src proto.Message) {
1250	xxx_messageInfo_TruncatableString.Merge(dst, src)
1251}
1252func (m *TruncatableString) XXX_Size() int {
1253	return xxx_messageInfo_TruncatableString.Size(m)
1254}
1255func (m *TruncatableString) XXX_DiscardUnknown() {
1256	xxx_messageInfo_TruncatableString.DiscardUnknown(m)
1257}
1258
1259var xxx_messageInfo_TruncatableString proto.InternalMessageInfo
1260
1261func (m *TruncatableString) GetValue() string {
1262	if m != nil {
1263		return m.Value
1264	}
1265	return ""
1266}
1267
1268func (m *TruncatableString) GetTruncatedByteCount() int32 {
1269	if m != nil {
1270		return m.TruncatedByteCount
1271	}
1272	return 0
1273}
1274
1275func init() {
1276	proto.RegisterType((*Span)(nil), "google.devtools.cloudtrace.v2.Span")
1277	proto.RegisterType((*Span_Attributes)(nil), "google.devtools.cloudtrace.v2.Span.Attributes")
1278	proto.RegisterMapType((map[string]*AttributeValue)(nil), "google.devtools.cloudtrace.v2.Span.Attributes.AttributeMapEntry")
1279	proto.RegisterType((*Span_TimeEvent)(nil), "google.devtools.cloudtrace.v2.Span.TimeEvent")
1280	proto.RegisterType((*Span_TimeEvent_Annotation)(nil), "google.devtools.cloudtrace.v2.Span.TimeEvent.Annotation")
1281	proto.RegisterType((*Span_TimeEvent_MessageEvent)(nil), "google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent")
1282	proto.RegisterType((*Span_TimeEvents)(nil), "google.devtools.cloudtrace.v2.Span.TimeEvents")
1283	proto.RegisterType((*Span_Link)(nil), "google.devtools.cloudtrace.v2.Span.Link")
1284	proto.RegisterType((*Span_Links)(nil), "google.devtools.cloudtrace.v2.Span.Links")
1285	proto.RegisterType((*AttributeValue)(nil), "google.devtools.cloudtrace.v2.AttributeValue")
1286	proto.RegisterType((*StackTrace)(nil), "google.devtools.cloudtrace.v2.StackTrace")
1287	proto.RegisterType((*StackTrace_StackFrame)(nil), "google.devtools.cloudtrace.v2.StackTrace.StackFrame")
1288	proto.RegisterType((*StackTrace_StackFrames)(nil), "google.devtools.cloudtrace.v2.StackTrace.StackFrames")
1289	proto.RegisterType((*Module)(nil), "google.devtools.cloudtrace.v2.Module")
1290	proto.RegisterType((*TruncatableString)(nil), "google.devtools.cloudtrace.v2.TruncatableString")
1291	proto.RegisterEnum("google.devtools.cloudtrace.v2.Span_TimeEvent_MessageEvent_Type", Span_TimeEvent_MessageEvent_Type_name, Span_TimeEvent_MessageEvent_Type_value)
1292	proto.RegisterEnum("google.devtools.cloudtrace.v2.Span_Link_Type", Span_Link_Type_name, Span_Link_Type_value)
1293}
1294
1295func init() {
1296	proto.RegisterFile("google/devtools/cloudtrace/v2/trace.proto", fileDescriptor_trace_fa9cb54dc45915f9)
1297}
1298
1299var fileDescriptor_trace_fa9cb54dc45915f9 = []byte{
1300	// 1425 bytes of a gzipped FileDescriptorProto
1301	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x57, 0x4b, 0x6f, 0xdb, 0xc6,
1302	0x16, 0x36, 0xf5, 0xd6, 0x91, 0x6c, 0xc8, 0x13, 0x3b, 0x56, 0x94, 0xe4, 0x26, 0xd7, 0xf7, 0x16,
1303	0x70, 0x0a, 0x98, 0x0a, 0x94, 0xa4, 0x48, 0xd3, 0x02, 0xa9, 0x1f, 0x72, 0xa4, 0xc4, 0x56, 0x05,
1304	0x4a, 0x71, 0xd3, 0x34, 0x00, 0x31, 0x22, 0xc7, 0x32, 0x11, 0x8a, 0x24, 0x38, 0x43, 0x17, 0xce,
1305	0xae, 0xeb, 0xae, 0xbb, 0x29, 0x50, 0x74, 0x59, 0x20, 0xab, 0xfc, 0x8e, 0x2e, 0xba, 0xed, 0x7f,
1306	0xe9, 0xaa, 0x98, 0x07, 0x49, 0x29, 0x2f, 0xdb, 0xca, 0x6e, 0x66, 0xce, 0xf9, 0x3e, 0x9e, 0x33,
1307	0x73, 0x5e, 0x84, 0x5b, 0x63, 0xdf, 0x1f, 0xbb, 0xa4, 0x69, 0x93, 0x13, 0xe6, 0xfb, 0x2e, 0x6d,
1308	0x5a, 0xae, 0x1f, 0xd9, 0x2c, 0xc4, 0x16, 0x69, 0x9e, 0xb4, 0x9a, 0x62, 0xa1, 0x07, 0xa1, 0xcf,
1309	0x7c, 0x74, 0x5d, 0xaa, 0xea, 0xb1, 0xaa, 0x9e, 0xaa, 0xea, 0x27, 0xad, 0xc6, 0x35, 0xc5, 0x84,
1310	0x03, 0xa7, 0x89, 0x3d, 0xcf, 0x67, 0x98, 0x39, 0xbe, 0x47, 0x25, 0xb8, 0x71, 0x43, 0x49, 0xc5,
1311	0x6e, 0x14, 0x1d, 0x35, 0x99, 0x33, 0x21, 0x94, 0xe1, 0x49, 0xa0, 0x14, 0xfe, 0xf3, 0xb6, 0xc2,
1312	0x8f, 0x21, 0x0e, 0x02, 0x12, 0xc6, 0x04, 0x6b, 0x4a, 0x1e, 0x06, 0x56, 0x93, 0x32, 0xcc, 0x22,
1313	0x25, 0x58, 0xff, 0x07, 0x41, 0x6e, 0x10, 0x60, 0x0f, 0x21, 0xc8, 0x79, 0x78, 0x42, 0xea, 0xda,
1314	0x4d, 0x6d, 0xa3, 0x6c, 0x88, 0x35, 0x5a, 0x83, 0x22, 0x0d, 0xb0, 0x67, 0x3a, 0x76, 0x3d, 0x23,
1315	0x8e, 0x0b, 0x7c, 0xdb, 0xb5, 0xd1, 0xff, 0x61, 0x29, 0xc0, 0x21, 0xf1, 0x98, 0x19, 0xcb, 0xb3,
1316	0x42, 0x5e, 0x95, 0xa7, 0x03, 0xa9, 0x35, 0x80, 0xaa, 0xed, 0xd0, 0xc0, 0xc5, 0xa7, 0xa6, 0xa0,
1317	0xce, 0xdd, 0xd4, 0x36, 0x2a, 0xad, 0xdb, 0xfa, 0x47, 0x6f, 0x42, 0x1f, 0x86, 0x91, 0x67, 0x61,
1318	0x86, 0x47, 0x2e, 0x19, 0xb0, 0xd0, 0xf1, 0xc6, 0x46, 0x45, 0xb1, 0xf4, 0xb8, 0x4d, 0x5f, 0x02,
1319	0x50, 0x86, 0x43, 0x66, 0xf2, 0x2b, 0xa8, 0xe7, 0x05, 0x65, 0x23, 0xa6, 0x8c, 0xdd, 0xd7, 0x87,
1320	0xf1, 0xfd, 0x18, 0x65, 0xa1, 0xcd, 0xf7, 0xe8, 0x1e, 0x94, 0x88, 0x67, 0x4b, 0x60, 0xe1, 0x4c,
1321	0x60, 0x91, 0x78, 0xb6, 0x80, 0xf5, 0x00, 0x30, 0x63, 0xa1, 0x33, 0x8a, 0x18, 0xa1, 0xf5, 0xa2,
1322	0x00, 0xea, 0x67, 0x38, 0xc1, 0x6f, 0x40, 0xdf, 0x4a, 0x50, 0xc6, 0x14, 0x03, 0x7a, 0x0c, 0x15,
1323	0xca, 0xb0, 0xf5, 0xd2, 0x14, 0xda, 0xf5, 0x92, 0x20, 0xbc, 0x75, 0x16, 0x21, 0x47, 0x0c, 0xf9,
1324	0xce, 0x00, 0x9a, 0xac, 0xd1, 0xb7, 0x50, 0xe1, 0xee, 0x98, 0xe4, 0x84, 0x78, 0x8c, 0xd6, 0xcb,
1325	0xe7, 0x37, 0x8e, 0xbb, 0xd6, 0x16, 0x28, 0x03, 0x58, 0xb2, 0x46, 0x0f, 0x21, 0xef, 0x3a, 0xde,
1326	0x4b, 0x5a, 0x87, 0xf3, 0x99, 0xc5, 0xa9, 0xf6, 0x39, 0xc0, 0x90, 0x38, 0xf4, 0x39, 0x14, 0x64,
1327	0x80, 0xd5, 0x2b, 0x82, 0x01, 0xc5, 0x0c, 0x61, 0x60, 0x71, 0x2f, 0x58, 0x44, 0x0d, 0xa5, 0x81,
1328	0x9e, 0xc1, 0x55, 0x8a, 0x27, 0xc4, 0x0c, 0x42, 0xdf, 0x22, 0x94, 0x9a, 0x98, 0x9a, 0x53, 0x61,
1329	0x55, 0xaf, 0x7e, 0xe0, 0x8d, 0xb6, 0x7d, 0xdf, 0x3d, 0xc4, 0x6e, 0x44, 0x8c, 0x35, 0x0e, 0xef,
1330	0x4b, 0xf4, 0x16, 0xed, 0x27, 0xc1, 0x87, 0xda, 0x50, 0xb3, 0x8e, 0x1d, 0xd7, 0x96, 0xf1, 0x69,
1331	0xf9, 0x91, 0xc7, 0xea, 0x8b, 0x82, 0xee, 0xea, 0x3b, 0x74, 0x5d, 0x8f, 0xdd, 0x69, 0x49, 0xbe,
1332	0x25, 0x01, 0xe2, 0x0c, 0x3b, 0x1c, 0xd2, 0xf8, 0x2d, 0x03, 0x90, 0xbe, 0x22, 0x22, 0xb0, 0x98,
1333	0xbc, 0xa3, 0x39, 0xc1, 0x41, 0x5d, 0xbb, 0x99, 0xdd, 0xa8, 0xb4, 0xbe, 0xb9, 0x58, 0x30, 0xa4,
1334	0xcb, 0x03, 0x1c, 0xb4, 0x3d, 0x16, 0x9e, 0x1a, 0x55, 0x3c, 0x75, 0x84, 0xee, 0x43, 0xdd, 0x0e,
1335	0xfd, 0x20, 0x20, 0xb6, 0x99, 0x86, 0x8d, 0x72, 0x82, 0xe7, 0x61, 0xde, 0xb8, 0xac, 0xe4, 0x29,
1336	0xa9, 0xb4, 0xd7, 0x83, 0xe5, 0x77, 0xc8, 0x51, 0x0d, 0xb2, 0x2f, 0xc9, 0xa9, 0x4a, 0x6c, 0xbe,
1337	0x44, 0x3b, 0x90, 0x3f, 0xe1, 0xfe, 0x0a, 0xb6, 0x4a, 0x6b, 0xf3, 0x0c, 0xfb, 0x13, 0x4a, 0x79,
1338	0x49, 0x12, 0xfb, 0x20, 0x73, 0x5f, 0x6b, 0xfc, 0x95, 0x87, 0x72, 0x12, 0x48, 0x48, 0x87, 0x9c,
1339	0xc8, 0x2d, 0xed, 0xcc, 0xdc, 0x12, 0x7a, 0xe8, 0x39, 0x40, 0x5a, 0xea, 0x94, 0x2d, 0xf7, 0x2f,
1340	0x14, 0xbb, 0xfa, 0x56, 0x82, 0xef, 0x2c, 0x18, 0x53, 0x6c, 0x08, 0xc3, 0xe2, 0x84, 0x50, 0x8a,
1341	0xc7, 0x2a, 0x37, 0x44, 0x81, 0xaa, 0xb4, 0x1e, 0x5c, 0x8c, 0xfe, 0x40, 0x52, 0x88, 0x4d, 0x67,
1342	0xc1, 0xa8, 0x4e, 0xa6, 0xf6, 0x8d, 0x37, 0x1a, 0x40, 0xfa, 0x7d, 0x64, 0x40, 0xc5, 0x26, 0xd4,
1343	0x0a, 0x9d, 0x40, 0xb8, 0xa3, 0xcd, 0x5d, 0xec, 0x52, 0x92, 0xb7, 0x4a, 0x4f, 0xe6, 0x53, 0x4b,
1344	0x4f, 0xe3, 0x97, 0x0c, 0x54, 0xa7, 0x7d, 0x42, 0x03, 0xc8, 0xb1, 0xd3, 0x40, 0x3e, 0xd9, 0x52,
1345	0xeb, 0xe1, 0xfc, 0xb7, 0xa3, 0x0f, 0x4f, 0x03, 0x62, 0x08, 0x32, 0xb4, 0x04, 0x19, 0xd5, 0x31,
1346	0xb2, 0x46, 0xc6, 0xb1, 0xd1, 0x17, 0xb0, 0x16, 0x79, 0x96, 0x3f, 0x09, 0x42, 0x42, 0x29, 0xb1,
1347	0x4d, 0xea, 0xbc, 0x22, 0xe6, 0xe8, 0x94, 0xbb, 0x94, 0x15, 0x4a, 0xab, 0xd3, 0xe2, 0x81, 0xf3,
1348	0x8a, 0x6c, 0x73, 0x21, 0x6a, 0xc1, 0xea, 0xfb, 0x51, 0x39, 0x81, 0xba, 0xf4, 0x1e, 0xcc, 0xfa,
1349	0x5d, 0xc8, 0x71, 0x4b, 0xd0, 0x0a, 0xd4, 0x86, 0xdf, 0xf7, 0xdb, 0xe6, 0xd3, 0xde, 0xa0, 0xdf,
1350	0xde, 0xe9, 0xee, 0x75, 0xdb, 0xbb, 0xb5, 0x05, 0x54, 0x82, 0xdc, 0xa0, 0xdd, 0x1b, 0xd6, 0x34,
1351	0x54, 0x85, 0x92, 0xd1, 0xde, 0x69, 0x77, 0x0f, 0xdb, 0xbb, 0xb5, 0xcc, 0x76, 0x51, 0x25, 0x44,
1352	0xe3, 0x6f, 0x0d, 0x20, 0xad, 0x8c, 0x68, 0x1f, 0x20, 0x2d, 0xaf, 0x2a, 0xdb, 0x37, 0x2f, 0x74,
1353	0x49, 0x46, 0x39, 0x29, 0xae, 0xe8, 0x01, 0x5c, 0x49, 0xf2, 0x3a, 0x6d, 0xf1, 0x33, 0x89, 0xbd,
1354	0x16, 0x27, 0x76, 0x2a, 0x17, 0x99, 0x8d, 0x1e, 0xc2, 0xb5, 0x18, 0x3b, 0x13, 0xd7, 0x31, 0x3c,
1355	0x2b, 0xe0, 0x31, 0xff, 0xf4, 0xcb, 0xa8, 0xd2, 0xf0, 0x6b, 0x06, 0x72, 0xbc, 0x50, 0xa3, 0x2b,
1356	0x50, 0x12, 0xb6, 0xf2, 0xae, 0x2d, 0x6b, 0x42, 0x51, 0xec, 0xbb, 0xf6, 0x87, 0xfb, 0xfd, 0x96,
1357	0x0a, 0x93, 0xac, 0x08, 0x93, 0xcd, 0xf3, 0x36, 0x85, 0xe9, 0xa0, 0x98, 0x0d, 0xe5, 0xdc, 0xa7,
1358	0x86, 0xf2, 0xfa, 0x93, 0x8f, 0x3e, 0xf4, 0x2a, 0x2c, 0xef, 0x74, 0xba, 0xfb, 0xbb, 0xe6, 0x7e,
1359	0xb7, 0xf7, 0xa4, 0xbd, 0x6b, 0x0e, 0xfa, 0x5b, 0xbd, 0x9a, 0x86, 0x2e, 0x03, 0xea, 0x6f, 0x19,
1360	0xed, 0xde, 0x70, 0xe6, 0x3c, 0xd3, 0x88, 0x20, 0x2f, 0x9a, 0x18, 0xfa, 0x1a, 0x72, 0xbc, 0x8d,
1361	0xa9, 0xa7, 0xde, 0x38, 0xaf, 0xa3, 0x86, 0x40, 0x21, 0x1d, 0x2e, 0xc5, 0x8f, 0x24, 0x9a, 0xe1,
1362	0xcc, 0xd3, 0x2e, 0x2b, 0x91, 0xf8, 0x90, 0x78, 0x93, 0xf5, 0x37, 0x1a, 0x2c, 0xcd, 0x16, 0x57,
1363	0xf4, 0x14, 0xaa, 0x54, 0x14, 0x02, 0x53, 0x56, 0xe8, 0x39, 0xcb, 0x48, 0x67, 0xc1, 0xa8, 0x48,
1364	0x1e, 0x49, 0x7b, 0x1d, 0xca, 0x8e, 0xc7, 0xcc, 0xb4, 0xea, 0x67, 0x3b, 0x0b, 0x46, 0xc9, 0xf1,
1365	0x98, 0x14, 0xdf, 0x00, 0x18, 0xf9, 0xbe, 0xab, 0xe4, 0xfc, 0x95, 0x4b, 0x9d, 0x05, 0xa3, 0x3c,
1366	0x8a, 0x1b, 0x6d, 0x92, 0x20, 0xeb, 0x7f, 0x14, 0x00, 0xd2, 0x59, 0x04, 0x3d, 0xe3, 0xe6, 0xf2,
1367	0x59, 0xe6, 0x28, 0xc4, 0x13, 0x42, 0x95, 0xb9, 0xf7, 0xce, 0x3d, 0xcc, 0xc8, 0xe5, 0x9e, 0x00,
1368	0x1b, 0x72, 0x2c, 0x92, 0x1b, 0xb4, 0x09, 0x97, 0xa6, 0xa6, 0x24, 0xf3, 0x18, 0xd3, 0x63, 0x33,
1369	0xa9, 0x2a, 0xb5, 0x74, 0x04, 0xea, 0x60, 0x7a, 0xdc, 0xb5, 0x1b, 0x3f, 0xe5, 0x94, 0x5d, 0x02,
1370	0x8e, 0x9e, 0xc2, 0xe2, 0x51, 0xe4, 0x59, 0x3c, 0x81, 0xcc, 0x64, 0xac, 0x9d, 0xa7, 0x1c, 0x57,
1371	0x63, 0x1a, 0x31, 0x7c, 0x1e, 0xc1, 0x65, 0x3f, 0x74, 0xc6, 0x8e, 0x87, 0x5d, 0x73, 0x96, 0x3f,
1372	0x33, 0x27, 0xff, 0x4a, 0xcc, 0xb7, 0x37, 0xfd, 0x9d, 0x03, 0x28, 0x1f, 0x39, 0x2e, 0x91, 0xd4,
1373	0xd9, 0x39, 0xa9, 0x4b, 0x9c, 0x42, 0xd0, 0xdd, 0x80, 0x8a, 0xeb, 0x78, 0xc4, 0xf4, 0xa2, 0xc9,
1374	0x88, 0x84, 0xaa, 0x7c, 0x02, 0x3f, 0xea, 0x89, 0x13, 0xf4, 0x3f, 0x58, 0xb4, 0x7c, 0x37, 0x9a,
1375	0x78, 0xb1, 0x4a, 0x5e, 0xa8, 0x54, 0xe5, 0xa1, 0x52, 0xda, 0x83, 0x8a, 0xeb, 0x63, 0xdb, 0x9c,
1376	0xf8, 0x76, 0xe4, 0xc6, 0x13, 0xf4, 0x67, 0x67, 0x98, 0x75, 0x20, 0x94, 0x0d, 0xe0, 0x48, 0xb9,
1377	0x46, 0xdf, 0xc1, 0x12, 0xf5, 0xa3, 0xd0, 0x22, 0xe6, 0x09, 0x09, 0x29, 0xef, 0x95, 0xc5, 0x39,
1378	0x3d, 0x5c, 0x94, 0x3c, 0x87, 0x92, 0xa6, 0xf1, 0xb3, 0x06, 0x95, 0xa9, 0x78, 0x42, 0x8f, 0x21,
1379	0x2f, 0xc2, 0x52, 0x65, 0xf3, 0xdd, 0x79, 0xa2, 0xd2, 0x90, 0x14, 0xe8, 0x36, 0xac, 0xc4, 0xa9,
1380	0x2d, 0x43, 0x7d, 0x26, 0xb7, 0x91, 0x92, 0xc9, 0x0f, 0xcb, 0xe4, 0xfe, 0x5d, 0x83, 0x82, 0xf2,
1381	0xb8, 0x03, 0x05, 0x75, 0x69, 0xf3, 0x86, 0xa1, 0xc2, 0xa3, 0x27, 0x50, 0x1a, 0x45, 0x7c, 0xae,
1382	0x55, 0xa9, 0x30, 0x0f, 0x57, 0x51, 0x30, 0x74, 0xed, 0xf5, 0x1f, 0x60, 0xf9, 0x1d, 0x29, 0x5a,
1383	0x89, 0x67, 0x43, 0xd9, 0x1b, 0xe4, 0x86, 0xbb, 0xcf, 0xa4, 0x2a, 0xb1, 0x45, 0x13, 0x9e, 0x75,
1384	0x3f, 0x91, 0xf1, 0x26, 0x2c, 0xdc, 0xdf, 0x7e, 0xad, 0xc1, 0x7f, 0x2d, 0x7f, 0xf2, 0x71, 0xeb,
1385	0xb6, 0x41, 0xdc, 0x77, 0x9f, 0x4f, 0x88, 0x7d, 0xed, 0xf9, 0x23, 0xa5, 0x3c, 0xf6, 0x5d, 0xec,
1386	0x8d, 0x75, 0x3f, 0x1c, 0x37, 0xc7, 0xc4, 0x13, 0xf3, 0x63, 0x53, 0x8a, 0x70, 0xe0, 0xd0, 0x0f,
1387	0xfc, 0x6d, 0x7f, 0x95, 0xee, 0x5e, 0x67, 0x56, 0x1f, 0x49, 0xa6, 0x1d, 0x7e, 0xa6, 0xcb, 0x47,
1388	0x3d, 0x6c, 0xfd, 0x19, 0x9f, 0xbf, 0x10, 0xe7, 0x2f, 0xc4, 0xf9, 0x8b, 0xc3, 0xd6, 0xa8, 0x20,
1389	0xbe, 0x71, 0xe7, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x7b, 0x3c, 0x8a, 0x77, 0xd0, 0x0f, 0x00,
1390	0x00,
1391}
1392