1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/devtools/clouddebugger/v2/data.proto 3 4package clouddebugger 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 _ "github.com/golang/protobuf/ptypes/duration" 12 timestamp "github.com/golang/protobuf/ptypes/timestamp" 13 wrappers "github.com/golang/protobuf/ptypes/wrappers" 14 _ "google.golang.org/genproto/googleapis/api/annotations" 15 v1 "google.golang.org/genproto/googleapis/devtools/source/v1" 16) 17 18// Reference imports to suppress errors if they are not otherwise used. 19var _ = proto.Marshal 20var _ = fmt.Errorf 21var _ = math.Inf 22 23// This is a compile-time assertion to ensure that this generated file 24// is compatible with the proto package it is being compiled against. 25// A compilation error at this line likely means your copy of the 26// proto package needs to be updated. 27const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 28 29// Enumerates references to which the message applies. 30type StatusMessage_Reference int32 31 32const ( 33 // Status doesn't refer to any particular input. 34 StatusMessage_UNSPECIFIED StatusMessage_Reference = 0 35 // Status applies to the breakpoint and is related to its location. 36 StatusMessage_BREAKPOINT_SOURCE_LOCATION StatusMessage_Reference = 3 37 // Status applies to the breakpoint and is related to its condition. 38 StatusMessage_BREAKPOINT_CONDITION StatusMessage_Reference = 4 39 // Status applies to the breakpoint and is related to its expressions. 40 StatusMessage_BREAKPOINT_EXPRESSION StatusMessage_Reference = 7 41 // Status applies to the breakpoint and is related to its age. 42 StatusMessage_BREAKPOINT_AGE StatusMessage_Reference = 8 43 // Status applies to the entire variable. 44 StatusMessage_VARIABLE_NAME StatusMessage_Reference = 5 45 // Status applies to variable value (variable name is valid). 46 StatusMessage_VARIABLE_VALUE StatusMessage_Reference = 6 47) 48 49var StatusMessage_Reference_name = map[int32]string{ 50 0: "UNSPECIFIED", 51 3: "BREAKPOINT_SOURCE_LOCATION", 52 4: "BREAKPOINT_CONDITION", 53 7: "BREAKPOINT_EXPRESSION", 54 8: "BREAKPOINT_AGE", 55 5: "VARIABLE_NAME", 56 6: "VARIABLE_VALUE", 57} 58 59var StatusMessage_Reference_value = map[string]int32{ 60 "UNSPECIFIED": 0, 61 "BREAKPOINT_SOURCE_LOCATION": 3, 62 "BREAKPOINT_CONDITION": 4, 63 "BREAKPOINT_EXPRESSION": 7, 64 "BREAKPOINT_AGE": 8, 65 "VARIABLE_NAME": 5, 66 "VARIABLE_VALUE": 6, 67} 68 69func (x StatusMessage_Reference) String() string { 70 return proto.EnumName(StatusMessage_Reference_name, int32(x)) 71} 72 73func (StatusMessage_Reference) EnumDescriptor() ([]byte, []int) { 74 return fileDescriptor_af1dc785e55f21bc, []int{1, 0} 75} 76 77// Actions that can be taken when a breakpoint hits. 78// Agents should reject breakpoints with unsupported or unknown action values. 79type Breakpoint_Action int32 80 81const ( 82 // Capture stack frame and variables and update the breakpoint. 83 // The data is only captured once. After that the breakpoint is set 84 // in a final state. 85 Breakpoint_CAPTURE Breakpoint_Action = 0 86 // Log each breakpoint hit. The breakpoint remains active until 87 // deleted or expired. 88 Breakpoint_LOG Breakpoint_Action = 1 89) 90 91var Breakpoint_Action_name = map[int32]string{ 92 0: "CAPTURE", 93 1: "LOG", 94} 95 96var Breakpoint_Action_value = map[string]int32{ 97 "CAPTURE": 0, 98 "LOG": 1, 99} 100 101func (x Breakpoint_Action) String() string { 102 return proto.EnumName(Breakpoint_Action_name, int32(x)) 103} 104 105func (Breakpoint_Action) EnumDescriptor() ([]byte, []int) { 106 return fileDescriptor_af1dc785e55f21bc, []int{5, 0} 107} 108 109// Log severity levels. 110type Breakpoint_LogLevel int32 111 112const ( 113 // Information log message. 114 Breakpoint_INFO Breakpoint_LogLevel = 0 115 // Warning log message. 116 Breakpoint_WARNING Breakpoint_LogLevel = 1 117 // Error log message. 118 Breakpoint_ERROR Breakpoint_LogLevel = 2 119) 120 121var Breakpoint_LogLevel_name = map[int32]string{ 122 0: "INFO", 123 1: "WARNING", 124 2: "ERROR", 125} 126 127var Breakpoint_LogLevel_value = map[string]int32{ 128 "INFO": 0, 129 "WARNING": 1, 130 "ERROR": 2, 131} 132 133func (x Breakpoint_LogLevel) String() string { 134 return proto.EnumName(Breakpoint_LogLevel_name, int32(x)) 135} 136 137func (Breakpoint_LogLevel) EnumDescriptor() ([]byte, []int) { 138 return fileDescriptor_af1dc785e55f21bc, []int{5, 1} 139} 140 141// Represents a message with parameters. 142type FormatMessage struct { 143 // Format template for the message. The `format` uses placeholders `$0`, 144 // `$1`, etc. to reference parameters. `$$` can be used to denote the `$` 145 // character. 146 // 147 // Examples: 148 // 149 // * `Failed to load '$0' which helps debug $1 the first time it 150 // is loaded. Again, $0 is very important.` 151 // * `Please pay $$10 to use $0 instead of $1.` 152 Format string `protobuf:"bytes,1,opt,name=format,proto3" json:"format,omitempty"` 153 // Optional parameters to be embedded into the message. 154 Parameters []string `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"` 155 XXX_NoUnkeyedLiteral struct{} `json:"-"` 156 XXX_unrecognized []byte `json:"-"` 157 XXX_sizecache int32 `json:"-"` 158} 159 160func (m *FormatMessage) Reset() { *m = FormatMessage{} } 161func (m *FormatMessage) String() string { return proto.CompactTextString(m) } 162func (*FormatMessage) ProtoMessage() {} 163func (*FormatMessage) Descriptor() ([]byte, []int) { 164 return fileDescriptor_af1dc785e55f21bc, []int{0} 165} 166 167func (m *FormatMessage) XXX_Unmarshal(b []byte) error { 168 return xxx_messageInfo_FormatMessage.Unmarshal(m, b) 169} 170func (m *FormatMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 171 return xxx_messageInfo_FormatMessage.Marshal(b, m, deterministic) 172} 173func (m *FormatMessage) XXX_Merge(src proto.Message) { 174 xxx_messageInfo_FormatMessage.Merge(m, src) 175} 176func (m *FormatMessage) XXX_Size() int { 177 return xxx_messageInfo_FormatMessage.Size(m) 178} 179func (m *FormatMessage) XXX_DiscardUnknown() { 180 xxx_messageInfo_FormatMessage.DiscardUnknown(m) 181} 182 183var xxx_messageInfo_FormatMessage proto.InternalMessageInfo 184 185func (m *FormatMessage) GetFormat() string { 186 if m != nil { 187 return m.Format 188 } 189 return "" 190} 191 192func (m *FormatMessage) GetParameters() []string { 193 if m != nil { 194 return m.Parameters 195 } 196 return nil 197} 198 199// Represents a contextual status message. 200// The message can indicate an error or informational status, and refer to 201// specific parts of the containing object. 202// For example, the `Breakpoint.status` field can indicate an error referring 203// to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. 204type StatusMessage struct { 205 // Distinguishes errors from informational messages. 206 IsError bool `protobuf:"varint,1,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` 207 // Reference to which the message applies. 208 RefersTo StatusMessage_Reference `protobuf:"varint,2,opt,name=refers_to,json=refersTo,proto3,enum=google.devtools.clouddebugger.v2.StatusMessage_Reference" json:"refers_to,omitempty"` 209 // Status message text. 210 Description *FormatMessage `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 211 XXX_NoUnkeyedLiteral struct{} `json:"-"` 212 XXX_unrecognized []byte `json:"-"` 213 XXX_sizecache int32 `json:"-"` 214} 215 216func (m *StatusMessage) Reset() { *m = StatusMessage{} } 217func (m *StatusMessage) String() string { return proto.CompactTextString(m) } 218func (*StatusMessage) ProtoMessage() {} 219func (*StatusMessage) Descriptor() ([]byte, []int) { 220 return fileDescriptor_af1dc785e55f21bc, []int{1} 221} 222 223func (m *StatusMessage) XXX_Unmarshal(b []byte) error { 224 return xxx_messageInfo_StatusMessage.Unmarshal(m, b) 225} 226func (m *StatusMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 227 return xxx_messageInfo_StatusMessage.Marshal(b, m, deterministic) 228} 229func (m *StatusMessage) XXX_Merge(src proto.Message) { 230 xxx_messageInfo_StatusMessage.Merge(m, src) 231} 232func (m *StatusMessage) XXX_Size() int { 233 return xxx_messageInfo_StatusMessage.Size(m) 234} 235func (m *StatusMessage) XXX_DiscardUnknown() { 236 xxx_messageInfo_StatusMessage.DiscardUnknown(m) 237} 238 239var xxx_messageInfo_StatusMessage proto.InternalMessageInfo 240 241func (m *StatusMessage) GetIsError() bool { 242 if m != nil { 243 return m.IsError 244 } 245 return false 246} 247 248func (m *StatusMessage) GetRefersTo() StatusMessage_Reference { 249 if m != nil { 250 return m.RefersTo 251 } 252 return StatusMessage_UNSPECIFIED 253} 254 255func (m *StatusMessage) GetDescription() *FormatMessage { 256 if m != nil { 257 return m.Description 258 } 259 return nil 260} 261 262// Represents a location in the source code. 263type SourceLocation struct { 264 // Path to the source file within the source context of the target binary. 265 Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` 266 // Line inside the file. The first line in the file has the value `1`. 267 Line int32 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"` 268 // Column within a line. The first column in a line as the value `1`. 269 // Agents that do not support setting breakpoints on specific columns ignore 270 // this field. 271 Column int32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"` 272 XXX_NoUnkeyedLiteral struct{} `json:"-"` 273 XXX_unrecognized []byte `json:"-"` 274 XXX_sizecache int32 `json:"-"` 275} 276 277func (m *SourceLocation) Reset() { *m = SourceLocation{} } 278func (m *SourceLocation) String() string { return proto.CompactTextString(m) } 279func (*SourceLocation) ProtoMessage() {} 280func (*SourceLocation) Descriptor() ([]byte, []int) { 281 return fileDescriptor_af1dc785e55f21bc, []int{2} 282} 283 284func (m *SourceLocation) XXX_Unmarshal(b []byte) error { 285 return xxx_messageInfo_SourceLocation.Unmarshal(m, b) 286} 287func (m *SourceLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 288 return xxx_messageInfo_SourceLocation.Marshal(b, m, deterministic) 289} 290func (m *SourceLocation) XXX_Merge(src proto.Message) { 291 xxx_messageInfo_SourceLocation.Merge(m, src) 292} 293func (m *SourceLocation) XXX_Size() int { 294 return xxx_messageInfo_SourceLocation.Size(m) 295} 296func (m *SourceLocation) XXX_DiscardUnknown() { 297 xxx_messageInfo_SourceLocation.DiscardUnknown(m) 298} 299 300var xxx_messageInfo_SourceLocation proto.InternalMessageInfo 301 302func (m *SourceLocation) GetPath() string { 303 if m != nil { 304 return m.Path 305 } 306 return "" 307} 308 309func (m *SourceLocation) GetLine() int32 { 310 if m != nil { 311 return m.Line 312 } 313 return 0 314} 315 316func (m *SourceLocation) GetColumn() int32 { 317 if m != nil { 318 return m.Column 319 } 320 return 0 321} 322 323// Represents a variable or an argument possibly of a compound object type. 324// Note how the following variables are represented: 325// 326// 1) A simple variable: 327// 328// int x = 5 329// 330// { name: "x", value: "5", type: "int" } // Captured variable 331// 332// 2) A compound object: 333// 334// struct T { 335// int m1; 336// int m2; 337// }; 338// T x = { 3, 7 }; 339// 340// { // Captured variable 341// name: "x", 342// type: "T", 343// members { name: "m1", value: "3", type: "int" }, 344// members { name: "m2", value: "7", type: "int" } 345// } 346// 347// 3) A pointer where the pointee was captured: 348// 349// T x = { 3, 7 }; 350// T* p = &x; 351// 352// { // Captured variable 353// name: "p", 354// type: "T*", 355// value: "0x00500500", 356// members { name: "m1", value: "3", type: "int" }, 357// members { name: "m2", value: "7", type: "int" } 358// } 359// 360// 4) A pointer where the pointee was not captured: 361// 362// T* p = new T; 363// 364// { // Captured variable 365// name: "p", 366// type: "T*", 367// value: "0x00400400" 368// status { is_error: true, description { format: "unavailable" } } 369// } 370// 371// The status should describe the reason for the missing value, 372// such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`. 373// 374// Note that a null pointer should not have members. 375// 376// 5) An unnamed value: 377// 378// int* p = new int(7); 379// 380// { // Captured variable 381// name: "p", 382// value: "0x00500500", 383// type: "int*", 384// members { value: "7", type: "int" } } 385// 386// 6) An unnamed pointer where the pointee was not captured: 387// 388// int* p = new int(7); 389// int** pp = &p; 390// 391// { // Captured variable 392// name: "pp", 393// value: "0x00500500", 394// type: "int**", 395// members { 396// value: "0x00400400", 397// type: "int*" 398// status { 399// is_error: true, 400// description: { format: "unavailable" } } 401// } 402// } 403// } 404// 405// To optimize computation, memory and network traffic, variables that 406// repeat in the output multiple times can be stored once in a shared 407// variable table and be referenced using the `var_table_index` field. The 408// variables stored in the shared table are nameless and are essentially 409// a partition of the complete variable. To reconstruct the complete 410// variable, merge the referencing variable with the referenced variable. 411// 412// When using the shared variable table, the following variables: 413// 414// T x = { 3, 7 }; 415// T* p = &x; 416// T& r = x; 417// 418// { name: "x", var_table_index: 3, type: "T" } // Captured variables 419// { name: "p", value "0x00500500", type="T*", var_table_index: 3 } 420// { name: "r", type="T&", var_table_index: 3 } 421// 422// { // Shared variable table entry #3: 423// members { name: "m1", value: "3", type: "int" }, 424// members { name: "m2", value: "7", type: "int" } 425// } 426// 427// Note that the pointer address is stored with the referencing variable 428// and not with the referenced variable. This allows the referenced variable 429// to be shared between pointers and references. 430// 431// The type field is optional. The debugger agent may or may not support it. 432type Variable struct { 433 // Name of the variable, if any. 434 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 435 // Simple value of the variable. 436 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 437 // Variable type (e.g. `MyClass`). If the variable is split with 438 // `var_table_index`, `type` goes next to `value`. The interpretation of 439 // a type is agent specific. It is recommended to include the dynamic type 440 // rather than a static type of an object. 441 Type string `protobuf:"bytes,6,opt,name=type,proto3" json:"type,omitempty"` 442 // Members contained or pointed to by the variable. 443 Members []*Variable `protobuf:"bytes,3,rep,name=members,proto3" json:"members,omitempty"` 444 // Reference to a variable in the shared variable table. More than 445 // one variable can reference the same variable in the table. The 446 // `var_table_index` field is an index into `variable_table` in Breakpoint. 447 VarTableIndex *wrappers.Int32Value `protobuf:"bytes,4,opt,name=var_table_index,json=varTableIndex,proto3" json:"var_table_index,omitempty"` 448 // Status associated with the variable. This field will usually stay 449 // unset. A status of a single variable only applies to that variable or 450 // expression. The rest of breakpoint data still remains valid. Variables 451 // might be reported in error state even when breakpoint is not in final 452 // state. 453 // 454 // The message may refer to variable name with `refers_to` set to 455 // `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. 456 // In either case variable value and members will be unset. 457 // 458 // Example of error message applied to name: `Invalid expression syntax`. 459 // 460 // Example of information message applied to value: `Not captured`. 461 // 462 // Examples of error message applied to value: 463 // 464 // * `Malformed string`, 465 // * `Field f not found in class C` 466 // * `Null pointer dereference` 467 Status *StatusMessage `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` 468 XXX_NoUnkeyedLiteral struct{} `json:"-"` 469 XXX_unrecognized []byte `json:"-"` 470 XXX_sizecache int32 `json:"-"` 471} 472 473func (m *Variable) Reset() { *m = Variable{} } 474func (m *Variable) String() string { return proto.CompactTextString(m) } 475func (*Variable) ProtoMessage() {} 476func (*Variable) Descriptor() ([]byte, []int) { 477 return fileDescriptor_af1dc785e55f21bc, []int{3} 478} 479 480func (m *Variable) XXX_Unmarshal(b []byte) error { 481 return xxx_messageInfo_Variable.Unmarshal(m, b) 482} 483func (m *Variable) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 484 return xxx_messageInfo_Variable.Marshal(b, m, deterministic) 485} 486func (m *Variable) XXX_Merge(src proto.Message) { 487 xxx_messageInfo_Variable.Merge(m, src) 488} 489func (m *Variable) XXX_Size() int { 490 return xxx_messageInfo_Variable.Size(m) 491} 492func (m *Variable) XXX_DiscardUnknown() { 493 xxx_messageInfo_Variable.DiscardUnknown(m) 494} 495 496var xxx_messageInfo_Variable proto.InternalMessageInfo 497 498func (m *Variable) GetName() string { 499 if m != nil { 500 return m.Name 501 } 502 return "" 503} 504 505func (m *Variable) GetValue() string { 506 if m != nil { 507 return m.Value 508 } 509 return "" 510} 511 512func (m *Variable) GetType() string { 513 if m != nil { 514 return m.Type 515 } 516 return "" 517} 518 519func (m *Variable) GetMembers() []*Variable { 520 if m != nil { 521 return m.Members 522 } 523 return nil 524} 525 526func (m *Variable) GetVarTableIndex() *wrappers.Int32Value { 527 if m != nil { 528 return m.VarTableIndex 529 } 530 return nil 531} 532 533func (m *Variable) GetStatus() *StatusMessage { 534 if m != nil { 535 return m.Status 536 } 537 return nil 538} 539 540// Represents a stack frame context. 541type StackFrame struct { 542 // Demangled function name at the call site. 543 Function string `protobuf:"bytes,1,opt,name=function,proto3" json:"function,omitempty"` 544 // Source location of the call site. 545 Location *SourceLocation `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` 546 // Set of arguments passed to this function. 547 // Note that this might not be populated for all stack frames. 548 Arguments []*Variable `protobuf:"bytes,3,rep,name=arguments,proto3" json:"arguments,omitempty"` 549 // Set of local variables at the stack frame location. 550 // Note that this might not be populated for all stack frames. 551 Locals []*Variable `protobuf:"bytes,4,rep,name=locals,proto3" json:"locals,omitempty"` 552 XXX_NoUnkeyedLiteral struct{} `json:"-"` 553 XXX_unrecognized []byte `json:"-"` 554 XXX_sizecache int32 `json:"-"` 555} 556 557func (m *StackFrame) Reset() { *m = StackFrame{} } 558func (m *StackFrame) String() string { return proto.CompactTextString(m) } 559func (*StackFrame) ProtoMessage() {} 560func (*StackFrame) Descriptor() ([]byte, []int) { 561 return fileDescriptor_af1dc785e55f21bc, []int{4} 562} 563 564func (m *StackFrame) XXX_Unmarshal(b []byte) error { 565 return xxx_messageInfo_StackFrame.Unmarshal(m, b) 566} 567func (m *StackFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 568 return xxx_messageInfo_StackFrame.Marshal(b, m, deterministic) 569} 570func (m *StackFrame) XXX_Merge(src proto.Message) { 571 xxx_messageInfo_StackFrame.Merge(m, src) 572} 573func (m *StackFrame) XXX_Size() int { 574 return xxx_messageInfo_StackFrame.Size(m) 575} 576func (m *StackFrame) XXX_DiscardUnknown() { 577 xxx_messageInfo_StackFrame.DiscardUnknown(m) 578} 579 580var xxx_messageInfo_StackFrame proto.InternalMessageInfo 581 582func (m *StackFrame) GetFunction() string { 583 if m != nil { 584 return m.Function 585 } 586 return "" 587} 588 589func (m *StackFrame) GetLocation() *SourceLocation { 590 if m != nil { 591 return m.Location 592 } 593 return nil 594} 595 596func (m *StackFrame) GetArguments() []*Variable { 597 if m != nil { 598 return m.Arguments 599 } 600 return nil 601} 602 603func (m *StackFrame) GetLocals() []*Variable { 604 if m != nil { 605 return m.Locals 606 } 607 return nil 608} 609 610// Represents the breakpoint specification, status and results. 611type Breakpoint struct { 612 // Breakpoint identifier, unique in the scope of the debuggee. 613 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 614 // Action that the agent should perform when the code at the 615 // breakpoint location is hit. 616 Action Breakpoint_Action `protobuf:"varint,13,opt,name=action,proto3,enum=google.devtools.clouddebugger.v2.Breakpoint_Action" json:"action,omitempty"` 617 // Breakpoint source location. 618 Location *SourceLocation `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` 619 // Condition that triggers the breakpoint. 620 // The condition is a compound boolean expression composed using expressions 621 // in a programming language at the source location. 622 Condition string `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"` 623 // List of read-only expressions to evaluate at the breakpoint location. 624 // The expressions are composed using expressions in the programming language 625 // at the source location. If the breakpoint action is `LOG`, the evaluated 626 // expressions are included in log statements. 627 Expressions []string `protobuf:"bytes,4,rep,name=expressions,proto3" json:"expressions,omitempty"` 628 // Only relevant when action is `LOG`. Defines the message to log when 629 // the breakpoint hits. The message may include parameter placeholders `$0`, 630 // `$1`, etc. These placeholders are replaced with the evaluated value 631 // of the appropriate expression. Expressions not referenced in 632 // `log_message_format` are not logged. 633 // 634 // Example: `Message received, id = $0, count = $1` with 635 // `expressions` = `[ message.id, message.count ]`. 636 LogMessageFormat string `protobuf:"bytes,14,opt,name=log_message_format,json=logMessageFormat,proto3" json:"log_message_format,omitempty"` 637 // Indicates the severity of the log. Only relevant when action is `LOG`. 638 LogLevel Breakpoint_LogLevel `protobuf:"varint,15,opt,name=log_level,json=logLevel,proto3,enum=google.devtools.clouddebugger.v2.Breakpoint_LogLevel" json:"log_level,omitempty"` 639 // When true, indicates that this is a final result and the 640 // breakpoint state will not change from here on. 641 IsFinalState bool `protobuf:"varint,5,opt,name=is_final_state,json=isFinalState,proto3" json:"is_final_state,omitempty"` 642 // Time this breakpoint was created by the server in seconds resolution. 643 CreateTime *timestamp.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 644 // Time this breakpoint was finalized as seen by the server in seconds 645 // resolution. 646 FinalTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=final_time,json=finalTime,proto3" json:"final_time,omitempty"` 647 // E-mail address of the user that created this breakpoint 648 UserEmail string `protobuf:"bytes,16,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` 649 // Breakpoint status. 650 // 651 // The status includes an error flag and a human readable message. 652 // This field is usually unset. The message can be either 653 // informational or an error message. Regardless, clients should always 654 // display the text message back to the user. 655 // 656 // Error status indicates complete failure of the breakpoint. 657 // 658 // Example (non-final state): `Still loading symbols...` 659 // 660 // Examples (final state): 661 // 662 // * `Invalid line number` referring to location 663 // * `Field f not found in class C` referring to condition 664 Status *StatusMessage `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"` 665 // The stack at breakpoint time, where stack_frames[0] represents the most 666 // recently entered function. 667 StackFrames []*StackFrame `protobuf:"bytes,7,rep,name=stack_frames,json=stackFrames,proto3" json:"stack_frames,omitempty"` 668 // Values of evaluated expressions at breakpoint time. 669 // The evaluated expressions appear in exactly the same order they 670 // are listed in the `expressions` field. 671 // The `name` field holds the original expression text, the `value` or 672 // `members` field holds the result of the evaluated expression. 673 // If the expression cannot be evaluated, the `status` inside the `Variable` 674 // will indicate an error and contain the error text. 675 EvaluatedExpressions []*Variable `protobuf:"bytes,8,rep,name=evaluated_expressions,json=evaluatedExpressions,proto3" json:"evaluated_expressions,omitempty"` 676 // The `variable_table` exists to aid with computation, memory and network 677 // traffic optimization. It enables storing a variable once and reference 678 // it from multiple variables, including variables stored in the 679 // `variable_table` itself. 680 // For example, the same `this` object, which may appear at many levels of 681 // the stack, can have all of its data stored once in this table. The 682 // stack frame variables then would hold only a reference to it. 683 // 684 // The variable `var_table_index` field is an index into this repeated field. 685 // The stored objects are nameless and get their name from the referencing 686 // variable. The effective variable is a merge of the referencing variable 687 // and the referenced variable. 688 VariableTable []*Variable `protobuf:"bytes,9,rep,name=variable_table,json=variableTable,proto3" json:"variable_table,omitempty"` 689 // A set of custom breakpoint properties, populated by the agent, to be 690 // displayed to the user. 691 Labels map[string]string `protobuf:"bytes,17,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 692 XXX_NoUnkeyedLiteral struct{} `json:"-"` 693 XXX_unrecognized []byte `json:"-"` 694 XXX_sizecache int32 `json:"-"` 695} 696 697func (m *Breakpoint) Reset() { *m = Breakpoint{} } 698func (m *Breakpoint) String() string { return proto.CompactTextString(m) } 699func (*Breakpoint) ProtoMessage() {} 700func (*Breakpoint) Descriptor() ([]byte, []int) { 701 return fileDescriptor_af1dc785e55f21bc, []int{5} 702} 703 704func (m *Breakpoint) XXX_Unmarshal(b []byte) error { 705 return xxx_messageInfo_Breakpoint.Unmarshal(m, b) 706} 707func (m *Breakpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 708 return xxx_messageInfo_Breakpoint.Marshal(b, m, deterministic) 709} 710func (m *Breakpoint) XXX_Merge(src proto.Message) { 711 xxx_messageInfo_Breakpoint.Merge(m, src) 712} 713func (m *Breakpoint) XXX_Size() int { 714 return xxx_messageInfo_Breakpoint.Size(m) 715} 716func (m *Breakpoint) XXX_DiscardUnknown() { 717 xxx_messageInfo_Breakpoint.DiscardUnknown(m) 718} 719 720var xxx_messageInfo_Breakpoint proto.InternalMessageInfo 721 722func (m *Breakpoint) GetId() string { 723 if m != nil { 724 return m.Id 725 } 726 return "" 727} 728 729func (m *Breakpoint) GetAction() Breakpoint_Action { 730 if m != nil { 731 return m.Action 732 } 733 return Breakpoint_CAPTURE 734} 735 736func (m *Breakpoint) GetLocation() *SourceLocation { 737 if m != nil { 738 return m.Location 739 } 740 return nil 741} 742 743func (m *Breakpoint) GetCondition() string { 744 if m != nil { 745 return m.Condition 746 } 747 return "" 748} 749 750func (m *Breakpoint) GetExpressions() []string { 751 if m != nil { 752 return m.Expressions 753 } 754 return nil 755} 756 757func (m *Breakpoint) GetLogMessageFormat() string { 758 if m != nil { 759 return m.LogMessageFormat 760 } 761 return "" 762} 763 764func (m *Breakpoint) GetLogLevel() Breakpoint_LogLevel { 765 if m != nil { 766 return m.LogLevel 767 } 768 return Breakpoint_INFO 769} 770 771func (m *Breakpoint) GetIsFinalState() bool { 772 if m != nil { 773 return m.IsFinalState 774 } 775 return false 776} 777 778func (m *Breakpoint) GetCreateTime() *timestamp.Timestamp { 779 if m != nil { 780 return m.CreateTime 781 } 782 return nil 783} 784 785func (m *Breakpoint) GetFinalTime() *timestamp.Timestamp { 786 if m != nil { 787 return m.FinalTime 788 } 789 return nil 790} 791 792func (m *Breakpoint) GetUserEmail() string { 793 if m != nil { 794 return m.UserEmail 795 } 796 return "" 797} 798 799func (m *Breakpoint) GetStatus() *StatusMessage { 800 if m != nil { 801 return m.Status 802 } 803 return nil 804} 805 806func (m *Breakpoint) GetStackFrames() []*StackFrame { 807 if m != nil { 808 return m.StackFrames 809 } 810 return nil 811} 812 813func (m *Breakpoint) GetEvaluatedExpressions() []*Variable { 814 if m != nil { 815 return m.EvaluatedExpressions 816 } 817 return nil 818} 819 820func (m *Breakpoint) GetVariableTable() []*Variable { 821 if m != nil { 822 return m.VariableTable 823 } 824 return nil 825} 826 827func (m *Breakpoint) GetLabels() map[string]string { 828 if m != nil { 829 return m.Labels 830 } 831 return nil 832} 833 834// Represents the debugged application. The application may include one or more 835// replicated processes executing the same code. Each of these processes is 836// attached with a debugger agent, carrying out the debugging commands. 837// Agents attached to the same debuggee identify themselves as such by using 838// exactly the same Debuggee message value when registering. 839type Debuggee struct { 840 // Unique identifier for the debuggee generated by the controller service. 841 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 842 // Project the debuggee is associated with. 843 // Use project number or id when registering a Google Cloud Platform project. 844 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 845 // Uniquifier to further distinguish the application. 846 // It is possible that different applications might have identical values in 847 // the debuggee message, thus, incorrectly identified as a single application 848 // by the Controller service. This field adds salt to further distinguish the 849 // application. Agents should consider seeding this field with value that 850 // identifies the code, binary, configuration and environment. 851 Uniquifier string `protobuf:"bytes,3,opt,name=uniquifier,proto3" json:"uniquifier,omitempty"` 852 // Human readable description of the debuggee. 853 // Including a human-readable project name, environment name and version 854 // information is recommended. 855 Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` 856 // If set to `true`, indicates that Controller service does not detect any 857 // activity from the debuggee agents and the application is possibly stopped. 858 IsInactive bool `protobuf:"varint,5,opt,name=is_inactive,json=isInactive,proto3" json:"is_inactive,omitempty"` 859 // Version ID of the agent. 860 // Schema: `domain/language-platform/vmajor.minor` (for example 861 // `google.com/java-gcp/v1.1`). 862 AgentVersion string `protobuf:"bytes,6,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"` 863 // If set to `true`, indicates that the agent should disable itself and 864 // detach from the debuggee. 865 IsDisabled bool `protobuf:"varint,7,opt,name=is_disabled,json=isDisabled,proto3" json:"is_disabled,omitempty"` 866 // Human readable message to be displayed to the user about this debuggee. 867 // Absence of this field indicates no status. The message can be either 868 // informational or an error status. 869 Status *StatusMessage `protobuf:"bytes,8,opt,name=status,proto3" json:"status,omitempty"` 870 // References to the locations and revisions of the source code used in the 871 // deployed application. 872 SourceContexts []*v1.SourceContext `protobuf:"bytes,9,rep,name=source_contexts,json=sourceContexts,proto3" json:"source_contexts,omitempty"` 873 // References to the locations and revisions of the source code used in the 874 // deployed application. 875 ExtSourceContexts []*v1.ExtendedSourceContext `protobuf:"bytes,13,rep,name=ext_source_contexts,json=extSourceContexts,proto3" json:"ext_source_contexts,omitempty"` // Deprecated: Do not use. 876 // A set of custom debuggee properties, populated by the agent, to be 877 // displayed to the user. 878 Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 879 XXX_NoUnkeyedLiteral struct{} `json:"-"` 880 XXX_unrecognized []byte `json:"-"` 881 XXX_sizecache int32 `json:"-"` 882} 883 884func (m *Debuggee) Reset() { *m = Debuggee{} } 885func (m *Debuggee) String() string { return proto.CompactTextString(m) } 886func (*Debuggee) ProtoMessage() {} 887func (*Debuggee) Descriptor() ([]byte, []int) { 888 return fileDescriptor_af1dc785e55f21bc, []int{6} 889} 890 891func (m *Debuggee) XXX_Unmarshal(b []byte) error { 892 return xxx_messageInfo_Debuggee.Unmarshal(m, b) 893} 894func (m *Debuggee) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 895 return xxx_messageInfo_Debuggee.Marshal(b, m, deterministic) 896} 897func (m *Debuggee) XXX_Merge(src proto.Message) { 898 xxx_messageInfo_Debuggee.Merge(m, src) 899} 900func (m *Debuggee) XXX_Size() int { 901 return xxx_messageInfo_Debuggee.Size(m) 902} 903func (m *Debuggee) XXX_DiscardUnknown() { 904 xxx_messageInfo_Debuggee.DiscardUnknown(m) 905} 906 907var xxx_messageInfo_Debuggee proto.InternalMessageInfo 908 909func (m *Debuggee) GetId() string { 910 if m != nil { 911 return m.Id 912 } 913 return "" 914} 915 916func (m *Debuggee) GetProject() string { 917 if m != nil { 918 return m.Project 919 } 920 return "" 921} 922 923func (m *Debuggee) GetUniquifier() string { 924 if m != nil { 925 return m.Uniquifier 926 } 927 return "" 928} 929 930func (m *Debuggee) GetDescription() string { 931 if m != nil { 932 return m.Description 933 } 934 return "" 935} 936 937func (m *Debuggee) GetIsInactive() bool { 938 if m != nil { 939 return m.IsInactive 940 } 941 return false 942} 943 944func (m *Debuggee) GetAgentVersion() string { 945 if m != nil { 946 return m.AgentVersion 947 } 948 return "" 949} 950 951func (m *Debuggee) GetIsDisabled() bool { 952 if m != nil { 953 return m.IsDisabled 954 } 955 return false 956} 957 958func (m *Debuggee) GetStatus() *StatusMessage { 959 if m != nil { 960 return m.Status 961 } 962 return nil 963} 964 965func (m *Debuggee) GetSourceContexts() []*v1.SourceContext { 966 if m != nil { 967 return m.SourceContexts 968 } 969 return nil 970} 971 972// Deprecated: Do not use. 973func (m *Debuggee) GetExtSourceContexts() []*v1.ExtendedSourceContext { 974 if m != nil { 975 return m.ExtSourceContexts 976 } 977 return nil 978} 979 980func (m *Debuggee) GetLabels() map[string]string { 981 if m != nil { 982 return m.Labels 983 } 984 return nil 985} 986 987func init() { 988 proto.RegisterEnum("google.devtools.clouddebugger.v2.StatusMessage_Reference", StatusMessage_Reference_name, StatusMessage_Reference_value) 989 proto.RegisterEnum("google.devtools.clouddebugger.v2.Breakpoint_Action", Breakpoint_Action_name, Breakpoint_Action_value) 990 proto.RegisterEnum("google.devtools.clouddebugger.v2.Breakpoint_LogLevel", Breakpoint_LogLevel_name, Breakpoint_LogLevel_value) 991 proto.RegisterType((*FormatMessage)(nil), "google.devtools.clouddebugger.v2.FormatMessage") 992 proto.RegisterType((*StatusMessage)(nil), "google.devtools.clouddebugger.v2.StatusMessage") 993 proto.RegisterType((*SourceLocation)(nil), "google.devtools.clouddebugger.v2.SourceLocation") 994 proto.RegisterType((*Variable)(nil), "google.devtools.clouddebugger.v2.Variable") 995 proto.RegisterType((*StackFrame)(nil), "google.devtools.clouddebugger.v2.StackFrame") 996 proto.RegisterType((*Breakpoint)(nil), "google.devtools.clouddebugger.v2.Breakpoint") 997 proto.RegisterMapType((map[string]string)(nil), "google.devtools.clouddebugger.v2.Breakpoint.LabelsEntry") 998 proto.RegisterType((*Debuggee)(nil), "google.devtools.clouddebugger.v2.Debuggee") 999 proto.RegisterMapType((map[string]string)(nil), "google.devtools.clouddebugger.v2.Debuggee.LabelsEntry") 1000} 1001 1002func init() { 1003 proto.RegisterFile("google/devtools/clouddebugger/v2/data.proto", fileDescriptor_af1dc785e55f21bc) 1004} 1005 1006var fileDescriptor_af1dc785e55f21bc = []byte{ 1007 // 1293 bytes of a gzipped FileDescriptorProto 1008 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdd, 0x72, 0xda, 0x46, 1009 0x14, 0x0e, 0x3f, 0x06, 0xe9, 0x60, 0x30, 0xd9, 0x26, 0x1d, 0xc5, 0x4d, 0x1d, 0x86, 0xe6, 0xc2, 1010 0xd3, 0x66, 0x20, 0x21, 0xd3, 0x4e, 0xd2, 0x5c, 0x01, 0x96, 0x5d, 0x26, 0x04, 0xc8, 0x62, 0xd3, 1011 0x4e, 0x27, 0x33, 0x9a, 0x35, 0x5a, 0x54, 0x35, 0x42, 0xa2, 0xbb, 0x0b, 0x75, 0xee, 0xf3, 0x18, 1012 0x7d, 0x82, 0x4e, 0xdf, 0xa0, 0x6f, 0xd0, 0x97, 0xe8, 0x7d, 0x9f, 0xa0, 0x97, 0x9d, 0x5d, 0xad, 1013 0x88, 0x48, 0x9a, 0x12, 0x37, 0xb9, 0xdb, 0xfd, 0xce, 0x39, 0xdf, 0x8a, 0x6f, 0xbf, 0x73, 0x24, 1014 0xe0, 0x0b, 0x2f, 0x8a, 0xbc, 0x80, 0x36, 0x5d, 0xba, 0x12, 0x51, 0x14, 0xf0, 0xe6, 0x34, 0x88, 1015 0x96, 0xae, 0x4b, 0xcf, 0x97, 0x9e, 0x47, 0x59, 0x73, 0xd5, 0x6a, 0xba, 0x44, 0x90, 0xc6, 0x82, 1016 0x45, 0x22, 0x42, 0xb5, 0x38, 0xb9, 0x91, 0x24, 0x37, 0x36, 0x92, 0x1b, 0xab, 0xd6, 0xfe, 0x4d, 1017 0x4d, 0x47, 0x16, 0x7e, 0x93, 0x84, 0x61, 0x24, 0x88, 0xf0, 0xa3, 0x90, 0xc7, 0xf5, 0xfb, 0x8d, 1018 0xd7, 0x0f, 0xe3, 0xd1, 0x92, 0x4d, 0x69, 0x73, 0x75, 0x4f, 0xaf, 0x9c, 0x69, 0x14, 0x0a, 0x7a, 1019 0x21, 0x74, 0xfe, 0x81, 0xce, 0x57, 0xbb, 0xf3, 0xe5, 0xac, 0xe9, 0x2e, 0x99, 0x22, 0xd4, 0xf1, 1020 0x5b, 0xaf, 0xc7, 0x85, 0x3f, 0xa7, 0x5c, 0x90, 0xf9, 0xe2, 0x6d, 0x04, 0x3f, 0x33, 0xb2, 0x58, 1021 0x50, 0xa6, 0x1f, 0xa8, 0x7e, 0x02, 0xe5, 0xe3, 0x88, 0xcd, 0x89, 0x78, 0x42, 0x39, 0x27, 0x1e, 1022 0x45, 0x1f, 0x43, 0x61, 0xa6, 0x00, 0x2b, 0x53, 0xcb, 0x1c, 0x9a, 0x58, 0xef, 0xd0, 0x01, 0xc0, 1023 0x82, 0x30, 0x32, 0xa7, 0x82, 0x32, 0x6e, 0x65, 0x6b, 0xb9, 0x43, 0x13, 0xa7, 0x90, 0xfa, 0xcb, 1024 0x1c, 0x94, 0xc7, 0x82, 0x88, 0x25, 0x4f, 0x98, 0x6e, 0x80, 0xe1, 0x73, 0x87, 0x32, 0x16, 0x31, 1025 0xc5, 0x65, 0xe0, 0xa2, 0xcf, 0x6d, 0xb9, 0x45, 0x13, 0x30, 0x19, 0x9d, 0x51, 0xc6, 0x1d, 0x11, 1026 0x59, 0xd9, 0x5a, 0xe6, 0xb0, 0xd2, 0x7a, 0xd8, 0xd8, 0x26, 0x6d, 0x63, 0x83, 0xbe, 0x81, 0x25, 1027 0x01, 0x0d, 0xa7, 0x14, 0x1b, 0x31, 0xd7, 0x69, 0x84, 0x9e, 0x42, 0xc9, 0xa5, 0x7c, 0xca, 0xfc, 1028 0x85, 0xd4, 0xc8, 0xca, 0xd5, 0x32, 0x87, 0xa5, 0x56, 0x73, 0x3b, 0xf3, 0x86, 0x04, 0x38, 0xcd, 1029 0x51, 0xff, 0x2d, 0x03, 0xe6, 0xfa, 0x28, 0xb4, 0x07, 0xa5, 0xb3, 0xc1, 0x78, 0x64, 0x77, 0x7b, 1030 0xc7, 0x3d, 0xfb, 0xa8, 0x7a, 0x05, 0x1d, 0xc0, 0x7e, 0x07, 0xdb, 0xed, 0xc7, 0xa3, 0x61, 0x6f, 1031 0x70, 0xea, 0x8c, 0x87, 0x67, 0xb8, 0x6b, 0x3b, 0xfd, 0x61, 0xb7, 0x7d, 0xda, 0x1b, 0x0e, 0xaa, 1032 0x39, 0x64, 0xc1, 0xb5, 0x54, 0xbc, 0x3b, 0x1c, 0x1c, 0xf5, 0x54, 0x24, 0x8f, 0x6e, 0xc0, 0xf5, 1033 0x54, 0xc4, 0xfe, 0x6e, 0x84, 0xed, 0xf1, 0x58, 0x86, 0x8a, 0x08, 0x41, 0x25, 0x15, 0x6a, 0x9f, 1034 0xd8, 0x55, 0x03, 0x5d, 0x85, 0xf2, 0xa4, 0x8d, 0x7b, 0xed, 0x4e, 0xdf, 0x76, 0x06, 0xed, 0x27, 1035 0x76, 0x75, 0x47, 0xa6, 0xad, 0xa1, 0x49, 0xbb, 0x7f, 0x66, 0x57, 0x0b, 0xf5, 0x11, 0x54, 0xc6, 1036 0xca, 0x48, 0xfd, 0x68, 0xaa, 0x8c, 0x82, 0x10, 0xe4, 0x17, 0x44, 0xfc, 0xa0, 0xaf, 0x53, 0xad, 1037 0x25, 0x16, 0xf8, 0x21, 0x55, 0xd2, 0xef, 0x60, 0xb5, 0x96, 0x17, 0x3f, 0x8d, 0x82, 0xe5, 0x3c, 1038 0x96, 0x6d, 0x07, 0xeb, 0x5d, 0xfd, 0x97, 0x2c, 0x18, 0x13, 0xc2, 0x7c, 0x72, 0x1e, 0x50, 0x59, 1039 0x18, 0x92, 0x39, 0x4d, 0xc8, 0xe4, 0x1a, 0x5d, 0x83, 0x9d, 0x15, 0x09, 0x96, 0x31, 0x9b, 0x89, 1040 0xe3, 0x8d, 0xcc, 0x14, 0x2f, 0x16, 0xd4, 0x2a, 0xc4, 0x99, 0x72, 0x8d, 0x8e, 0xa0, 0x38, 0xa7, 1041 0xf3, 0x73, 0x69, 0xa0, 0x5c, 0x2d, 0x77, 0x58, 0x6a, 0x7d, 0xbe, 0xfd, 0x6a, 0x92, 0xa3, 0x71, 1042 0x52, 0x8a, 0xba, 0xb0, 0xb7, 0x22, 0xcc, 0x11, 0x12, 0x75, 0xfc, 0xd0, 0xa5, 0x17, 0x56, 0x5e, 1043 0x5d, 0xf4, 0x27, 0x09, 0x5b, 0x62, 0xf6, 0x46, 0x2f, 0x14, 0xf7, 0x5b, 0x13, 0xf9, 0x3c, 0xb8, 1044 0xbc, 0x22, 0xec, 0x54, 0x96, 0xf4, 0x64, 0x05, 0x3a, 0x81, 0x02, 0x57, 0x76, 0xb2, 0x76, 0xde, 1045 0xd5, 0x24, 0x1b, 0xf6, 0xc3, 0xba, 0xbc, 0xfe, 0x32, 0x0b, 0x30, 0x16, 0x64, 0xfa, 0xfc, 0x58, 1046 0xb6, 0x02, 0xda, 0x07, 0x63, 0xb6, 0x0c, 0xa7, 0xca, 0x7e, 0xb1, 0x48, 0xeb, 0x3d, 0xea, 0x83, 1047 0x11, 0xe8, 0x5b, 0x51, 0x5a, 0x95, 0x5a, 0x77, 0xdf, 0xe1, 0xd4, 0x8d, 0xdb, 0xc4, 0x6b, 0x06, 1048 0xf4, 0x0d, 0x98, 0x84, 0x79, 0xcb, 0x39, 0x0d, 0xc5, 0xff, 0x91, 0xf3, 0x55, 0x31, 0xea, 0x40, 1049 0x41, 0xb2, 0x06, 0xdc, 0xca, 0x5f, 0x9a, 0x46, 0x57, 0xd6, 0xff, 0x34, 0x00, 0x3a, 0x8c, 0x92, 1050 0xe7, 0x8b, 0xc8, 0x0f, 0x05, 0xaa, 0x40, 0xd6, 0x77, 0xb5, 0x00, 0x59, 0xdf, 0x45, 0x8f, 0xa1, 1051 0x40, 0x62, 0x51, 0xca, 0xaa, 0xdb, 0xef, 0x6f, 0x3f, 0xe2, 0x15, 0x5b, 0xa3, 0xad, 0x4a, 0xb1, 1052 0xa6, 0xf8, 0xc0, 0x3a, 0xde, 0x04, 0x73, 0x1a, 0x85, 0xae, 0xbf, 0x9e, 0x18, 0x26, 0x7e, 0x05, 1053 0xa0, 0x1a, 0x94, 0xe8, 0xc5, 0x82, 0x51, 0xce, 0xe5, 0x14, 0x57, 0x02, 0x99, 0x38, 0x0d, 0xa1, 1054 0x3b, 0x80, 0x82, 0xc8, 0x73, 0xe6, 0xb1, 0x2f, 0x1c, 0x3d, 0x3c, 0x2b, 0x8a, 0xa8, 0x1a, 0x44, 1055 0x9e, 0x36, 0x4c, 0x3c, 0x62, 0x10, 0x06, 0x53, 0x66, 0x07, 0x74, 0x45, 0x03, 0x6b, 0x4f, 0x69, 1056 0xf1, 0xe5, 0xa5, 0xb4, 0xe8, 0x47, 0x5e, 0x5f, 0x16, 0xcb, 0x5f, 0x10, 0xaf, 0xd0, 0x6d, 0xa8, 1057 0xf8, 0xdc, 0x99, 0xf9, 0x21, 0x09, 0x1c, 0xe9, 0x4a, 0xaa, 0x3c, 0x6d, 0xe0, 0x5d, 0x9f, 0x1f, 1058 0x4b, 0x50, 0x1a, 0x97, 0xa2, 0x47, 0x50, 0x9a, 0x32, 0x4a, 0x04, 0x75, 0xe4, 0x3b, 0xc2, 0x2a, 1059 0x29, 0xe1, 0xf6, 0xdf, 0x68, 0x99, 0xd3, 0xe4, 0x05, 0x82, 0x21, 0x4e, 0x97, 0x00, 0x7a, 0x08, 1060 0x10, 0xf3, 0xab, 0xda, 0xdd, 0xad, 0xb5, 0xa6, 0xca, 0x56, 0xa5, 0x9f, 0x02, 0x2c, 0x39, 0x65, 1061 0x0e, 0x9d, 0x13, 0x3f, 0xb0, 0xaa, 0xb1, 0xc0, 0x12, 0xb1, 0x25, 0x90, 0x6a, 0x44, 0x78, 0xaf, 1062 0x46, 0x44, 0x43, 0xd8, 0xe5, 0xb2, 0x0f, 0x9d, 0x99, 0x6c, 0x44, 0x6e, 0x15, 0x95, 0x97, 0xef, 1063 0xbc, 0x13, 0x9d, 0xee, 0x5e, 0x5c, 0xe2, 0xeb, 0x35, 0x47, 0x0e, 0x5c, 0xa7, 0x72, 0x96, 0x11, 1064 0x41, 0x5d, 0x27, 0x6d, 0x02, 0xe3, 0xd2, 0x5d, 0x72, 0x6d, 0x4d, 0x64, 0xa7, 0x9c, 0xf3, 0x14, 1065 0x2a, 0x2b, 0x9d, 0x11, 0x4f, 0x33, 0xcb, 0xbc, 0x34, 0x73, 0x39, 0x61, 0x50, 0xb3, 0x0d, 0x8d, 1066 0xa0, 0x10, 0x90, 0x73, 0x1a, 0x70, 0xeb, 0xaa, 0xa2, 0x7a, 0x70, 0x39, 0x6f, 0xa9, 0x52, 0x3b, 1067 0x14, 0xec, 0x05, 0xd6, 0x3c, 0xfb, 0x0f, 0xa1, 0x94, 0x82, 0x51, 0x15, 0x72, 0xcf, 0xe9, 0x0b, 1068 0xdd, 0xd9, 0x72, 0xf9, 0xef, 0xe3, 0xff, 0xeb, 0xec, 0x83, 0x4c, 0xfd, 0x00, 0x0a, 0x71, 0xe7, 1069 0xa2, 0x12, 0x14, 0xbb, 0xed, 0xd1, 0xe9, 0x19, 0xb6, 0xab, 0x57, 0x50, 0x11, 0x72, 0xfd, 0xe1, 1070 0x49, 0x35, 0x53, 0xbf, 0x03, 0x46, 0xe2, 0x66, 0x64, 0x40, 0xbe, 0x37, 0x38, 0x1e, 0x56, 0xaf, 1071 0xc8, 0xdc, 0x6f, 0xdb, 0x78, 0xd0, 0x1b, 0x9c, 0x54, 0x33, 0xc8, 0x84, 0x1d, 0x1b, 0xe3, 0x21, 1072 0xae, 0x66, 0xeb, 0x7f, 0xe5, 0xc1, 0x38, 0x8a, 0x9f, 0x9b, 0xbe, 0x31, 0x5f, 0x2c, 0x28, 0x2e, 1073 0x58, 0xf4, 0x23, 0x9d, 0x0a, 0xfd, 0x18, 0xc9, 0x56, 0x7e, 0xb7, 0x2c, 0x43, 0xff, 0xa7, 0xa5, 1074 0x3f, 0xf3, 0x29, 0xd3, 0xfd, 0x9d, 0x42, 0x64, 0x83, 0xa7, 0x3f, 0x19, 0xf2, 0x2a, 0x21, 0x0d, 1075 0xa1, 0x5b, 0x50, 0xf2, 0xb9, 0xe3, 0x87, 0x72, 0xfa, 0xac, 0x92, 0xde, 0x02, 0x9f, 0xf7, 0x34, 1076 0x82, 0x3e, 0x83, 0x32, 0xf1, 0x68, 0x28, 0x9c, 0x15, 0x65, 0xf2, 0x66, 0xf5, 0x3b, 0x6f, 0x57, 1077 0x81, 0x93, 0x18, 0xd3, 0x2c, 0xae, 0xcf, 0xe5, 0x3d, 0xb9, 0x56, 0x31, 0x61, 0x39, 0xd2, 0x48, 1078 0xaa, 0x11, 0x8c, 0xf7, 0x6b, 0x84, 0xa7, 0xb0, 0xb7, 0xf9, 0x2d, 0xc9, 0xb5, 0xaf, 0x0e, 0xdf, 1079 0x60, 0x8c, 0xf3, 0x1a, 0xab, 0x7b, 0x7a, 0x3c, 0x76, 0xe3, 0x02, 0x5c, 0xe1, 0xe9, 0x2d, 0x47, 1080 0x2e, 0x7c, 0x44, 0x2f, 0x84, 0xf3, 0x3a, 0x6d, 0x59, 0xd1, 0xde, 0xfd, 0x0f, 0x5a, 0xfb, 0x42, 1081 0xd0, 0xd0, 0xa5, 0xee, 0x06, 0x7d, 0x27, 0x6b, 0x65, 0xf0, 0x55, 0x7a, 0x21, 0xc6, 0x9b, 0xa7, 1082 0x0c, 0xd6, 0xe6, 0x2d, 0x29, 0xe2, 0xaf, 0xb6, 0x2b, 0x90, 0x18, 0xe2, 0x03, 0x5b, 0xb7, 0xf3, 1083 0x7b, 0x06, 0x6e, 0x4f, 0xa3, 0xf9, 0xd6, 0x07, 0xe8, 0x98, 0x47, 0x44, 0x90, 0x91, 0x1c, 0x80, 1084 0xa3, 0xcc, 0xf7, 0x4f, 0x74, 0xba, 0x17, 0x05, 0x24, 0xf4, 0x1a, 0x11, 0xf3, 0x9a, 0x1e, 0x0d, 1085 0xd5, 0x78, 0x6c, 0xc6, 0x21, 0xb2, 0xf0, 0xf9, 0xdb, 0xff, 0x69, 0x3c, 0xda, 0x00, 0xfe, 0xce, 1086 0x64, 0x7e, 0xcd, 0x5a, 0x27, 0x31, 0x65, 0x57, 0x46, 0x92, 0x9f, 0xcb, 0x1a, 0x93, 0xd6, 0x1f, 1087 0x49, 0xe8, 0x99, 0x0a, 0x3d, 0x4b, 0x42, 0xcf, 0x26, 0xad, 0xf3, 0x82, 0x3a, 0xf2, 0xfe, 0x3f, 1088 0x01, 0x00, 0x00, 0xff, 0xff, 0x0a, 0xe0, 0xe9, 0x2c, 0xdb, 0x0c, 0x00, 0x00, 1089} 1090