cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/tensorboard_service.pb.go (about) 1 // Copyright 2025 Google LLC 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.35.2 18 // protoc v4.25.7 19 // source: google/cloud/aiplatform/v1/tensorboard_service.proto 20 21 package aiplatformpb 22 23 import ( 24 longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" 25 _ "google.golang.org/genproto/googleapis/api/annotations" 26 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 27 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 28 _ "google.golang.org/protobuf/types/known/emptypb" 29 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 30 reflect "reflect" 31 sync "sync" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 // Request message for 42 // [TensorboardService.CreateTensorboard][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboard]. 43 type CreateTensorboardRequest struct { 44 state protoimpl.MessageState 45 sizeCache protoimpl.SizeCache 46 unknownFields protoimpl.UnknownFields 47 48 // Required. The resource name of the Location to create the Tensorboard in. 49 // Format: `projects/{project}/locations/{location}` 50 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 51 // Required. The Tensorboard to create. 52 Tensorboard *Tensorboard `protobuf:"bytes,2,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` 53 } 54 55 func (x *CreateTensorboardRequest) Reset() { 56 *x = CreateTensorboardRequest{} 57 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[0] 58 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 59 ms.StoreMessageInfo(mi) 60 } 61 62 func (x *CreateTensorboardRequest) String() string { 63 return protoimpl.X.MessageStringOf(x) 64 } 65 66 func (*CreateTensorboardRequest) ProtoMessage() {} 67 68 func (x *CreateTensorboardRequest) ProtoReflect() protoreflect.Message { 69 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[0] 70 if x != nil { 71 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 72 if ms.LoadMessageInfo() == nil { 73 ms.StoreMessageInfo(mi) 74 } 75 return ms 76 } 77 return mi.MessageOf(x) 78 } 79 80 // Deprecated: Use CreateTensorboardRequest.ProtoReflect.Descriptor instead. 81 func (*CreateTensorboardRequest) Descriptor() ([]byte, []int) { 82 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{0} 83 } 84 85 func (x *CreateTensorboardRequest) GetParent() string { 86 if x != nil { 87 return x.Parent 88 } 89 return "" 90 } 91 92 func (x *CreateTensorboardRequest) GetTensorboard() *Tensorboard { 93 if x != nil { 94 return x.Tensorboard 95 } 96 return nil 97 } 98 99 // Request message for 100 // [TensorboardService.GetTensorboard][google.cloud.aiplatform.v1.TensorboardService.GetTensorboard]. 101 type GetTensorboardRequest struct { 102 state protoimpl.MessageState 103 sizeCache protoimpl.SizeCache 104 unknownFields protoimpl.UnknownFields 105 106 // Required. The name of the Tensorboard resource. 107 // Format: 108 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 109 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 110 } 111 112 func (x *GetTensorboardRequest) Reset() { 113 *x = GetTensorboardRequest{} 114 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[1] 115 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 116 ms.StoreMessageInfo(mi) 117 } 118 119 func (x *GetTensorboardRequest) String() string { 120 return protoimpl.X.MessageStringOf(x) 121 } 122 123 func (*GetTensorboardRequest) ProtoMessage() {} 124 125 func (x *GetTensorboardRequest) ProtoReflect() protoreflect.Message { 126 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[1] 127 if x != nil { 128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 129 if ms.LoadMessageInfo() == nil { 130 ms.StoreMessageInfo(mi) 131 } 132 return ms 133 } 134 return mi.MessageOf(x) 135 } 136 137 // Deprecated: Use GetTensorboardRequest.ProtoReflect.Descriptor instead. 138 func (*GetTensorboardRequest) Descriptor() ([]byte, []int) { 139 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{1} 140 } 141 142 func (x *GetTensorboardRequest) GetName() string { 143 if x != nil { 144 return x.Name 145 } 146 return "" 147 } 148 149 // Request message for 150 // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards]. 151 type ListTensorboardsRequest struct { 152 state protoimpl.MessageState 153 sizeCache protoimpl.SizeCache 154 unknownFields protoimpl.UnknownFields 155 156 // Required. The resource name of the Location to list Tensorboards. 157 // Format: 158 // `projects/{project}/locations/{location}` 159 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 160 // Lists the Tensorboards that match the filter expression. 161 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 162 // The maximum number of Tensorboards to return. The service may return 163 // fewer than this value. If unspecified, at most 100 Tensorboards are 164 // returned. The maximum value is 100; values above 100 are coerced to 165 // 100. 166 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 167 // A page token, received from a previous 168 // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards] 169 // call. Provide this to retrieve the subsequent page. 170 // 171 // When paginating, all other parameters provided to 172 // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards] 173 // must match the call that provided the page token. 174 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 175 // Field to use to sort the list. 176 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 177 // Mask specifying which fields to read. 178 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 179 } 180 181 func (x *ListTensorboardsRequest) Reset() { 182 *x = ListTensorboardsRequest{} 183 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[2] 184 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 185 ms.StoreMessageInfo(mi) 186 } 187 188 func (x *ListTensorboardsRequest) String() string { 189 return protoimpl.X.MessageStringOf(x) 190 } 191 192 func (*ListTensorboardsRequest) ProtoMessage() {} 193 194 func (x *ListTensorboardsRequest) ProtoReflect() protoreflect.Message { 195 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[2] 196 if x != nil { 197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 198 if ms.LoadMessageInfo() == nil { 199 ms.StoreMessageInfo(mi) 200 } 201 return ms 202 } 203 return mi.MessageOf(x) 204 } 205 206 // Deprecated: Use ListTensorboardsRequest.ProtoReflect.Descriptor instead. 207 func (*ListTensorboardsRequest) Descriptor() ([]byte, []int) { 208 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{2} 209 } 210 211 func (x *ListTensorboardsRequest) GetParent() string { 212 if x != nil { 213 return x.Parent 214 } 215 return "" 216 } 217 218 func (x *ListTensorboardsRequest) GetFilter() string { 219 if x != nil { 220 return x.Filter 221 } 222 return "" 223 } 224 225 func (x *ListTensorboardsRequest) GetPageSize() int32 { 226 if x != nil { 227 return x.PageSize 228 } 229 return 0 230 } 231 232 func (x *ListTensorboardsRequest) GetPageToken() string { 233 if x != nil { 234 return x.PageToken 235 } 236 return "" 237 } 238 239 func (x *ListTensorboardsRequest) GetOrderBy() string { 240 if x != nil { 241 return x.OrderBy 242 } 243 return "" 244 } 245 246 func (x *ListTensorboardsRequest) GetReadMask() *fieldmaskpb.FieldMask { 247 if x != nil { 248 return x.ReadMask 249 } 250 return nil 251 } 252 253 // Response message for 254 // [TensorboardService.ListTensorboards][google.cloud.aiplatform.v1.TensorboardService.ListTensorboards]. 255 type ListTensorboardsResponse struct { 256 state protoimpl.MessageState 257 sizeCache protoimpl.SizeCache 258 unknownFields protoimpl.UnknownFields 259 260 // The Tensorboards mathching the request. 261 Tensorboards []*Tensorboard `protobuf:"bytes,1,rep,name=tensorboards,proto3" json:"tensorboards,omitempty"` 262 // A token, which can be sent as 263 // [ListTensorboardsRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardsRequest.page_token] 264 // to retrieve the next page. If this field is omitted, there are no 265 // subsequent pages. 266 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 267 } 268 269 func (x *ListTensorboardsResponse) Reset() { 270 *x = ListTensorboardsResponse{} 271 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[3] 272 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 273 ms.StoreMessageInfo(mi) 274 } 275 276 func (x *ListTensorboardsResponse) String() string { 277 return protoimpl.X.MessageStringOf(x) 278 } 279 280 func (*ListTensorboardsResponse) ProtoMessage() {} 281 282 func (x *ListTensorboardsResponse) ProtoReflect() protoreflect.Message { 283 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[3] 284 if x != nil { 285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 286 if ms.LoadMessageInfo() == nil { 287 ms.StoreMessageInfo(mi) 288 } 289 return ms 290 } 291 return mi.MessageOf(x) 292 } 293 294 // Deprecated: Use ListTensorboardsResponse.ProtoReflect.Descriptor instead. 295 func (*ListTensorboardsResponse) Descriptor() ([]byte, []int) { 296 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{3} 297 } 298 299 func (x *ListTensorboardsResponse) GetTensorboards() []*Tensorboard { 300 if x != nil { 301 return x.Tensorboards 302 } 303 return nil 304 } 305 306 func (x *ListTensorboardsResponse) GetNextPageToken() string { 307 if x != nil { 308 return x.NextPageToken 309 } 310 return "" 311 } 312 313 // Request message for 314 // [TensorboardService.UpdateTensorboard][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboard]. 315 type UpdateTensorboardRequest struct { 316 state protoimpl.MessageState 317 sizeCache protoimpl.SizeCache 318 unknownFields protoimpl.UnknownFields 319 320 // Required. Field mask is used to specify the fields to be overwritten in the 321 // Tensorboard resource by the update. 322 // The fields specified in the update_mask are relative to the resource, not 323 // the full request. A field is overwritten if it's in the mask. If the 324 // user does not provide a mask then all fields are overwritten if new 325 // values are specified. 326 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 327 // Required. The Tensorboard's `name` field is used to identify the 328 // Tensorboard to be updated. Format: 329 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 330 Tensorboard *Tensorboard `protobuf:"bytes,2,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` 331 } 332 333 func (x *UpdateTensorboardRequest) Reset() { 334 *x = UpdateTensorboardRequest{} 335 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[4] 336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 337 ms.StoreMessageInfo(mi) 338 } 339 340 func (x *UpdateTensorboardRequest) String() string { 341 return protoimpl.X.MessageStringOf(x) 342 } 343 344 func (*UpdateTensorboardRequest) ProtoMessage() {} 345 346 func (x *UpdateTensorboardRequest) ProtoReflect() protoreflect.Message { 347 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[4] 348 if x != nil { 349 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 350 if ms.LoadMessageInfo() == nil { 351 ms.StoreMessageInfo(mi) 352 } 353 return ms 354 } 355 return mi.MessageOf(x) 356 } 357 358 // Deprecated: Use UpdateTensorboardRequest.ProtoReflect.Descriptor instead. 359 func (*UpdateTensorboardRequest) Descriptor() ([]byte, []int) { 360 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{4} 361 } 362 363 func (x *UpdateTensorboardRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 364 if x != nil { 365 return x.UpdateMask 366 } 367 return nil 368 } 369 370 func (x *UpdateTensorboardRequest) GetTensorboard() *Tensorboard { 371 if x != nil { 372 return x.Tensorboard 373 } 374 return nil 375 } 376 377 // Request message for 378 // [TensorboardService.DeleteTensorboard][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboard]. 379 type DeleteTensorboardRequest struct { 380 state protoimpl.MessageState 381 sizeCache protoimpl.SizeCache 382 unknownFields protoimpl.UnknownFields 383 384 // Required. The name of the Tensorboard to be deleted. 385 // Format: 386 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 387 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 388 } 389 390 func (x *DeleteTensorboardRequest) Reset() { 391 *x = DeleteTensorboardRequest{} 392 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[5] 393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 394 ms.StoreMessageInfo(mi) 395 } 396 397 func (x *DeleteTensorboardRequest) String() string { 398 return protoimpl.X.MessageStringOf(x) 399 } 400 401 func (*DeleteTensorboardRequest) ProtoMessage() {} 402 403 func (x *DeleteTensorboardRequest) ProtoReflect() protoreflect.Message { 404 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[5] 405 if x != nil { 406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 407 if ms.LoadMessageInfo() == nil { 408 ms.StoreMessageInfo(mi) 409 } 410 return ms 411 } 412 return mi.MessageOf(x) 413 } 414 415 // Deprecated: Use DeleteTensorboardRequest.ProtoReflect.Descriptor instead. 416 func (*DeleteTensorboardRequest) Descriptor() ([]byte, []int) { 417 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{5} 418 } 419 420 func (x *DeleteTensorboardRequest) GetName() string { 421 if x != nil { 422 return x.Name 423 } 424 return "" 425 } 426 427 // Request message for 428 // [TensorboardService.ReadTensorboardUsage][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardUsage]. 429 type ReadTensorboardUsageRequest struct { 430 state protoimpl.MessageState 431 sizeCache protoimpl.SizeCache 432 unknownFields protoimpl.UnknownFields 433 434 // Required. The name of the Tensorboard resource. 435 // Format: 436 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 437 Tensorboard string `protobuf:"bytes,1,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` 438 } 439 440 func (x *ReadTensorboardUsageRequest) Reset() { 441 *x = ReadTensorboardUsageRequest{} 442 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[6] 443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 444 ms.StoreMessageInfo(mi) 445 } 446 447 func (x *ReadTensorboardUsageRequest) String() string { 448 return protoimpl.X.MessageStringOf(x) 449 } 450 451 func (*ReadTensorboardUsageRequest) ProtoMessage() {} 452 453 func (x *ReadTensorboardUsageRequest) ProtoReflect() protoreflect.Message { 454 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[6] 455 if x != nil { 456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 457 if ms.LoadMessageInfo() == nil { 458 ms.StoreMessageInfo(mi) 459 } 460 return ms 461 } 462 return mi.MessageOf(x) 463 } 464 465 // Deprecated: Use ReadTensorboardUsageRequest.ProtoReflect.Descriptor instead. 466 func (*ReadTensorboardUsageRequest) Descriptor() ([]byte, []int) { 467 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{6} 468 } 469 470 func (x *ReadTensorboardUsageRequest) GetTensorboard() string { 471 if x != nil { 472 return x.Tensorboard 473 } 474 return "" 475 } 476 477 // Response message for 478 // [TensorboardService.ReadTensorboardUsage][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardUsage]. 479 type ReadTensorboardUsageResponse struct { 480 state protoimpl.MessageState 481 sizeCache protoimpl.SizeCache 482 unknownFields protoimpl.UnknownFields 483 484 // Maps year-month (YYYYMM) string to per month usage data. 485 MonthlyUsageData map[string]*ReadTensorboardUsageResponse_PerMonthUsageData `protobuf:"bytes,1,rep,name=monthly_usage_data,json=monthlyUsageData,proto3" json:"monthly_usage_data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 486 } 487 488 func (x *ReadTensorboardUsageResponse) Reset() { 489 *x = ReadTensorboardUsageResponse{} 490 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[7] 491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 492 ms.StoreMessageInfo(mi) 493 } 494 495 func (x *ReadTensorboardUsageResponse) String() string { 496 return protoimpl.X.MessageStringOf(x) 497 } 498 499 func (*ReadTensorboardUsageResponse) ProtoMessage() {} 500 501 func (x *ReadTensorboardUsageResponse) ProtoReflect() protoreflect.Message { 502 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[7] 503 if x != nil { 504 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 505 if ms.LoadMessageInfo() == nil { 506 ms.StoreMessageInfo(mi) 507 } 508 return ms 509 } 510 return mi.MessageOf(x) 511 } 512 513 // Deprecated: Use ReadTensorboardUsageResponse.ProtoReflect.Descriptor instead. 514 func (*ReadTensorboardUsageResponse) Descriptor() ([]byte, []int) { 515 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{7} 516 } 517 518 func (x *ReadTensorboardUsageResponse) GetMonthlyUsageData() map[string]*ReadTensorboardUsageResponse_PerMonthUsageData { 519 if x != nil { 520 return x.MonthlyUsageData 521 } 522 return nil 523 } 524 525 // Request message for 526 // [TensorboardService.ReadTensorboardSize][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardSize]. 527 type ReadTensorboardSizeRequest struct { 528 state protoimpl.MessageState 529 sizeCache protoimpl.SizeCache 530 unknownFields protoimpl.UnknownFields 531 532 // Required. The name of the Tensorboard resource. 533 // Format: 534 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 535 Tensorboard string `protobuf:"bytes,1,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` 536 } 537 538 func (x *ReadTensorboardSizeRequest) Reset() { 539 *x = ReadTensorboardSizeRequest{} 540 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[8] 541 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 542 ms.StoreMessageInfo(mi) 543 } 544 545 func (x *ReadTensorboardSizeRequest) String() string { 546 return protoimpl.X.MessageStringOf(x) 547 } 548 549 func (*ReadTensorboardSizeRequest) ProtoMessage() {} 550 551 func (x *ReadTensorboardSizeRequest) ProtoReflect() protoreflect.Message { 552 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[8] 553 if x != nil { 554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 555 if ms.LoadMessageInfo() == nil { 556 ms.StoreMessageInfo(mi) 557 } 558 return ms 559 } 560 return mi.MessageOf(x) 561 } 562 563 // Deprecated: Use ReadTensorboardSizeRequest.ProtoReflect.Descriptor instead. 564 func (*ReadTensorboardSizeRequest) Descriptor() ([]byte, []int) { 565 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{8} 566 } 567 568 func (x *ReadTensorboardSizeRequest) GetTensorboard() string { 569 if x != nil { 570 return x.Tensorboard 571 } 572 return "" 573 } 574 575 // Response message for 576 // [TensorboardService.ReadTensorboardSize][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardSize]. 577 type ReadTensorboardSizeResponse struct { 578 state protoimpl.MessageState 579 sizeCache protoimpl.SizeCache 580 unknownFields protoimpl.UnknownFields 581 582 // Payload storage size for the TensorBoard 583 StorageSizeByte int64 `protobuf:"varint,1,opt,name=storage_size_byte,json=storageSizeByte,proto3" json:"storage_size_byte,omitempty"` 584 } 585 586 func (x *ReadTensorboardSizeResponse) Reset() { 587 *x = ReadTensorboardSizeResponse{} 588 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[9] 589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 590 ms.StoreMessageInfo(mi) 591 } 592 593 func (x *ReadTensorboardSizeResponse) String() string { 594 return protoimpl.X.MessageStringOf(x) 595 } 596 597 func (*ReadTensorboardSizeResponse) ProtoMessage() {} 598 599 func (x *ReadTensorboardSizeResponse) ProtoReflect() protoreflect.Message { 600 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[9] 601 if x != nil { 602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 603 if ms.LoadMessageInfo() == nil { 604 ms.StoreMessageInfo(mi) 605 } 606 return ms 607 } 608 return mi.MessageOf(x) 609 } 610 611 // Deprecated: Use ReadTensorboardSizeResponse.ProtoReflect.Descriptor instead. 612 func (*ReadTensorboardSizeResponse) Descriptor() ([]byte, []int) { 613 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{9} 614 } 615 616 func (x *ReadTensorboardSizeResponse) GetStorageSizeByte() int64 { 617 if x != nil { 618 return x.StorageSizeByte 619 } 620 return 0 621 } 622 623 // Request message for 624 // [TensorboardService.CreateTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardExperiment]. 625 type CreateTensorboardExperimentRequest struct { 626 state protoimpl.MessageState 627 sizeCache protoimpl.SizeCache 628 unknownFields protoimpl.UnknownFields 629 630 // Required. The resource name of the Tensorboard to create the 631 // TensorboardExperiment in. Format: 632 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 633 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 634 // The TensorboardExperiment to create. 635 TensorboardExperiment *TensorboardExperiment `protobuf:"bytes,2,opt,name=tensorboard_experiment,json=tensorboardExperiment,proto3" json:"tensorboard_experiment,omitempty"` 636 // Required. The ID to use for the Tensorboard experiment, which becomes the 637 // final component of the Tensorboard experiment's resource name. 638 // 639 // This value should be 1-128 characters, and valid characters 640 // are `/[a-z][0-9]-/`. 641 TensorboardExperimentId string `protobuf:"bytes,3,opt,name=tensorboard_experiment_id,json=tensorboardExperimentId,proto3" json:"tensorboard_experiment_id,omitempty"` 642 } 643 644 func (x *CreateTensorboardExperimentRequest) Reset() { 645 *x = CreateTensorboardExperimentRequest{} 646 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[10] 647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 648 ms.StoreMessageInfo(mi) 649 } 650 651 func (x *CreateTensorboardExperimentRequest) String() string { 652 return protoimpl.X.MessageStringOf(x) 653 } 654 655 func (*CreateTensorboardExperimentRequest) ProtoMessage() {} 656 657 func (x *CreateTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { 658 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[10] 659 if x != nil { 660 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 661 if ms.LoadMessageInfo() == nil { 662 ms.StoreMessageInfo(mi) 663 } 664 return ms 665 } 666 return mi.MessageOf(x) 667 } 668 669 // Deprecated: Use CreateTensorboardExperimentRequest.ProtoReflect.Descriptor instead. 670 func (*CreateTensorboardExperimentRequest) Descriptor() ([]byte, []int) { 671 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{10} 672 } 673 674 func (x *CreateTensorboardExperimentRequest) GetParent() string { 675 if x != nil { 676 return x.Parent 677 } 678 return "" 679 } 680 681 func (x *CreateTensorboardExperimentRequest) GetTensorboardExperiment() *TensorboardExperiment { 682 if x != nil { 683 return x.TensorboardExperiment 684 } 685 return nil 686 } 687 688 func (x *CreateTensorboardExperimentRequest) GetTensorboardExperimentId() string { 689 if x != nil { 690 return x.TensorboardExperimentId 691 } 692 return "" 693 } 694 695 // Request message for 696 // [TensorboardService.GetTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.GetTensorboardExperiment]. 697 type GetTensorboardExperimentRequest struct { 698 state protoimpl.MessageState 699 sizeCache protoimpl.SizeCache 700 unknownFields protoimpl.UnknownFields 701 702 // Required. The name of the TensorboardExperiment resource. 703 // Format: 704 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 705 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 706 } 707 708 func (x *GetTensorboardExperimentRequest) Reset() { 709 *x = GetTensorboardExperimentRequest{} 710 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[11] 711 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 712 ms.StoreMessageInfo(mi) 713 } 714 715 func (x *GetTensorboardExperimentRequest) String() string { 716 return protoimpl.X.MessageStringOf(x) 717 } 718 719 func (*GetTensorboardExperimentRequest) ProtoMessage() {} 720 721 func (x *GetTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { 722 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[11] 723 if x != nil { 724 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 725 if ms.LoadMessageInfo() == nil { 726 ms.StoreMessageInfo(mi) 727 } 728 return ms 729 } 730 return mi.MessageOf(x) 731 } 732 733 // Deprecated: Use GetTensorboardExperimentRequest.ProtoReflect.Descriptor instead. 734 func (*GetTensorboardExperimentRequest) Descriptor() ([]byte, []int) { 735 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{11} 736 } 737 738 func (x *GetTensorboardExperimentRequest) GetName() string { 739 if x != nil { 740 return x.Name 741 } 742 return "" 743 } 744 745 // Request message for 746 // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments]. 747 type ListTensorboardExperimentsRequest struct { 748 state protoimpl.MessageState 749 sizeCache protoimpl.SizeCache 750 unknownFields protoimpl.UnknownFields 751 752 // Required. The resource name of the Tensorboard to list 753 // TensorboardExperiments. Format: 754 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}` 755 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 756 // Lists the TensorboardExperiments that match the filter expression. 757 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 758 // The maximum number of TensorboardExperiments to return. The service may 759 // return fewer than this value. If unspecified, at most 50 760 // TensorboardExperiments are returned. The maximum value is 1000; values 761 // above 1000 are coerced to 1000. 762 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 763 // A page token, received from a previous 764 // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments] 765 // call. Provide this to retrieve the subsequent page. 766 // 767 // When paginating, all other parameters provided to 768 // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments] 769 // must match the call that provided the page token. 770 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 771 // Field to use to sort the list. 772 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 773 // Mask specifying which fields to read. 774 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 775 } 776 777 func (x *ListTensorboardExperimentsRequest) Reset() { 778 *x = ListTensorboardExperimentsRequest{} 779 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[12] 780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 781 ms.StoreMessageInfo(mi) 782 } 783 784 func (x *ListTensorboardExperimentsRequest) String() string { 785 return protoimpl.X.MessageStringOf(x) 786 } 787 788 func (*ListTensorboardExperimentsRequest) ProtoMessage() {} 789 790 func (x *ListTensorboardExperimentsRequest) ProtoReflect() protoreflect.Message { 791 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[12] 792 if x != nil { 793 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 794 if ms.LoadMessageInfo() == nil { 795 ms.StoreMessageInfo(mi) 796 } 797 return ms 798 } 799 return mi.MessageOf(x) 800 } 801 802 // Deprecated: Use ListTensorboardExperimentsRequest.ProtoReflect.Descriptor instead. 803 func (*ListTensorboardExperimentsRequest) Descriptor() ([]byte, []int) { 804 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{12} 805 } 806 807 func (x *ListTensorboardExperimentsRequest) GetParent() string { 808 if x != nil { 809 return x.Parent 810 } 811 return "" 812 } 813 814 func (x *ListTensorboardExperimentsRequest) GetFilter() string { 815 if x != nil { 816 return x.Filter 817 } 818 return "" 819 } 820 821 func (x *ListTensorboardExperimentsRequest) GetPageSize() int32 { 822 if x != nil { 823 return x.PageSize 824 } 825 return 0 826 } 827 828 func (x *ListTensorboardExperimentsRequest) GetPageToken() string { 829 if x != nil { 830 return x.PageToken 831 } 832 return "" 833 } 834 835 func (x *ListTensorboardExperimentsRequest) GetOrderBy() string { 836 if x != nil { 837 return x.OrderBy 838 } 839 return "" 840 } 841 842 func (x *ListTensorboardExperimentsRequest) GetReadMask() *fieldmaskpb.FieldMask { 843 if x != nil { 844 return x.ReadMask 845 } 846 return nil 847 } 848 849 // Response message for 850 // [TensorboardService.ListTensorboardExperiments][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments]. 851 type ListTensorboardExperimentsResponse struct { 852 state protoimpl.MessageState 853 sizeCache protoimpl.SizeCache 854 unknownFields protoimpl.UnknownFields 855 856 // The TensorboardExperiments mathching the request. 857 TensorboardExperiments []*TensorboardExperiment `protobuf:"bytes,1,rep,name=tensorboard_experiments,json=tensorboardExperiments,proto3" json:"tensorboard_experiments,omitempty"` 858 // A token, which can be sent as 859 // [ListTensorboardExperimentsRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardExperimentsRequest.page_token] 860 // to retrieve the next page. If this field is omitted, there are no 861 // subsequent pages. 862 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 863 } 864 865 func (x *ListTensorboardExperimentsResponse) Reset() { 866 *x = ListTensorboardExperimentsResponse{} 867 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[13] 868 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 869 ms.StoreMessageInfo(mi) 870 } 871 872 func (x *ListTensorboardExperimentsResponse) String() string { 873 return protoimpl.X.MessageStringOf(x) 874 } 875 876 func (*ListTensorboardExperimentsResponse) ProtoMessage() {} 877 878 func (x *ListTensorboardExperimentsResponse) ProtoReflect() protoreflect.Message { 879 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[13] 880 if x != nil { 881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 882 if ms.LoadMessageInfo() == nil { 883 ms.StoreMessageInfo(mi) 884 } 885 return ms 886 } 887 return mi.MessageOf(x) 888 } 889 890 // Deprecated: Use ListTensorboardExperimentsResponse.ProtoReflect.Descriptor instead. 891 func (*ListTensorboardExperimentsResponse) Descriptor() ([]byte, []int) { 892 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{13} 893 } 894 895 func (x *ListTensorboardExperimentsResponse) GetTensorboardExperiments() []*TensorboardExperiment { 896 if x != nil { 897 return x.TensorboardExperiments 898 } 899 return nil 900 } 901 902 func (x *ListTensorboardExperimentsResponse) GetNextPageToken() string { 903 if x != nil { 904 return x.NextPageToken 905 } 906 return "" 907 } 908 909 // Request message for 910 // [TensorboardService.UpdateTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardExperiment]. 911 type UpdateTensorboardExperimentRequest struct { 912 state protoimpl.MessageState 913 sizeCache protoimpl.SizeCache 914 unknownFields protoimpl.UnknownFields 915 916 // Required. Field mask is used to specify the fields to be overwritten in the 917 // TensorboardExperiment resource by the update. 918 // The fields specified in the update_mask are relative to the resource, not 919 // the full request. A field is overwritten if it's in the mask. If the 920 // user does not provide a mask then all fields are overwritten if new 921 // values are specified. 922 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 923 // Required. The TensorboardExperiment's `name` field is used to identify the 924 // TensorboardExperiment to be updated. Format: 925 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 926 TensorboardExperiment *TensorboardExperiment `protobuf:"bytes,2,opt,name=tensorboard_experiment,json=tensorboardExperiment,proto3" json:"tensorboard_experiment,omitempty"` 927 } 928 929 func (x *UpdateTensorboardExperimentRequest) Reset() { 930 *x = UpdateTensorboardExperimentRequest{} 931 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[14] 932 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 933 ms.StoreMessageInfo(mi) 934 } 935 936 func (x *UpdateTensorboardExperimentRequest) String() string { 937 return protoimpl.X.MessageStringOf(x) 938 } 939 940 func (*UpdateTensorboardExperimentRequest) ProtoMessage() {} 941 942 func (x *UpdateTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { 943 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[14] 944 if x != nil { 945 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 946 if ms.LoadMessageInfo() == nil { 947 ms.StoreMessageInfo(mi) 948 } 949 return ms 950 } 951 return mi.MessageOf(x) 952 } 953 954 // Deprecated: Use UpdateTensorboardExperimentRequest.ProtoReflect.Descriptor instead. 955 func (*UpdateTensorboardExperimentRequest) Descriptor() ([]byte, []int) { 956 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{14} 957 } 958 959 func (x *UpdateTensorboardExperimentRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 960 if x != nil { 961 return x.UpdateMask 962 } 963 return nil 964 } 965 966 func (x *UpdateTensorboardExperimentRequest) GetTensorboardExperiment() *TensorboardExperiment { 967 if x != nil { 968 return x.TensorboardExperiment 969 } 970 return nil 971 } 972 973 // Request message for 974 // [TensorboardService.DeleteTensorboardExperiment][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardExperiment]. 975 type DeleteTensorboardExperimentRequest struct { 976 state protoimpl.MessageState 977 sizeCache protoimpl.SizeCache 978 unknownFields protoimpl.UnknownFields 979 980 // Required. The name of the TensorboardExperiment to be deleted. 981 // Format: 982 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 983 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 984 } 985 986 func (x *DeleteTensorboardExperimentRequest) Reset() { 987 *x = DeleteTensorboardExperimentRequest{} 988 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[15] 989 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 990 ms.StoreMessageInfo(mi) 991 } 992 993 func (x *DeleteTensorboardExperimentRequest) String() string { 994 return protoimpl.X.MessageStringOf(x) 995 } 996 997 func (*DeleteTensorboardExperimentRequest) ProtoMessage() {} 998 999 func (x *DeleteTensorboardExperimentRequest) ProtoReflect() protoreflect.Message { 1000 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[15] 1001 if x != nil { 1002 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1003 if ms.LoadMessageInfo() == nil { 1004 ms.StoreMessageInfo(mi) 1005 } 1006 return ms 1007 } 1008 return mi.MessageOf(x) 1009 } 1010 1011 // Deprecated: Use DeleteTensorboardExperimentRequest.ProtoReflect.Descriptor instead. 1012 func (*DeleteTensorboardExperimentRequest) Descriptor() ([]byte, []int) { 1013 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{15} 1014 } 1015 1016 func (x *DeleteTensorboardExperimentRequest) GetName() string { 1017 if x != nil { 1018 return x.Name 1019 } 1020 return "" 1021 } 1022 1023 // Request message for 1024 // [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardRuns]. 1025 type BatchCreateTensorboardRunsRequest struct { 1026 state protoimpl.MessageState 1027 sizeCache protoimpl.SizeCache 1028 unknownFields protoimpl.UnknownFields 1029 1030 // Required. The resource name of the TensorboardExperiment to create the 1031 // TensorboardRuns in. Format: 1032 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 1033 // The parent field in the CreateTensorboardRunRequest messages must match 1034 // this field. 1035 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1036 // Required. The request message specifying the TensorboardRuns to create. 1037 // A maximum of 1000 TensorboardRuns can be created in a batch. 1038 Requests []*CreateTensorboardRunRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 1039 } 1040 1041 func (x *BatchCreateTensorboardRunsRequest) Reset() { 1042 *x = BatchCreateTensorboardRunsRequest{} 1043 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[16] 1044 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1045 ms.StoreMessageInfo(mi) 1046 } 1047 1048 func (x *BatchCreateTensorboardRunsRequest) String() string { 1049 return protoimpl.X.MessageStringOf(x) 1050 } 1051 1052 func (*BatchCreateTensorboardRunsRequest) ProtoMessage() {} 1053 1054 func (x *BatchCreateTensorboardRunsRequest) ProtoReflect() protoreflect.Message { 1055 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[16] 1056 if x != nil { 1057 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1058 if ms.LoadMessageInfo() == nil { 1059 ms.StoreMessageInfo(mi) 1060 } 1061 return ms 1062 } 1063 return mi.MessageOf(x) 1064 } 1065 1066 // Deprecated: Use BatchCreateTensorboardRunsRequest.ProtoReflect.Descriptor instead. 1067 func (*BatchCreateTensorboardRunsRequest) Descriptor() ([]byte, []int) { 1068 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{16} 1069 } 1070 1071 func (x *BatchCreateTensorboardRunsRequest) GetParent() string { 1072 if x != nil { 1073 return x.Parent 1074 } 1075 return "" 1076 } 1077 1078 func (x *BatchCreateTensorboardRunsRequest) GetRequests() []*CreateTensorboardRunRequest { 1079 if x != nil { 1080 return x.Requests 1081 } 1082 return nil 1083 } 1084 1085 // Response message for 1086 // [TensorboardService.BatchCreateTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardRuns]. 1087 type BatchCreateTensorboardRunsResponse struct { 1088 state protoimpl.MessageState 1089 sizeCache protoimpl.SizeCache 1090 unknownFields protoimpl.UnknownFields 1091 1092 // The created TensorboardRuns. 1093 TensorboardRuns []*TensorboardRun `protobuf:"bytes,1,rep,name=tensorboard_runs,json=tensorboardRuns,proto3" json:"tensorboard_runs,omitempty"` 1094 } 1095 1096 func (x *BatchCreateTensorboardRunsResponse) Reset() { 1097 *x = BatchCreateTensorboardRunsResponse{} 1098 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[17] 1099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1100 ms.StoreMessageInfo(mi) 1101 } 1102 1103 func (x *BatchCreateTensorboardRunsResponse) String() string { 1104 return protoimpl.X.MessageStringOf(x) 1105 } 1106 1107 func (*BatchCreateTensorboardRunsResponse) ProtoMessage() {} 1108 1109 func (x *BatchCreateTensorboardRunsResponse) ProtoReflect() protoreflect.Message { 1110 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[17] 1111 if x != nil { 1112 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1113 if ms.LoadMessageInfo() == nil { 1114 ms.StoreMessageInfo(mi) 1115 } 1116 return ms 1117 } 1118 return mi.MessageOf(x) 1119 } 1120 1121 // Deprecated: Use BatchCreateTensorboardRunsResponse.ProtoReflect.Descriptor instead. 1122 func (*BatchCreateTensorboardRunsResponse) Descriptor() ([]byte, []int) { 1123 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{17} 1124 } 1125 1126 func (x *BatchCreateTensorboardRunsResponse) GetTensorboardRuns() []*TensorboardRun { 1127 if x != nil { 1128 return x.TensorboardRuns 1129 } 1130 return nil 1131 } 1132 1133 // Request message for 1134 // [TensorboardService.CreateTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardRun]. 1135 type CreateTensorboardRunRequest struct { 1136 state protoimpl.MessageState 1137 sizeCache protoimpl.SizeCache 1138 unknownFields protoimpl.UnknownFields 1139 1140 // Required. The resource name of the TensorboardExperiment to create the 1141 // TensorboardRun in. Format: 1142 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 1143 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1144 // Required. The TensorboardRun to create. 1145 TensorboardRun *TensorboardRun `protobuf:"bytes,2,opt,name=tensorboard_run,json=tensorboardRun,proto3" json:"tensorboard_run,omitempty"` 1146 // Required. The ID to use for the Tensorboard run, which becomes the final 1147 // component of the Tensorboard run's resource name. 1148 // 1149 // This value should be 1-128 characters, and valid characters 1150 // are `/[a-z][0-9]-/`. 1151 TensorboardRunId string `protobuf:"bytes,3,opt,name=tensorboard_run_id,json=tensorboardRunId,proto3" json:"tensorboard_run_id,omitempty"` 1152 } 1153 1154 func (x *CreateTensorboardRunRequest) Reset() { 1155 *x = CreateTensorboardRunRequest{} 1156 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[18] 1157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1158 ms.StoreMessageInfo(mi) 1159 } 1160 1161 func (x *CreateTensorboardRunRequest) String() string { 1162 return protoimpl.X.MessageStringOf(x) 1163 } 1164 1165 func (*CreateTensorboardRunRequest) ProtoMessage() {} 1166 1167 func (x *CreateTensorboardRunRequest) ProtoReflect() protoreflect.Message { 1168 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[18] 1169 if x != nil { 1170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1171 if ms.LoadMessageInfo() == nil { 1172 ms.StoreMessageInfo(mi) 1173 } 1174 return ms 1175 } 1176 return mi.MessageOf(x) 1177 } 1178 1179 // Deprecated: Use CreateTensorboardRunRequest.ProtoReflect.Descriptor instead. 1180 func (*CreateTensorboardRunRequest) Descriptor() ([]byte, []int) { 1181 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{18} 1182 } 1183 1184 func (x *CreateTensorboardRunRequest) GetParent() string { 1185 if x != nil { 1186 return x.Parent 1187 } 1188 return "" 1189 } 1190 1191 func (x *CreateTensorboardRunRequest) GetTensorboardRun() *TensorboardRun { 1192 if x != nil { 1193 return x.TensorboardRun 1194 } 1195 return nil 1196 } 1197 1198 func (x *CreateTensorboardRunRequest) GetTensorboardRunId() string { 1199 if x != nil { 1200 return x.TensorboardRunId 1201 } 1202 return "" 1203 } 1204 1205 // Request message for 1206 // [TensorboardService.GetTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.GetTensorboardRun]. 1207 type GetTensorboardRunRequest struct { 1208 state protoimpl.MessageState 1209 sizeCache protoimpl.SizeCache 1210 unknownFields protoimpl.UnknownFields 1211 1212 // Required. The name of the TensorboardRun resource. 1213 // Format: 1214 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` 1215 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1216 } 1217 1218 func (x *GetTensorboardRunRequest) Reset() { 1219 *x = GetTensorboardRunRequest{} 1220 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[19] 1221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1222 ms.StoreMessageInfo(mi) 1223 } 1224 1225 func (x *GetTensorboardRunRequest) String() string { 1226 return protoimpl.X.MessageStringOf(x) 1227 } 1228 1229 func (*GetTensorboardRunRequest) ProtoMessage() {} 1230 1231 func (x *GetTensorboardRunRequest) ProtoReflect() protoreflect.Message { 1232 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[19] 1233 if x != nil { 1234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1235 if ms.LoadMessageInfo() == nil { 1236 ms.StoreMessageInfo(mi) 1237 } 1238 return ms 1239 } 1240 return mi.MessageOf(x) 1241 } 1242 1243 // Deprecated: Use GetTensorboardRunRequest.ProtoReflect.Descriptor instead. 1244 func (*GetTensorboardRunRequest) Descriptor() ([]byte, []int) { 1245 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{19} 1246 } 1247 1248 func (x *GetTensorboardRunRequest) GetName() string { 1249 if x != nil { 1250 return x.Name 1251 } 1252 return "" 1253 } 1254 1255 // Request message for 1256 // [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData]. 1257 type ReadTensorboardBlobDataRequest struct { 1258 state protoimpl.MessageState 1259 sizeCache protoimpl.SizeCache 1260 unknownFields protoimpl.UnknownFields 1261 1262 // Required. The resource name of the TensorboardTimeSeries to list Blobs. 1263 // Format: 1264 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 1265 TimeSeries string `protobuf:"bytes,1,opt,name=time_series,json=timeSeries,proto3" json:"time_series,omitempty"` 1266 // IDs of the blobs to read. 1267 BlobIds []string `protobuf:"bytes,2,rep,name=blob_ids,json=blobIds,proto3" json:"blob_ids,omitempty"` 1268 } 1269 1270 func (x *ReadTensorboardBlobDataRequest) Reset() { 1271 *x = ReadTensorboardBlobDataRequest{} 1272 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[20] 1273 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1274 ms.StoreMessageInfo(mi) 1275 } 1276 1277 func (x *ReadTensorboardBlobDataRequest) String() string { 1278 return protoimpl.X.MessageStringOf(x) 1279 } 1280 1281 func (*ReadTensorboardBlobDataRequest) ProtoMessage() {} 1282 1283 func (x *ReadTensorboardBlobDataRequest) ProtoReflect() protoreflect.Message { 1284 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[20] 1285 if x != nil { 1286 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1287 if ms.LoadMessageInfo() == nil { 1288 ms.StoreMessageInfo(mi) 1289 } 1290 return ms 1291 } 1292 return mi.MessageOf(x) 1293 } 1294 1295 // Deprecated: Use ReadTensorboardBlobDataRequest.ProtoReflect.Descriptor instead. 1296 func (*ReadTensorboardBlobDataRequest) Descriptor() ([]byte, []int) { 1297 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{20} 1298 } 1299 1300 func (x *ReadTensorboardBlobDataRequest) GetTimeSeries() string { 1301 if x != nil { 1302 return x.TimeSeries 1303 } 1304 return "" 1305 } 1306 1307 func (x *ReadTensorboardBlobDataRequest) GetBlobIds() []string { 1308 if x != nil { 1309 return x.BlobIds 1310 } 1311 return nil 1312 } 1313 1314 // Response message for 1315 // [TensorboardService.ReadTensorboardBlobData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData]. 1316 type ReadTensorboardBlobDataResponse struct { 1317 state protoimpl.MessageState 1318 sizeCache protoimpl.SizeCache 1319 unknownFields protoimpl.UnknownFields 1320 1321 // Blob messages containing blob bytes. 1322 Blobs []*TensorboardBlob `protobuf:"bytes,1,rep,name=blobs,proto3" json:"blobs,omitempty"` 1323 } 1324 1325 func (x *ReadTensorboardBlobDataResponse) Reset() { 1326 *x = ReadTensorboardBlobDataResponse{} 1327 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[21] 1328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1329 ms.StoreMessageInfo(mi) 1330 } 1331 1332 func (x *ReadTensorboardBlobDataResponse) String() string { 1333 return protoimpl.X.MessageStringOf(x) 1334 } 1335 1336 func (*ReadTensorboardBlobDataResponse) ProtoMessage() {} 1337 1338 func (x *ReadTensorboardBlobDataResponse) ProtoReflect() protoreflect.Message { 1339 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[21] 1340 if x != nil { 1341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1342 if ms.LoadMessageInfo() == nil { 1343 ms.StoreMessageInfo(mi) 1344 } 1345 return ms 1346 } 1347 return mi.MessageOf(x) 1348 } 1349 1350 // Deprecated: Use ReadTensorboardBlobDataResponse.ProtoReflect.Descriptor instead. 1351 func (*ReadTensorboardBlobDataResponse) Descriptor() ([]byte, []int) { 1352 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{21} 1353 } 1354 1355 func (x *ReadTensorboardBlobDataResponse) GetBlobs() []*TensorboardBlob { 1356 if x != nil { 1357 return x.Blobs 1358 } 1359 return nil 1360 } 1361 1362 // Request message for 1363 // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns]. 1364 type ListTensorboardRunsRequest struct { 1365 state protoimpl.MessageState 1366 sizeCache protoimpl.SizeCache 1367 unknownFields protoimpl.UnknownFields 1368 1369 // Required. The resource name of the TensorboardExperiment to list 1370 // TensorboardRuns. Format: 1371 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 1372 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1373 // Lists the TensorboardRuns that match the filter expression. 1374 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 1375 // The maximum number of TensorboardRuns to return. The service may return 1376 // fewer than this value. If unspecified, at most 50 TensorboardRuns are 1377 // returned. The maximum value is 1000; values above 1000 are coerced to 1378 // 1000. 1379 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1380 // A page token, received from a previous 1381 // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns] 1382 // call. Provide this to retrieve the subsequent page. 1383 // 1384 // When paginating, all other parameters provided to 1385 // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns] 1386 // must match the call that provided the page token. 1387 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1388 // Field to use to sort the list. 1389 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 1390 // Mask specifying which fields to read. 1391 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 1392 } 1393 1394 func (x *ListTensorboardRunsRequest) Reset() { 1395 *x = ListTensorboardRunsRequest{} 1396 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[22] 1397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1398 ms.StoreMessageInfo(mi) 1399 } 1400 1401 func (x *ListTensorboardRunsRequest) String() string { 1402 return protoimpl.X.MessageStringOf(x) 1403 } 1404 1405 func (*ListTensorboardRunsRequest) ProtoMessage() {} 1406 1407 func (x *ListTensorboardRunsRequest) ProtoReflect() protoreflect.Message { 1408 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[22] 1409 if x != nil { 1410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1411 if ms.LoadMessageInfo() == nil { 1412 ms.StoreMessageInfo(mi) 1413 } 1414 return ms 1415 } 1416 return mi.MessageOf(x) 1417 } 1418 1419 // Deprecated: Use ListTensorboardRunsRequest.ProtoReflect.Descriptor instead. 1420 func (*ListTensorboardRunsRequest) Descriptor() ([]byte, []int) { 1421 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{22} 1422 } 1423 1424 func (x *ListTensorboardRunsRequest) GetParent() string { 1425 if x != nil { 1426 return x.Parent 1427 } 1428 return "" 1429 } 1430 1431 func (x *ListTensorboardRunsRequest) GetFilter() string { 1432 if x != nil { 1433 return x.Filter 1434 } 1435 return "" 1436 } 1437 1438 func (x *ListTensorboardRunsRequest) GetPageSize() int32 { 1439 if x != nil { 1440 return x.PageSize 1441 } 1442 return 0 1443 } 1444 1445 func (x *ListTensorboardRunsRequest) GetPageToken() string { 1446 if x != nil { 1447 return x.PageToken 1448 } 1449 return "" 1450 } 1451 1452 func (x *ListTensorboardRunsRequest) GetOrderBy() string { 1453 if x != nil { 1454 return x.OrderBy 1455 } 1456 return "" 1457 } 1458 1459 func (x *ListTensorboardRunsRequest) GetReadMask() *fieldmaskpb.FieldMask { 1460 if x != nil { 1461 return x.ReadMask 1462 } 1463 return nil 1464 } 1465 1466 // Response message for 1467 // [TensorboardService.ListTensorboardRuns][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns]. 1468 type ListTensorboardRunsResponse struct { 1469 state protoimpl.MessageState 1470 sizeCache protoimpl.SizeCache 1471 unknownFields protoimpl.UnknownFields 1472 1473 // The TensorboardRuns mathching the request. 1474 TensorboardRuns []*TensorboardRun `protobuf:"bytes,1,rep,name=tensorboard_runs,json=tensorboardRuns,proto3" json:"tensorboard_runs,omitempty"` 1475 // A token, which can be sent as 1476 // [ListTensorboardRunsRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardRunsRequest.page_token] 1477 // to retrieve the next page. If this field is omitted, there are no 1478 // subsequent pages. 1479 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1480 } 1481 1482 func (x *ListTensorboardRunsResponse) Reset() { 1483 *x = ListTensorboardRunsResponse{} 1484 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[23] 1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1486 ms.StoreMessageInfo(mi) 1487 } 1488 1489 func (x *ListTensorboardRunsResponse) String() string { 1490 return protoimpl.X.MessageStringOf(x) 1491 } 1492 1493 func (*ListTensorboardRunsResponse) ProtoMessage() {} 1494 1495 func (x *ListTensorboardRunsResponse) ProtoReflect() protoreflect.Message { 1496 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[23] 1497 if x != nil { 1498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1499 if ms.LoadMessageInfo() == nil { 1500 ms.StoreMessageInfo(mi) 1501 } 1502 return ms 1503 } 1504 return mi.MessageOf(x) 1505 } 1506 1507 // Deprecated: Use ListTensorboardRunsResponse.ProtoReflect.Descriptor instead. 1508 func (*ListTensorboardRunsResponse) Descriptor() ([]byte, []int) { 1509 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{23} 1510 } 1511 1512 func (x *ListTensorboardRunsResponse) GetTensorboardRuns() []*TensorboardRun { 1513 if x != nil { 1514 return x.TensorboardRuns 1515 } 1516 return nil 1517 } 1518 1519 func (x *ListTensorboardRunsResponse) GetNextPageToken() string { 1520 if x != nil { 1521 return x.NextPageToken 1522 } 1523 return "" 1524 } 1525 1526 // Request message for 1527 // [TensorboardService.UpdateTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardRun]. 1528 type UpdateTensorboardRunRequest struct { 1529 state protoimpl.MessageState 1530 sizeCache protoimpl.SizeCache 1531 unknownFields protoimpl.UnknownFields 1532 1533 // Required. Field mask is used to specify the fields to be overwritten in the 1534 // TensorboardRun resource by the update. 1535 // The fields specified in the update_mask are relative to the resource, not 1536 // the full request. A field is overwritten if it's in the mask. If the 1537 // user does not provide a mask then all fields are overwritten if new 1538 // values are specified. 1539 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 1540 // Required. The TensorboardRun's `name` field is used to identify the 1541 // TensorboardRun to be updated. Format: 1542 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` 1543 TensorboardRun *TensorboardRun `protobuf:"bytes,2,opt,name=tensorboard_run,json=tensorboardRun,proto3" json:"tensorboard_run,omitempty"` 1544 } 1545 1546 func (x *UpdateTensorboardRunRequest) Reset() { 1547 *x = UpdateTensorboardRunRequest{} 1548 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[24] 1549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1550 ms.StoreMessageInfo(mi) 1551 } 1552 1553 func (x *UpdateTensorboardRunRequest) String() string { 1554 return protoimpl.X.MessageStringOf(x) 1555 } 1556 1557 func (*UpdateTensorboardRunRequest) ProtoMessage() {} 1558 1559 func (x *UpdateTensorboardRunRequest) ProtoReflect() protoreflect.Message { 1560 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[24] 1561 if x != nil { 1562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1563 if ms.LoadMessageInfo() == nil { 1564 ms.StoreMessageInfo(mi) 1565 } 1566 return ms 1567 } 1568 return mi.MessageOf(x) 1569 } 1570 1571 // Deprecated: Use UpdateTensorboardRunRequest.ProtoReflect.Descriptor instead. 1572 func (*UpdateTensorboardRunRequest) Descriptor() ([]byte, []int) { 1573 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{24} 1574 } 1575 1576 func (x *UpdateTensorboardRunRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 1577 if x != nil { 1578 return x.UpdateMask 1579 } 1580 return nil 1581 } 1582 1583 func (x *UpdateTensorboardRunRequest) GetTensorboardRun() *TensorboardRun { 1584 if x != nil { 1585 return x.TensorboardRun 1586 } 1587 return nil 1588 } 1589 1590 // Request message for 1591 // [TensorboardService.DeleteTensorboardRun][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardRun]. 1592 type DeleteTensorboardRunRequest struct { 1593 state protoimpl.MessageState 1594 sizeCache protoimpl.SizeCache 1595 unknownFields protoimpl.UnknownFields 1596 1597 // Required. The name of the TensorboardRun to be deleted. 1598 // Format: 1599 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` 1600 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1601 } 1602 1603 func (x *DeleteTensorboardRunRequest) Reset() { 1604 *x = DeleteTensorboardRunRequest{} 1605 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[25] 1606 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1607 ms.StoreMessageInfo(mi) 1608 } 1609 1610 func (x *DeleteTensorboardRunRequest) String() string { 1611 return protoimpl.X.MessageStringOf(x) 1612 } 1613 1614 func (*DeleteTensorboardRunRequest) ProtoMessage() {} 1615 1616 func (x *DeleteTensorboardRunRequest) ProtoReflect() protoreflect.Message { 1617 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[25] 1618 if x != nil { 1619 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1620 if ms.LoadMessageInfo() == nil { 1621 ms.StoreMessageInfo(mi) 1622 } 1623 return ms 1624 } 1625 return mi.MessageOf(x) 1626 } 1627 1628 // Deprecated: Use DeleteTensorboardRunRequest.ProtoReflect.Descriptor instead. 1629 func (*DeleteTensorboardRunRequest) Descriptor() ([]byte, []int) { 1630 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{25} 1631 } 1632 1633 func (x *DeleteTensorboardRunRequest) GetName() string { 1634 if x != nil { 1635 return x.Name 1636 } 1637 return "" 1638 } 1639 1640 // Request message for 1641 // [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardTimeSeries]. 1642 type BatchCreateTensorboardTimeSeriesRequest struct { 1643 state protoimpl.MessageState 1644 sizeCache protoimpl.SizeCache 1645 unknownFields protoimpl.UnknownFields 1646 1647 // Required. The resource name of the TensorboardExperiment to create the 1648 // TensorboardTimeSeries in. 1649 // Format: 1650 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 1651 // The TensorboardRuns referenced by the parent fields in the 1652 // CreateTensorboardTimeSeriesRequest messages must be sub resources of this 1653 // TensorboardExperiment. 1654 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1655 // Required. The request message specifying the TensorboardTimeSeries to 1656 // create. A maximum of 1000 TensorboardTimeSeries can be created in a batch. 1657 Requests []*CreateTensorboardTimeSeriesRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 1658 } 1659 1660 func (x *BatchCreateTensorboardTimeSeriesRequest) Reset() { 1661 *x = BatchCreateTensorboardTimeSeriesRequest{} 1662 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[26] 1663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1664 ms.StoreMessageInfo(mi) 1665 } 1666 1667 func (x *BatchCreateTensorboardTimeSeriesRequest) String() string { 1668 return protoimpl.X.MessageStringOf(x) 1669 } 1670 1671 func (*BatchCreateTensorboardTimeSeriesRequest) ProtoMessage() {} 1672 1673 func (x *BatchCreateTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { 1674 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[26] 1675 if x != nil { 1676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1677 if ms.LoadMessageInfo() == nil { 1678 ms.StoreMessageInfo(mi) 1679 } 1680 return ms 1681 } 1682 return mi.MessageOf(x) 1683 } 1684 1685 // Deprecated: Use BatchCreateTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. 1686 func (*BatchCreateTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { 1687 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{26} 1688 } 1689 1690 func (x *BatchCreateTensorboardTimeSeriesRequest) GetParent() string { 1691 if x != nil { 1692 return x.Parent 1693 } 1694 return "" 1695 } 1696 1697 func (x *BatchCreateTensorboardTimeSeriesRequest) GetRequests() []*CreateTensorboardTimeSeriesRequest { 1698 if x != nil { 1699 return x.Requests 1700 } 1701 return nil 1702 } 1703 1704 // Response message for 1705 // [TensorboardService.BatchCreateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardTimeSeries]. 1706 type BatchCreateTensorboardTimeSeriesResponse struct { 1707 state protoimpl.MessageState 1708 sizeCache protoimpl.SizeCache 1709 unknownFields protoimpl.UnknownFields 1710 1711 // The created TensorboardTimeSeries. 1712 TensorboardTimeSeries []*TensorboardTimeSeries `protobuf:"bytes,1,rep,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` 1713 } 1714 1715 func (x *BatchCreateTensorboardTimeSeriesResponse) Reset() { 1716 *x = BatchCreateTensorboardTimeSeriesResponse{} 1717 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[27] 1718 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1719 ms.StoreMessageInfo(mi) 1720 } 1721 1722 func (x *BatchCreateTensorboardTimeSeriesResponse) String() string { 1723 return protoimpl.X.MessageStringOf(x) 1724 } 1725 1726 func (*BatchCreateTensorboardTimeSeriesResponse) ProtoMessage() {} 1727 1728 func (x *BatchCreateTensorboardTimeSeriesResponse) ProtoReflect() protoreflect.Message { 1729 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[27] 1730 if x != nil { 1731 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1732 if ms.LoadMessageInfo() == nil { 1733 ms.StoreMessageInfo(mi) 1734 } 1735 return ms 1736 } 1737 return mi.MessageOf(x) 1738 } 1739 1740 // Deprecated: Use BatchCreateTensorboardTimeSeriesResponse.ProtoReflect.Descriptor instead. 1741 func (*BatchCreateTensorboardTimeSeriesResponse) Descriptor() ([]byte, []int) { 1742 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{27} 1743 } 1744 1745 func (x *BatchCreateTensorboardTimeSeriesResponse) GetTensorboardTimeSeries() []*TensorboardTimeSeries { 1746 if x != nil { 1747 return x.TensorboardTimeSeries 1748 } 1749 return nil 1750 } 1751 1752 // Request message for 1753 // [TensorboardService.CreateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardTimeSeries]. 1754 type CreateTensorboardTimeSeriesRequest struct { 1755 state protoimpl.MessageState 1756 sizeCache protoimpl.SizeCache 1757 unknownFields protoimpl.UnknownFields 1758 1759 // Required. The resource name of the TensorboardRun to create the 1760 // TensorboardTimeSeries in. 1761 // Format: 1762 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` 1763 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1764 // Optional. The user specified unique ID to use for the 1765 // TensorboardTimeSeries, which becomes the final component of the 1766 // TensorboardTimeSeries's resource name. This value should match 1767 // "[a-z0-9][a-z0-9-]{0, 127}" 1768 TensorboardTimeSeriesId string `protobuf:"bytes,3,opt,name=tensorboard_time_series_id,json=tensorboardTimeSeriesId,proto3" json:"tensorboard_time_series_id,omitempty"` 1769 // Required. The TensorboardTimeSeries to create. 1770 TensorboardTimeSeries *TensorboardTimeSeries `protobuf:"bytes,2,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` 1771 } 1772 1773 func (x *CreateTensorboardTimeSeriesRequest) Reset() { 1774 *x = CreateTensorboardTimeSeriesRequest{} 1775 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[28] 1776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1777 ms.StoreMessageInfo(mi) 1778 } 1779 1780 func (x *CreateTensorboardTimeSeriesRequest) String() string { 1781 return protoimpl.X.MessageStringOf(x) 1782 } 1783 1784 func (*CreateTensorboardTimeSeriesRequest) ProtoMessage() {} 1785 1786 func (x *CreateTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { 1787 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[28] 1788 if x != nil { 1789 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1790 if ms.LoadMessageInfo() == nil { 1791 ms.StoreMessageInfo(mi) 1792 } 1793 return ms 1794 } 1795 return mi.MessageOf(x) 1796 } 1797 1798 // Deprecated: Use CreateTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. 1799 func (*CreateTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { 1800 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{28} 1801 } 1802 1803 func (x *CreateTensorboardTimeSeriesRequest) GetParent() string { 1804 if x != nil { 1805 return x.Parent 1806 } 1807 return "" 1808 } 1809 1810 func (x *CreateTensorboardTimeSeriesRequest) GetTensorboardTimeSeriesId() string { 1811 if x != nil { 1812 return x.TensorboardTimeSeriesId 1813 } 1814 return "" 1815 } 1816 1817 func (x *CreateTensorboardTimeSeriesRequest) GetTensorboardTimeSeries() *TensorboardTimeSeries { 1818 if x != nil { 1819 return x.TensorboardTimeSeries 1820 } 1821 return nil 1822 } 1823 1824 // Request message for 1825 // [TensorboardService.GetTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.GetTensorboardTimeSeries]. 1826 type GetTensorboardTimeSeriesRequest struct { 1827 state protoimpl.MessageState 1828 sizeCache protoimpl.SizeCache 1829 unknownFields protoimpl.UnknownFields 1830 1831 // Required. The name of the TensorboardTimeSeries resource. 1832 // Format: 1833 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 1834 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1835 } 1836 1837 func (x *GetTensorboardTimeSeriesRequest) Reset() { 1838 *x = GetTensorboardTimeSeriesRequest{} 1839 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[29] 1840 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1841 ms.StoreMessageInfo(mi) 1842 } 1843 1844 func (x *GetTensorboardTimeSeriesRequest) String() string { 1845 return protoimpl.X.MessageStringOf(x) 1846 } 1847 1848 func (*GetTensorboardTimeSeriesRequest) ProtoMessage() {} 1849 1850 func (x *GetTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { 1851 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[29] 1852 if x != nil { 1853 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1854 if ms.LoadMessageInfo() == nil { 1855 ms.StoreMessageInfo(mi) 1856 } 1857 return ms 1858 } 1859 return mi.MessageOf(x) 1860 } 1861 1862 // Deprecated: Use GetTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. 1863 func (*GetTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { 1864 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{29} 1865 } 1866 1867 func (x *GetTensorboardTimeSeriesRequest) GetName() string { 1868 if x != nil { 1869 return x.Name 1870 } 1871 return "" 1872 } 1873 1874 // Request message for 1875 // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries]. 1876 type ListTensorboardTimeSeriesRequest struct { 1877 state protoimpl.MessageState 1878 sizeCache protoimpl.SizeCache 1879 unknownFields protoimpl.UnknownFields 1880 1881 // Required. The resource name of the TensorboardRun to list 1882 // TensorboardTimeSeries. Format: 1883 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` 1884 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1885 // Lists the TensorboardTimeSeries that match the filter expression. 1886 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 1887 // The maximum number of TensorboardTimeSeries to return. The service may 1888 // return fewer than this value. If unspecified, at most 50 1889 // TensorboardTimeSeries are returned. The maximum value is 1000; values 1890 // above 1000 are coerced to 1000. 1891 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 1892 // A page token, received from a previous 1893 // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries] 1894 // call. Provide this to retrieve the subsequent page. 1895 // 1896 // When paginating, all other parameters provided to 1897 // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries] 1898 // must match the call that provided the page token. 1899 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 1900 // Field to use to sort the list. 1901 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 1902 // Mask specifying which fields to read. 1903 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 1904 } 1905 1906 func (x *ListTensorboardTimeSeriesRequest) Reset() { 1907 *x = ListTensorboardTimeSeriesRequest{} 1908 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[30] 1909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1910 ms.StoreMessageInfo(mi) 1911 } 1912 1913 func (x *ListTensorboardTimeSeriesRequest) String() string { 1914 return protoimpl.X.MessageStringOf(x) 1915 } 1916 1917 func (*ListTensorboardTimeSeriesRequest) ProtoMessage() {} 1918 1919 func (x *ListTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { 1920 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[30] 1921 if x != nil { 1922 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1923 if ms.LoadMessageInfo() == nil { 1924 ms.StoreMessageInfo(mi) 1925 } 1926 return ms 1927 } 1928 return mi.MessageOf(x) 1929 } 1930 1931 // Deprecated: Use ListTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. 1932 func (*ListTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { 1933 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{30} 1934 } 1935 1936 func (x *ListTensorboardTimeSeriesRequest) GetParent() string { 1937 if x != nil { 1938 return x.Parent 1939 } 1940 return "" 1941 } 1942 1943 func (x *ListTensorboardTimeSeriesRequest) GetFilter() string { 1944 if x != nil { 1945 return x.Filter 1946 } 1947 return "" 1948 } 1949 1950 func (x *ListTensorboardTimeSeriesRequest) GetPageSize() int32 { 1951 if x != nil { 1952 return x.PageSize 1953 } 1954 return 0 1955 } 1956 1957 func (x *ListTensorboardTimeSeriesRequest) GetPageToken() string { 1958 if x != nil { 1959 return x.PageToken 1960 } 1961 return "" 1962 } 1963 1964 func (x *ListTensorboardTimeSeriesRequest) GetOrderBy() string { 1965 if x != nil { 1966 return x.OrderBy 1967 } 1968 return "" 1969 } 1970 1971 func (x *ListTensorboardTimeSeriesRequest) GetReadMask() *fieldmaskpb.FieldMask { 1972 if x != nil { 1973 return x.ReadMask 1974 } 1975 return nil 1976 } 1977 1978 // Response message for 1979 // [TensorboardService.ListTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries]. 1980 type ListTensorboardTimeSeriesResponse struct { 1981 state protoimpl.MessageState 1982 sizeCache protoimpl.SizeCache 1983 unknownFields protoimpl.UnknownFields 1984 1985 // The TensorboardTimeSeries mathching the request. 1986 TensorboardTimeSeries []*TensorboardTimeSeries `protobuf:"bytes,1,rep,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` 1987 // A token, which can be sent as 1988 // [ListTensorboardTimeSeriesRequest.page_token][google.cloud.aiplatform.v1.ListTensorboardTimeSeriesRequest.page_token] 1989 // to retrieve the next page. If this field is omitted, there are no 1990 // subsequent pages. 1991 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 1992 } 1993 1994 func (x *ListTensorboardTimeSeriesResponse) Reset() { 1995 *x = ListTensorboardTimeSeriesResponse{} 1996 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[31] 1997 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1998 ms.StoreMessageInfo(mi) 1999 } 2000 2001 func (x *ListTensorboardTimeSeriesResponse) String() string { 2002 return protoimpl.X.MessageStringOf(x) 2003 } 2004 2005 func (*ListTensorboardTimeSeriesResponse) ProtoMessage() {} 2006 2007 func (x *ListTensorboardTimeSeriesResponse) ProtoReflect() protoreflect.Message { 2008 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[31] 2009 if x != nil { 2010 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2011 if ms.LoadMessageInfo() == nil { 2012 ms.StoreMessageInfo(mi) 2013 } 2014 return ms 2015 } 2016 return mi.MessageOf(x) 2017 } 2018 2019 // Deprecated: Use ListTensorboardTimeSeriesResponse.ProtoReflect.Descriptor instead. 2020 func (*ListTensorboardTimeSeriesResponse) Descriptor() ([]byte, []int) { 2021 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{31} 2022 } 2023 2024 func (x *ListTensorboardTimeSeriesResponse) GetTensorboardTimeSeries() []*TensorboardTimeSeries { 2025 if x != nil { 2026 return x.TensorboardTimeSeries 2027 } 2028 return nil 2029 } 2030 2031 func (x *ListTensorboardTimeSeriesResponse) GetNextPageToken() string { 2032 if x != nil { 2033 return x.NextPageToken 2034 } 2035 return "" 2036 } 2037 2038 // Request message for 2039 // [TensorboardService.UpdateTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardTimeSeries]. 2040 type UpdateTensorboardTimeSeriesRequest struct { 2041 state protoimpl.MessageState 2042 sizeCache protoimpl.SizeCache 2043 unknownFields protoimpl.UnknownFields 2044 2045 // Required. Field mask is used to specify the fields to be overwritten in the 2046 // TensorboardTimeSeries resource by the update. 2047 // The fields specified in the update_mask are relative to the resource, not 2048 // the full request. A field is overwritten if it's in the mask. If the 2049 // user does not provide a mask then all fields are overwritten if new 2050 // values are specified. 2051 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,1,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 2052 // Required. The TensorboardTimeSeries' `name` field is used to identify the 2053 // TensorboardTimeSeries to be updated. 2054 // Format: 2055 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 2056 TensorboardTimeSeries *TensorboardTimeSeries `protobuf:"bytes,2,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` 2057 } 2058 2059 func (x *UpdateTensorboardTimeSeriesRequest) Reset() { 2060 *x = UpdateTensorboardTimeSeriesRequest{} 2061 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[32] 2062 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2063 ms.StoreMessageInfo(mi) 2064 } 2065 2066 func (x *UpdateTensorboardTimeSeriesRequest) String() string { 2067 return protoimpl.X.MessageStringOf(x) 2068 } 2069 2070 func (*UpdateTensorboardTimeSeriesRequest) ProtoMessage() {} 2071 2072 func (x *UpdateTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { 2073 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[32] 2074 if x != nil { 2075 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2076 if ms.LoadMessageInfo() == nil { 2077 ms.StoreMessageInfo(mi) 2078 } 2079 return ms 2080 } 2081 return mi.MessageOf(x) 2082 } 2083 2084 // Deprecated: Use UpdateTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. 2085 func (*UpdateTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { 2086 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{32} 2087 } 2088 2089 func (x *UpdateTensorboardTimeSeriesRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 2090 if x != nil { 2091 return x.UpdateMask 2092 } 2093 return nil 2094 } 2095 2096 func (x *UpdateTensorboardTimeSeriesRequest) GetTensorboardTimeSeries() *TensorboardTimeSeries { 2097 if x != nil { 2098 return x.TensorboardTimeSeries 2099 } 2100 return nil 2101 } 2102 2103 // Request message for 2104 // [TensorboardService.DeleteTensorboardTimeSeries][google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardTimeSeries]. 2105 type DeleteTensorboardTimeSeriesRequest struct { 2106 state protoimpl.MessageState 2107 sizeCache protoimpl.SizeCache 2108 unknownFields protoimpl.UnknownFields 2109 2110 // Required. The name of the TensorboardTimeSeries to be deleted. 2111 // Format: 2112 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 2113 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2114 } 2115 2116 func (x *DeleteTensorboardTimeSeriesRequest) Reset() { 2117 *x = DeleteTensorboardTimeSeriesRequest{} 2118 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[33] 2119 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2120 ms.StoreMessageInfo(mi) 2121 } 2122 2123 func (x *DeleteTensorboardTimeSeriesRequest) String() string { 2124 return protoimpl.X.MessageStringOf(x) 2125 } 2126 2127 func (*DeleteTensorboardTimeSeriesRequest) ProtoMessage() {} 2128 2129 func (x *DeleteTensorboardTimeSeriesRequest) ProtoReflect() protoreflect.Message { 2130 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[33] 2131 if x != nil { 2132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2133 if ms.LoadMessageInfo() == nil { 2134 ms.StoreMessageInfo(mi) 2135 } 2136 return ms 2137 } 2138 return mi.MessageOf(x) 2139 } 2140 2141 // Deprecated: Use DeleteTensorboardTimeSeriesRequest.ProtoReflect.Descriptor instead. 2142 func (*DeleteTensorboardTimeSeriesRequest) Descriptor() ([]byte, []int) { 2143 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{33} 2144 } 2145 2146 func (x *DeleteTensorboardTimeSeriesRequest) GetName() string { 2147 if x != nil { 2148 return x.Name 2149 } 2150 return "" 2151 } 2152 2153 // Request message for 2154 // [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.BatchReadTensorboardTimeSeriesData]. 2155 type BatchReadTensorboardTimeSeriesDataRequest struct { 2156 state protoimpl.MessageState 2157 sizeCache protoimpl.SizeCache 2158 unknownFields protoimpl.UnknownFields 2159 2160 // Required. The resource name of the Tensorboard containing 2161 // TensorboardTimeSeries to read data from. Format: 2162 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}`. 2163 // The TensorboardTimeSeries referenced by 2164 // [time_series][google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataRequest.time_series] 2165 // must be sub resources of this Tensorboard. 2166 Tensorboard string `protobuf:"bytes,1,opt,name=tensorboard,proto3" json:"tensorboard,omitempty"` 2167 // Required. The resource names of the TensorboardTimeSeries to read data 2168 // from. Format: 2169 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 2170 TimeSeries []string `protobuf:"bytes,2,rep,name=time_series,json=timeSeries,proto3" json:"time_series,omitempty"` 2171 } 2172 2173 func (x *BatchReadTensorboardTimeSeriesDataRequest) Reset() { 2174 *x = BatchReadTensorboardTimeSeriesDataRequest{} 2175 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[34] 2176 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2177 ms.StoreMessageInfo(mi) 2178 } 2179 2180 func (x *BatchReadTensorboardTimeSeriesDataRequest) String() string { 2181 return protoimpl.X.MessageStringOf(x) 2182 } 2183 2184 func (*BatchReadTensorboardTimeSeriesDataRequest) ProtoMessage() {} 2185 2186 func (x *BatchReadTensorboardTimeSeriesDataRequest) ProtoReflect() protoreflect.Message { 2187 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[34] 2188 if x != nil { 2189 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2190 if ms.LoadMessageInfo() == nil { 2191 ms.StoreMessageInfo(mi) 2192 } 2193 return ms 2194 } 2195 return mi.MessageOf(x) 2196 } 2197 2198 // Deprecated: Use BatchReadTensorboardTimeSeriesDataRequest.ProtoReflect.Descriptor instead. 2199 func (*BatchReadTensorboardTimeSeriesDataRequest) Descriptor() ([]byte, []int) { 2200 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{34} 2201 } 2202 2203 func (x *BatchReadTensorboardTimeSeriesDataRequest) GetTensorboard() string { 2204 if x != nil { 2205 return x.Tensorboard 2206 } 2207 return "" 2208 } 2209 2210 func (x *BatchReadTensorboardTimeSeriesDataRequest) GetTimeSeries() []string { 2211 if x != nil { 2212 return x.TimeSeries 2213 } 2214 return nil 2215 } 2216 2217 // Response message for 2218 // [TensorboardService.BatchReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.BatchReadTensorboardTimeSeriesData]. 2219 type BatchReadTensorboardTimeSeriesDataResponse struct { 2220 state protoimpl.MessageState 2221 sizeCache protoimpl.SizeCache 2222 unknownFields protoimpl.UnknownFields 2223 2224 // The returned time series data. 2225 TimeSeriesData []*TimeSeriesData `protobuf:"bytes,1,rep,name=time_series_data,json=timeSeriesData,proto3" json:"time_series_data,omitempty"` 2226 } 2227 2228 func (x *BatchReadTensorboardTimeSeriesDataResponse) Reset() { 2229 *x = BatchReadTensorboardTimeSeriesDataResponse{} 2230 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[35] 2231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2232 ms.StoreMessageInfo(mi) 2233 } 2234 2235 func (x *BatchReadTensorboardTimeSeriesDataResponse) String() string { 2236 return protoimpl.X.MessageStringOf(x) 2237 } 2238 2239 func (*BatchReadTensorboardTimeSeriesDataResponse) ProtoMessage() {} 2240 2241 func (x *BatchReadTensorboardTimeSeriesDataResponse) ProtoReflect() protoreflect.Message { 2242 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[35] 2243 if x != nil { 2244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2245 if ms.LoadMessageInfo() == nil { 2246 ms.StoreMessageInfo(mi) 2247 } 2248 return ms 2249 } 2250 return mi.MessageOf(x) 2251 } 2252 2253 // Deprecated: Use BatchReadTensorboardTimeSeriesDataResponse.ProtoReflect.Descriptor instead. 2254 func (*BatchReadTensorboardTimeSeriesDataResponse) Descriptor() ([]byte, []int) { 2255 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{35} 2256 } 2257 2258 func (x *BatchReadTensorboardTimeSeriesDataResponse) GetTimeSeriesData() []*TimeSeriesData { 2259 if x != nil { 2260 return x.TimeSeriesData 2261 } 2262 return nil 2263 } 2264 2265 // Request message for 2266 // [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData]. 2267 type ReadTensorboardTimeSeriesDataRequest struct { 2268 state protoimpl.MessageState 2269 sizeCache protoimpl.SizeCache 2270 unknownFields protoimpl.UnknownFields 2271 2272 // Required. The resource name of the TensorboardTimeSeries to read data from. 2273 // Format: 2274 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 2275 TensorboardTimeSeries string `protobuf:"bytes,1,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` 2276 // The maximum number of TensorboardTimeSeries' data to return. 2277 // 2278 // This value should be a positive integer. 2279 // This value can be set to -1 to return all data. 2280 MaxDataPoints int32 `protobuf:"varint,2,opt,name=max_data_points,json=maxDataPoints,proto3" json:"max_data_points,omitempty"` 2281 // Reads the TensorboardTimeSeries' data that match the filter expression. 2282 Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` 2283 } 2284 2285 func (x *ReadTensorboardTimeSeriesDataRequest) Reset() { 2286 *x = ReadTensorboardTimeSeriesDataRequest{} 2287 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[36] 2288 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2289 ms.StoreMessageInfo(mi) 2290 } 2291 2292 func (x *ReadTensorboardTimeSeriesDataRequest) String() string { 2293 return protoimpl.X.MessageStringOf(x) 2294 } 2295 2296 func (*ReadTensorboardTimeSeriesDataRequest) ProtoMessage() {} 2297 2298 func (x *ReadTensorboardTimeSeriesDataRequest) ProtoReflect() protoreflect.Message { 2299 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[36] 2300 if x != nil { 2301 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2302 if ms.LoadMessageInfo() == nil { 2303 ms.StoreMessageInfo(mi) 2304 } 2305 return ms 2306 } 2307 return mi.MessageOf(x) 2308 } 2309 2310 // Deprecated: Use ReadTensorboardTimeSeriesDataRequest.ProtoReflect.Descriptor instead. 2311 func (*ReadTensorboardTimeSeriesDataRequest) Descriptor() ([]byte, []int) { 2312 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{36} 2313 } 2314 2315 func (x *ReadTensorboardTimeSeriesDataRequest) GetTensorboardTimeSeries() string { 2316 if x != nil { 2317 return x.TensorboardTimeSeries 2318 } 2319 return "" 2320 } 2321 2322 func (x *ReadTensorboardTimeSeriesDataRequest) GetMaxDataPoints() int32 { 2323 if x != nil { 2324 return x.MaxDataPoints 2325 } 2326 return 0 2327 } 2328 2329 func (x *ReadTensorboardTimeSeriesDataRequest) GetFilter() string { 2330 if x != nil { 2331 return x.Filter 2332 } 2333 return "" 2334 } 2335 2336 // Response message for 2337 // [TensorboardService.ReadTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData]. 2338 type ReadTensorboardTimeSeriesDataResponse struct { 2339 state protoimpl.MessageState 2340 sizeCache protoimpl.SizeCache 2341 unknownFields protoimpl.UnknownFields 2342 2343 // The returned time series data. 2344 TimeSeriesData *TimeSeriesData `protobuf:"bytes,1,opt,name=time_series_data,json=timeSeriesData,proto3" json:"time_series_data,omitempty"` 2345 } 2346 2347 func (x *ReadTensorboardTimeSeriesDataResponse) Reset() { 2348 *x = ReadTensorboardTimeSeriesDataResponse{} 2349 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[37] 2350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2351 ms.StoreMessageInfo(mi) 2352 } 2353 2354 func (x *ReadTensorboardTimeSeriesDataResponse) String() string { 2355 return protoimpl.X.MessageStringOf(x) 2356 } 2357 2358 func (*ReadTensorboardTimeSeriesDataResponse) ProtoMessage() {} 2359 2360 func (x *ReadTensorboardTimeSeriesDataResponse) ProtoReflect() protoreflect.Message { 2361 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[37] 2362 if x != nil { 2363 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2364 if ms.LoadMessageInfo() == nil { 2365 ms.StoreMessageInfo(mi) 2366 } 2367 return ms 2368 } 2369 return mi.MessageOf(x) 2370 } 2371 2372 // Deprecated: Use ReadTensorboardTimeSeriesDataResponse.ProtoReflect.Descriptor instead. 2373 func (*ReadTensorboardTimeSeriesDataResponse) Descriptor() ([]byte, []int) { 2374 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{37} 2375 } 2376 2377 func (x *ReadTensorboardTimeSeriesDataResponse) GetTimeSeriesData() *TimeSeriesData { 2378 if x != nil { 2379 return x.TimeSeriesData 2380 } 2381 return nil 2382 } 2383 2384 // Request message for 2385 // [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardExperimentData]. 2386 type WriteTensorboardExperimentDataRequest struct { 2387 state protoimpl.MessageState 2388 sizeCache protoimpl.SizeCache 2389 unknownFields protoimpl.UnknownFields 2390 2391 // Required. The resource name of the TensorboardExperiment to write data to. 2392 // Format: 2393 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}` 2394 TensorboardExperiment string `protobuf:"bytes,1,opt,name=tensorboard_experiment,json=tensorboardExperiment,proto3" json:"tensorboard_experiment,omitempty"` 2395 // Required. Requests containing per-run TensorboardTimeSeries data to write. 2396 WriteRunDataRequests []*WriteTensorboardRunDataRequest `protobuf:"bytes,2,rep,name=write_run_data_requests,json=writeRunDataRequests,proto3" json:"write_run_data_requests,omitempty"` 2397 } 2398 2399 func (x *WriteTensorboardExperimentDataRequest) Reset() { 2400 *x = WriteTensorboardExperimentDataRequest{} 2401 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[38] 2402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2403 ms.StoreMessageInfo(mi) 2404 } 2405 2406 func (x *WriteTensorboardExperimentDataRequest) String() string { 2407 return protoimpl.X.MessageStringOf(x) 2408 } 2409 2410 func (*WriteTensorboardExperimentDataRequest) ProtoMessage() {} 2411 2412 func (x *WriteTensorboardExperimentDataRequest) ProtoReflect() protoreflect.Message { 2413 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[38] 2414 if x != nil { 2415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2416 if ms.LoadMessageInfo() == nil { 2417 ms.StoreMessageInfo(mi) 2418 } 2419 return ms 2420 } 2421 return mi.MessageOf(x) 2422 } 2423 2424 // Deprecated: Use WriteTensorboardExperimentDataRequest.ProtoReflect.Descriptor instead. 2425 func (*WriteTensorboardExperimentDataRequest) Descriptor() ([]byte, []int) { 2426 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{38} 2427 } 2428 2429 func (x *WriteTensorboardExperimentDataRequest) GetTensorboardExperiment() string { 2430 if x != nil { 2431 return x.TensorboardExperiment 2432 } 2433 return "" 2434 } 2435 2436 func (x *WriteTensorboardExperimentDataRequest) GetWriteRunDataRequests() []*WriteTensorboardRunDataRequest { 2437 if x != nil { 2438 return x.WriteRunDataRequests 2439 } 2440 return nil 2441 } 2442 2443 // Response message for 2444 // [TensorboardService.WriteTensorboardExperimentData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardExperimentData]. 2445 type WriteTensorboardExperimentDataResponse struct { 2446 state protoimpl.MessageState 2447 sizeCache protoimpl.SizeCache 2448 unknownFields protoimpl.UnknownFields 2449 } 2450 2451 func (x *WriteTensorboardExperimentDataResponse) Reset() { 2452 *x = WriteTensorboardExperimentDataResponse{} 2453 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[39] 2454 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2455 ms.StoreMessageInfo(mi) 2456 } 2457 2458 func (x *WriteTensorboardExperimentDataResponse) String() string { 2459 return protoimpl.X.MessageStringOf(x) 2460 } 2461 2462 func (*WriteTensorboardExperimentDataResponse) ProtoMessage() {} 2463 2464 func (x *WriteTensorboardExperimentDataResponse) ProtoReflect() protoreflect.Message { 2465 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[39] 2466 if x != nil { 2467 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2468 if ms.LoadMessageInfo() == nil { 2469 ms.StoreMessageInfo(mi) 2470 } 2471 return ms 2472 } 2473 return mi.MessageOf(x) 2474 } 2475 2476 // Deprecated: Use WriteTensorboardExperimentDataResponse.ProtoReflect.Descriptor instead. 2477 func (*WriteTensorboardExperimentDataResponse) Descriptor() ([]byte, []int) { 2478 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{39} 2479 } 2480 2481 // Request message for 2482 // [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardRunData]. 2483 type WriteTensorboardRunDataRequest struct { 2484 state protoimpl.MessageState 2485 sizeCache protoimpl.SizeCache 2486 unknownFields protoimpl.UnknownFields 2487 2488 // Required. The resource name of the TensorboardRun to write data to. 2489 // Format: 2490 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}` 2491 TensorboardRun string `protobuf:"bytes,1,opt,name=tensorboard_run,json=tensorboardRun,proto3" json:"tensorboard_run,omitempty"` 2492 // Required. The TensorboardTimeSeries data to write. 2493 // Values with in a time series are indexed by their step value. 2494 // Repeated writes to the same step will overwrite the existing value for that 2495 // step. 2496 // The upper limit of data points per write request is 5000. 2497 TimeSeriesData []*TimeSeriesData `protobuf:"bytes,2,rep,name=time_series_data,json=timeSeriesData,proto3" json:"time_series_data,omitempty"` 2498 } 2499 2500 func (x *WriteTensorboardRunDataRequest) Reset() { 2501 *x = WriteTensorboardRunDataRequest{} 2502 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[40] 2503 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2504 ms.StoreMessageInfo(mi) 2505 } 2506 2507 func (x *WriteTensorboardRunDataRequest) String() string { 2508 return protoimpl.X.MessageStringOf(x) 2509 } 2510 2511 func (*WriteTensorboardRunDataRequest) ProtoMessage() {} 2512 2513 func (x *WriteTensorboardRunDataRequest) ProtoReflect() protoreflect.Message { 2514 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[40] 2515 if x != nil { 2516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2517 if ms.LoadMessageInfo() == nil { 2518 ms.StoreMessageInfo(mi) 2519 } 2520 return ms 2521 } 2522 return mi.MessageOf(x) 2523 } 2524 2525 // Deprecated: Use WriteTensorboardRunDataRequest.ProtoReflect.Descriptor instead. 2526 func (*WriteTensorboardRunDataRequest) Descriptor() ([]byte, []int) { 2527 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{40} 2528 } 2529 2530 func (x *WriteTensorboardRunDataRequest) GetTensorboardRun() string { 2531 if x != nil { 2532 return x.TensorboardRun 2533 } 2534 return "" 2535 } 2536 2537 func (x *WriteTensorboardRunDataRequest) GetTimeSeriesData() []*TimeSeriesData { 2538 if x != nil { 2539 return x.TimeSeriesData 2540 } 2541 return nil 2542 } 2543 2544 // Response message for 2545 // [TensorboardService.WriteTensorboardRunData][google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardRunData]. 2546 type WriteTensorboardRunDataResponse struct { 2547 state protoimpl.MessageState 2548 sizeCache protoimpl.SizeCache 2549 unknownFields protoimpl.UnknownFields 2550 } 2551 2552 func (x *WriteTensorboardRunDataResponse) Reset() { 2553 *x = WriteTensorboardRunDataResponse{} 2554 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[41] 2555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2556 ms.StoreMessageInfo(mi) 2557 } 2558 2559 func (x *WriteTensorboardRunDataResponse) String() string { 2560 return protoimpl.X.MessageStringOf(x) 2561 } 2562 2563 func (*WriteTensorboardRunDataResponse) ProtoMessage() {} 2564 2565 func (x *WriteTensorboardRunDataResponse) ProtoReflect() protoreflect.Message { 2566 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[41] 2567 if x != nil { 2568 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2569 if ms.LoadMessageInfo() == nil { 2570 ms.StoreMessageInfo(mi) 2571 } 2572 return ms 2573 } 2574 return mi.MessageOf(x) 2575 } 2576 2577 // Deprecated: Use WriteTensorboardRunDataResponse.ProtoReflect.Descriptor instead. 2578 func (*WriteTensorboardRunDataResponse) Descriptor() ([]byte, []int) { 2579 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{41} 2580 } 2581 2582 // Request message for 2583 // [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData]. 2584 type ExportTensorboardTimeSeriesDataRequest struct { 2585 state protoimpl.MessageState 2586 sizeCache protoimpl.SizeCache 2587 unknownFields protoimpl.UnknownFields 2588 2589 // Required. The resource name of the TensorboardTimeSeries to export data 2590 // from. Format: 2591 // `projects/{project}/locations/{location}/tensorboards/{tensorboard}/experiments/{experiment}/runs/{run}/timeSeries/{time_series}` 2592 TensorboardTimeSeries string `protobuf:"bytes,1,opt,name=tensorboard_time_series,json=tensorboardTimeSeries,proto3" json:"tensorboard_time_series,omitempty"` 2593 // Exports the TensorboardTimeSeries' data that match the filter expression. 2594 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 2595 // The maximum number of data points to return per page. 2596 // The default page_size is 1000. Values must be between 1 and 10000. 2597 // Values above 10000 are coerced to 10000. 2598 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2599 // A page token, received from a previous 2600 // [ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData] 2601 // call. Provide this to retrieve the subsequent page. 2602 // 2603 // When paginating, all other parameters provided to 2604 // [ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData] 2605 // must match the call that provided the page token. 2606 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2607 // Field to use to sort the TensorboardTimeSeries' data. 2608 // By default, TensorboardTimeSeries' data is returned in a pseudo random 2609 // order. 2610 OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 2611 } 2612 2613 func (x *ExportTensorboardTimeSeriesDataRequest) Reset() { 2614 *x = ExportTensorboardTimeSeriesDataRequest{} 2615 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[42] 2616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2617 ms.StoreMessageInfo(mi) 2618 } 2619 2620 func (x *ExportTensorboardTimeSeriesDataRequest) String() string { 2621 return protoimpl.X.MessageStringOf(x) 2622 } 2623 2624 func (*ExportTensorboardTimeSeriesDataRequest) ProtoMessage() {} 2625 2626 func (x *ExportTensorboardTimeSeriesDataRequest) ProtoReflect() protoreflect.Message { 2627 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[42] 2628 if x != nil { 2629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2630 if ms.LoadMessageInfo() == nil { 2631 ms.StoreMessageInfo(mi) 2632 } 2633 return ms 2634 } 2635 return mi.MessageOf(x) 2636 } 2637 2638 // Deprecated: Use ExportTensorboardTimeSeriesDataRequest.ProtoReflect.Descriptor instead. 2639 func (*ExportTensorboardTimeSeriesDataRequest) Descriptor() ([]byte, []int) { 2640 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{42} 2641 } 2642 2643 func (x *ExportTensorboardTimeSeriesDataRequest) GetTensorboardTimeSeries() string { 2644 if x != nil { 2645 return x.TensorboardTimeSeries 2646 } 2647 return "" 2648 } 2649 2650 func (x *ExportTensorboardTimeSeriesDataRequest) GetFilter() string { 2651 if x != nil { 2652 return x.Filter 2653 } 2654 return "" 2655 } 2656 2657 func (x *ExportTensorboardTimeSeriesDataRequest) GetPageSize() int32 { 2658 if x != nil { 2659 return x.PageSize 2660 } 2661 return 0 2662 } 2663 2664 func (x *ExportTensorboardTimeSeriesDataRequest) GetPageToken() string { 2665 if x != nil { 2666 return x.PageToken 2667 } 2668 return "" 2669 } 2670 2671 func (x *ExportTensorboardTimeSeriesDataRequest) GetOrderBy() string { 2672 if x != nil { 2673 return x.OrderBy 2674 } 2675 return "" 2676 } 2677 2678 // Response message for 2679 // [TensorboardService.ExportTensorboardTimeSeriesData][google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData]. 2680 type ExportTensorboardTimeSeriesDataResponse struct { 2681 state protoimpl.MessageState 2682 sizeCache protoimpl.SizeCache 2683 unknownFields protoimpl.UnknownFields 2684 2685 // The returned time series data points. 2686 TimeSeriesDataPoints []*TimeSeriesDataPoint `protobuf:"bytes,1,rep,name=time_series_data_points,json=timeSeriesDataPoints,proto3" json:"time_series_data_points,omitempty"` 2687 // A token, which can be sent as 2688 // [page_token][google.cloud.aiplatform.v1.ExportTensorboardTimeSeriesDataRequest.page_token] 2689 // to retrieve the next page. If this field is omitted, there are no 2690 // subsequent pages. 2691 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2692 } 2693 2694 func (x *ExportTensorboardTimeSeriesDataResponse) Reset() { 2695 *x = ExportTensorboardTimeSeriesDataResponse{} 2696 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[43] 2697 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2698 ms.StoreMessageInfo(mi) 2699 } 2700 2701 func (x *ExportTensorboardTimeSeriesDataResponse) String() string { 2702 return protoimpl.X.MessageStringOf(x) 2703 } 2704 2705 func (*ExportTensorboardTimeSeriesDataResponse) ProtoMessage() {} 2706 2707 func (x *ExportTensorboardTimeSeriesDataResponse) ProtoReflect() protoreflect.Message { 2708 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[43] 2709 if x != nil { 2710 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2711 if ms.LoadMessageInfo() == nil { 2712 ms.StoreMessageInfo(mi) 2713 } 2714 return ms 2715 } 2716 return mi.MessageOf(x) 2717 } 2718 2719 // Deprecated: Use ExportTensorboardTimeSeriesDataResponse.ProtoReflect.Descriptor instead. 2720 func (*ExportTensorboardTimeSeriesDataResponse) Descriptor() ([]byte, []int) { 2721 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{43} 2722 } 2723 2724 func (x *ExportTensorboardTimeSeriesDataResponse) GetTimeSeriesDataPoints() []*TimeSeriesDataPoint { 2725 if x != nil { 2726 return x.TimeSeriesDataPoints 2727 } 2728 return nil 2729 } 2730 2731 func (x *ExportTensorboardTimeSeriesDataResponse) GetNextPageToken() string { 2732 if x != nil { 2733 return x.NextPageToken 2734 } 2735 return "" 2736 } 2737 2738 // Details of operations that perform create Tensorboard. 2739 type CreateTensorboardOperationMetadata struct { 2740 state protoimpl.MessageState 2741 sizeCache protoimpl.SizeCache 2742 unknownFields protoimpl.UnknownFields 2743 2744 // Operation metadata for Tensorboard. 2745 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 2746 } 2747 2748 func (x *CreateTensorboardOperationMetadata) Reset() { 2749 *x = CreateTensorboardOperationMetadata{} 2750 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[44] 2751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2752 ms.StoreMessageInfo(mi) 2753 } 2754 2755 func (x *CreateTensorboardOperationMetadata) String() string { 2756 return protoimpl.X.MessageStringOf(x) 2757 } 2758 2759 func (*CreateTensorboardOperationMetadata) ProtoMessage() {} 2760 2761 func (x *CreateTensorboardOperationMetadata) ProtoReflect() protoreflect.Message { 2762 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[44] 2763 if x != nil { 2764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2765 if ms.LoadMessageInfo() == nil { 2766 ms.StoreMessageInfo(mi) 2767 } 2768 return ms 2769 } 2770 return mi.MessageOf(x) 2771 } 2772 2773 // Deprecated: Use CreateTensorboardOperationMetadata.ProtoReflect.Descriptor instead. 2774 func (*CreateTensorboardOperationMetadata) Descriptor() ([]byte, []int) { 2775 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{44} 2776 } 2777 2778 func (x *CreateTensorboardOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 2779 if x != nil { 2780 return x.GenericMetadata 2781 } 2782 return nil 2783 } 2784 2785 // Details of operations that perform update Tensorboard. 2786 type UpdateTensorboardOperationMetadata struct { 2787 state protoimpl.MessageState 2788 sizeCache protoimpl.SizeCache 2789 unknownFields protoimpl.UnknownFields 2790 2791 // Operation metadata for Tensorboard. 2792 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 2793 } 2794 2795 func (x *UpdateTensorboardOperationMetadata) Reset() { 2796 *x = UpdateTensorboardOperationMetadata{} 2797 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[45] 2798 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2799 ms.StoreMessageInfo(mi) 2800 } 2801 2802 func (x *UpdateTensorboardOperationMetadata) String() string { 2803 return protoimpl.X.MessageStringOf(x) 2804 } 2805 2806 func (*UpdateTensorboardOperationMetadata) ProtoMessage() {} 2807 2808 func (x *UpdateTensorboardOperationMetadata) ProtoReflect() protoreflect.Message { 2809 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[45] 2810 if x != nil { 2811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2812 if ms.LoadMessageInfo() == nil { 2813 ms.StoreMessageInfo(mi) 2814 } 2815 return ms 2816 } 2817 return mi.MessageOf(x) 2818 } 2819 2820 // Deprecated: Use UpdateTensorboardOperationMetadata.ProtoReflect.Descriptor instead. 2821 func (*UpdateTensorboardOperationMetadata) Descriptor() ([]byte, []int) { 2822 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{45} 2823 } 2824 2825 func (x *UpdateTensorboardOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 2826 if x != nil { 2827 return x.GenericMetadata 2828 } 2829 return nil 2830 } 2831 2832 // Per user usage data. 2833 type ReadTensorboardUsageResponse_PerUserUsageData struct { 2834 state protoimpl.MessageState 2835 sizeCache protoimpl.SizeCache 2836 unknownFields protoimpl.UnknownFields 2837 2838 // User's username 2839 Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` 2840 // Number of times the user has read data within the Tensorboard. 2841 ViewCount int64 `protobuf:"varint,2,opt,name=view_count,json=viewCount,proto3" json:"view_count,omitempty"` 2842 } 2843 2844 func (x *ReadTensorboardUsageResponse_PerUserUsageData) Reset() { 2845 *x = ReadTensorboardUsageResponse_PerUserUsageData{} 2846 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[46] 2847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2848 ms.StoreMessageInfo(mi) 2849 } 2850 2851 func (x *ReadTensorboardUsageResponse_PerUserUsageData) String() string { 2852 return protoimpl.X.MessageStringOf(x) 2853 } 2854 2855 func (*ReadTensorboardUsageResponse_PerUserUsageData) ProtoMessage() {} 2856 2857 func (x *ReadTensorboardUsageResponse_PerUserUsageData) ProtoReflect() protoreflect.Message { 2858 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[46] 2859 if x != nil { 2860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2861 if ms.LoadMessageInfo() == nil { 2862 ms.StoreMessageInfo(mi) 2863 } 2864 return ms 2865 } 2866 return mi.MessageOf(x) 2867 } 2868 2869 // Deprecated: Use ReadTensorboardUsageResponse_PerUserUsageData.ProtoReflect.Descriptor instead. 2870 func (*ReadTensorboardUsageResponse_PerUserUsageData) Descriptor() ([]byte, []int) { 2871 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{7, 0} 2872 } 2873 2874 func (x *ReadTensorboardUsageResponse_PerUserUsageData) GetUsername() string { 2875 if x != nil { 2876 return x.Username 2877 } 2878 return "" 2879 } 2880 2881 func (x *ReadTensorboardUsageResponse_PerUserUsageData) GetViewCount() int64 { 2882 if x != nil { 2883 return x.ViewCount 2884 } 2885 return 0 2886 } 2887 2888 // Per month usage data 2889 type ReadTensorboardUsageResponse_PerMonthUsageData struct { 2890 state protoimpl.MessageState 2891 sizeCache protoimpl.SizeCache 2892 unknownFields protoimpl.UnknownFields 2893 2894 // Usage data for each user in the given month. 2895 UserUsageData []*ReadTensorboardUsageResponse_PerUserUsageData `protobuf:"bytes,1,rep,name=user_usage_data,json=userUsageData,proto3" json:"user_usage_data,omitempty"` 2896 } 2897 2898 func (x *ReadTensorboardUsageResponse_PerMonthUsageData) Reset() { 2899 *x = ReadTensorboardUsageResponse_PerMonthUsageData{} 2900 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[47] 2901 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2902 ms.StoreMessageInfo(mi) 2903 } 2904 2905 func (x *ReadTensorboardUsageResponse_PerMonthUsageData) String() string { 2906 return protoimpl.X.MessageStringOf(x) 2907 } 2908 2909 func (*ReadTensorboardUsageResponse_PerMonthUsageData) ProtoMessage() {} 2910 2911 func (x *ReadTensorboardUsageResponse_PerMonthUsageData) ProtoReflect() protoreflect.Message { 2912 mi := &file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes[47] 2913 if x != nil { 2914 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2915 if ms.LoadMessageInfo() == nil { 2916 ms.StoreMessageInfo(mi) 2917 } 2918 return ms 2919 } 2920 return mi.MessageOf(x) 2921 } 2922 2923 // Deprecated: Use ReadTensorboardUsageResponse_PerMonthUsageData.ProtoReflect.Descriptor instead. 2924 func (*ReadTensorboardUsageResponse_PerMonthUsageData) Descriptor() ([]byte, []int) { 2925 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP(), []int{7, 1} 2926 } 2927 2928 func (x *ReadTensorboardUsageResponse_PerMonthUsageData) GetUserUsageData() []*ReadTensorboardUsageResponse_PerUserUsageData { 2929 if x != nil { 2930 return x.UserUsageData 2931 } 2932 return nil 2933 } 2934 2935 var File_google_cloud_aiplatform_v1_tensorboard_service_proto protoreflect.FileDescriptor 2936 2937 var file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDesc = []byte{ 2938 0x0a, 0x34, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 2939 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 2940 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 2941 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2942 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 2943 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 2944 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2945 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 2946 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2947 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 2948 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 2949 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 2950 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 2951 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 2952 0x31, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2953 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 2954 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 2955 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2956 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 2957 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 2958 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 2959 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2960 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 2961 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 2962 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 2963 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 2964 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 2965 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 2966 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 2967 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 2968 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 2969 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 2970 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 2971 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 2972 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 2973 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2974 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 2975 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x01, 0x0a, 0x18, 2976 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 2977 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 2978 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 2979 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 2980 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 2981 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 2982 0x4e, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 2983 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2984 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 2985 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 2986 0x41, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 2987 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 2988 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2989 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 2990 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2991 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 2992 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x17, 2993 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 2994 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 2995 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x12, 2996 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2997 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 2998 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 2999 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 3000 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 3001 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 3002 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 3003 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 3004 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 3005 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 3006 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 3007 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 3008 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 3009 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 3010 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 3011 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3012 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3013 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3014 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3015 0x72, 0x64, 0x52, 0x0c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 3016 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 3017 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 3018 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xac, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 3019 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 3020 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 3021 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3022 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 3023 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 3024 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x4e, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3025 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 3026 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3027 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3028 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 3029 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x5d, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 3030 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 3031 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3032 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 3033 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 3034 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3035 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6e, 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 3036 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 3037 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3038 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 3039 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 3040 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 3041 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3042 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x86, 0x04, 0x0a, 0x1c, 0x52, 0x65, 0x61, 0x64, 0x54, 3043 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 3044 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x12, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 3045 0x6c, 0x79, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 3046 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3047 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3048 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3049 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x6f, 3050 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 3051 0x74, 0x72, 0x79, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 3052 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x4d, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 3053 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 3054 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 3055 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x63, 0x6f, 3056 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x76, 0x69, 0x65, 0x77, 0x43, 3057 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x86, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 3058 0x68, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x71, 0x0a, 0x0f, 0x75, 0x73, 3059 0x65, 0x72, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 3060 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3061 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3062 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3063 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 3064 0x72, 0x55, 0x73, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 3065 0x75, 0x73, 0x65, 0x72, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x8f, 0x01, 3066 0x0a, 0x15, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x55, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 3067 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 3068 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x60, 0x0a, 0x05, 0x76, 0x61, 0x6c, 3069 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3070 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3071 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3072 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3073 0x73, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x55, 0x73, 0x61, 0x67, 0x65, 3074 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 3075 0x6d, 0x0a, 0x1a, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3076 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 3077 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 3078 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 3079 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3080 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3081 0x64, 0x52, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x49, 3082 0x0a, 0x1b, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3083 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 3084 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 3085 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 3086 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x22, 0xa0, 0x02, 0x0a, 0x22, 0x43, 0x72, 3087 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 3088 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3089 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3090 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3091 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3092 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 3093 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3094 0x74, 0x12, 0x68, 0x0a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3095 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 3096 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3097 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 3098 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 3099 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3100 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x19, 0x74, 3101 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 3102 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 3103 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3104 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x1f, 3105 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 3106 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 3107 0x4b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 3108 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3109 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3110 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 3111 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x02, 0x0a, 3112 0x21, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3113 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 3114 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 3115 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x12, 0x2f, 0x61, 0x69, 0x70, 0x6c, 3116 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3117 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3118 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 3119 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 3120 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 3121 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 3122 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 3123 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 3124 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 3125 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 3126 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 3127 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3128 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 3129 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xb8, 0x01, 0x0a, 0x22, 3130 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 3131 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3132 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3133 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 3134 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3135 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3136 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 3137 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3138 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x26, 3139 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 3140 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 3141 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd5, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 3142 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 3143 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 3144 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 3145 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3146 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 3147 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 3148 0x6d, 0x0a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 3149 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3150 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3151 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 3152 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 3153 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3154 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x71, 3155 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3156 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 3157 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 3158 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 3159 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3160 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3161 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3162 0x65, 0x22, 0xce, 0x01, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 3163 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 3164 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 3165 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 3166 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3167 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3168 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 3169 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 3170 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 3171 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3172 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 3173 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 3174 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 3175 0x74, 0x73, 0x22, 0x7b, 0x0a, 0x22, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 3176 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 3177 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x65, 0x6e, 0x73, 3178 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 3179 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3180 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3181 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x0f, 3182 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x22, 3183 0xf4, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3184 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 3185 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 3186 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3187 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3188 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 3189 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x65, 0x6e, 3190 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, 3191 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3192 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3193 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x42, 0x03, 3194 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3195 0x52, 0x75, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3196 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 3197 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3198 0x64, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 3199 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 3200 0x73, 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3201 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3202 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3203 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 3204 0x75, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x1e, 0x52, 0x65, 0x61, 3205 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 3206 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x0b, 0x74, 3207 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3208 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3209 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 3210 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 3211 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x53, 3212 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x64, 3213 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x64, 0x73, 3214 0x22, 0x64, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3215 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 3216 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 3217 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3218 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3219 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x52, 3220 0x05, 0x62, 0x6c, 0x6f, 0x62, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 3221 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 3222 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 3223 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x12, 0x28, 0x61, 3224 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3225 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3226 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 3227 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3228 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 3229 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 3230 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 3231 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 3232 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 3233 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 3234 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 3235 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 3236 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 3237 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x9c, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 3238 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 3239 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3240 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 3241 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3242 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 3243 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x0f, 0x74, 3244 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x26, 3245 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 3246 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 3247 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 3248 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 3249 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 3250 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 3251 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 3252 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 3253 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x58, 0x0a, 0x0f, 0x74, 0x65, 0x6e, 0x73, 3254 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 3255 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3256 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 3257 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 3258 0x41, 0x02, 0x52, 0x0e, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 3259 0x75, 0x6e, 0x22, 0x63, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 3260 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3261 0x74, 0x12, 0x44, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 3262 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3263 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3264 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 3265 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 3266 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3267 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 3268 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 3269 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 3270 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 3271 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3272 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x61, 3273 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 3274 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3275 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3276 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3277 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 3278 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 3279 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 3280 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3281 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3282 0x73, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3283 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 3284 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3285 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3286 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 3287 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3288 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xa7, 0x02, 3289 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3290 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 3291 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 3292 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 3293 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3294 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3295 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x70, 3296 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1a, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3297 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 3298 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 3299 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3300 0x65, 0x72, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x6e, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3301 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 3302 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3303 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3304 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3305 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 3306 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 3307 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x6e, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x54, 0x65, 3308 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3309 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x04, 0x6e, 0x61, 3310 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 3311 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 3312 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 3313 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 3314 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 3315 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3316 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x06, 3317 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 3318 0x02, 0xfa, 0x41, 0x31, 0x12, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3319 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3320 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3321 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 3322 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 3323 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 3324 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 3325 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 3326 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 3327 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 3328 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 3329 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 3330 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 3331 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 3332 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xb6, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 3333 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3334 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x17, 0x74, 3335 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 3336 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 3337 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3338 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3339 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 3340 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 3341 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 3342 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3343 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd6, 3344 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3345 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 3346 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 3347 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 3348 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 3349 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 3350 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x6e, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3351 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 3352 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3353 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3354 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3355 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 3356 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 3357 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x71, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 3358 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 3359 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 3360 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 3361 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3362 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 3363 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 3364 0x72, 0x69, 0x65, 0x73, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x29, 0x42, 3365 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3366 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 3367 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 3368 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 3369 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3370 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 3371 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x74, 0x65, 3372 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x58, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 3373 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x37, 3374 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3375 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 3376 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 3377 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3378 0x69, 0x65, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x2a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 3379 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 3380 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3381 0x73, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 3382 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 3383 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3384 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 3385 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 3386 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x22, 0xd7, 0x01, 0x0a, 0x24, 0x52, 0x65, 0x61, 3387 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 3388 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3389 0x74, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3390 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 3391 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 3392 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 3393 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3394 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, 0x74, 0x65, 0x6e, 3395 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 3396 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 3397 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 3398 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 3399 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 3400 0x65, 0x72, 0x22, 0x7d, 0x0a, 0x25, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3401 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 3402 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x10, 0x74, 3403 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 3404 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3405 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3406 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 3407 0x61, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 3408 0x61, 0x22, 0x8f, 0x02, 0x0a, 0x25, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3409 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 3410 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x16, 0x74, 3411 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 3412 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 3413 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3414 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 3415 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 3416 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x15, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3417 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x76, 0x0a, 0x17, 0x77, 3418 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 3419 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 3420 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3421 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 3422 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 3423 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x77, 3424 0x72, 0x69, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 3425 0x73, 0x74, 0x73, 0x22, 0x28, 0x0a, 0x26, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 3426 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 3427 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd6, 0x01, 3428 0x0a, 0x1e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3429 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3430 0x12, 0x59, 0x0a, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 3431 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 3432 0x2a, 0x0a, 0x28, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 3433 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 3434 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x0e, 0x74, 0x65, 0x6e, 3435 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x59, 0x0a, 0x10, 0x74, 3436 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 3437 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3438 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3439 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 3440 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 3441 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x22, 0x21, 0x0a, 0x1f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 3442 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 3443 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x26, 0x45, 0x78, 3444 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 3445 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 3446 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3447 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 3448 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x31, 0x0a, 0x2f, 0x61, 3449 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3450 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3451 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x15, 3452 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3453 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 3454 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 3455 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 3456 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 3457 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 3458 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 3459 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 3460 0x65, 0x72, 0x42, 0x79, 0x22, 0xb9, 0x01, 0x0a, 0x27, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 3461 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 3462 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3463 0x12, 0x66, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 3464 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 3465 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3466 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 3467 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x50, 0x6f, 0x69, 3468 0x6e, 0x74, 0x52, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 3469 0x74, 0x61, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 3470 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 3471 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 3472 0x22, 0x85, 0x01, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3473 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 3474 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 3475 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 3476 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3477 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 3478 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 3479 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 3480 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x85, 0x01, 0x0a, 0x22, 0x55, 0x70, 0x64, 3481 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x70, 3482 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 3483 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 3484 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3485 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3486 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4f, 0x70, 3487 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 3488 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 3489 0x32, 0xd9, 0x3e, 0x0a, 0x12, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3490 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xf9, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 3491 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x34, 0x2e, 3492 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3493 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 3494 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 3495 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 3496 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 3497 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xca, 0x41, 0x31, 0x0a, 0x0b, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3498 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 3499 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 3500 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 3501 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x82, 0xd3, 3502 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3503 0x64, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3504 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3505 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3506 0x72, 0x64, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3507 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3508 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3509 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3510 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3511 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3512 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3513 0x72, 0x64, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3514 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 3515 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3516 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 3517 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 3518 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3519 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3520 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 3521 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 3522 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 3523 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 3524 0x01, 0xca, 0x41, 0x31, 0x0a, 0x0b, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3525 0x64, 0x12, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3526 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 3527 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3528 0x61, 0x72, 0x64, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 3529 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3530 0x72, 0x64, 0x32, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3531 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3532 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3533 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 3534 0x12, 0xc0, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3535 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3536 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3537 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3538 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 3539 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 3540 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 3541 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3542 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3543 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3544 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3545 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3546 0x72, 0x64, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 3547 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3548 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3549 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 3550 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 3551 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 3552 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x72, 3553 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 3554 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 3555 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 3556 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 3557 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 3558 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3559 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 3560 0x2a, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3561 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 3562 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3563 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 3564 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 3565 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3566 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3567 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3568 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 3569 0xda, 0x41, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x82, 0xd3, 3570 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3571 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3572 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 3573 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 3574 0x61, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0xde, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 3575 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 3576 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3577 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 3578 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 3579 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3580 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3581 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3582 0x6f, 0x61, 0x72, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3583 0x22, 0x56, 0xda, 0x41, 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3584 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 3585 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3586 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3587 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 3588 0x72, 0x65, 0x61, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0xab, 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 3589 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 3590 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3591 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3592 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 3593 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 3594 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3595 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3596 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3597 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x98, 0x01, 0xda, 0x41, 3598 0x37, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3599 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x74, 3600 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 3601 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x3a, 0x16, 3602 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 3603 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 3604 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 3605 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3606 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 3607 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x65, 3608 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 3609 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3610 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3611 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 3612 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3613 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3614 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 3615 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 3616 0x65, 0x6e, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 3617 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 3618 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3619 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3620 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 3621 0x2a, 0x7d, 0x12, 0xad, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 3622 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 3623 0x6e, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3624 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3625 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3626 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 3627 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3628 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3629 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 3630 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9a, 0x01, 0xda, 0x41, 0x22, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3631 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 3632 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 3633 0x93, 0x02, 0x6f, 0x3a, 0x16, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3634 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x55, 0x2f, 0x76, 0x31, 3635 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 3636 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 3637 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3638 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3639 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 3640 0x2a, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3641 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 3642 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3643 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 3644 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 3645 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3646 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3647 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 3648 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 3649 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3650 0x22, 0x4f, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3651 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3652 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3653 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3654 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 3655 0x73, 0x12, 0xff, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 3656 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 3657 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3658 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 3659 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3660 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 3661 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 3662 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3663 0x22, 0x80, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3664 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 3665 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 3666 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 3667 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 3668 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3669 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3670 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3671 0x2f, 0x2a, 0x7d, 0x12, 0x88, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 3672 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x37, 0x2e, 0x67, 3673 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3674 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 3675 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 3676 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3677 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3678 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 3679 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x29, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 3680 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x74, 0x65, 3681 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 3682 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x3a, 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 3683 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x22, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 3684 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3685 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 3686 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 3687 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x8b, 3688 0x02, 0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 3689 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 3690 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3691 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 3692 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3693 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 3694 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3695 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 3696 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3697 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0xda, 0x41, 3698 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 3699 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x3a, 0x01, 0x2a, 0x22, 0x51, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 3700 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 3701 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 3702 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 3703 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 3704 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xcb, 0x01, 0x0a, 3705 0x11, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 3706 0x75, 0x6e, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3707 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3708 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 3709 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3710 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3711 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3712 0x64, 0x52, 0x75, 0x6e, 0x22, 0x54, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 3713 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 3714 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3715 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3716 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3717 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x02, 0x0a, 0x14, 0x55, 3718 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3719 0x52, 0x75, 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3720 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3721 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3722 0x72, 0x64, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 3723 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3724 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3725 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x22, 0x8c, 0x01, 0xda, 0x41, 0x1b, 0x74, 0x65, 3726 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x75, 0x70, 3727 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, 3728 0x0f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 3729 0x32, 0x55, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3730 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 3731 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3732 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 3733 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3734 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 3735 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x12, 3736 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3737 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 3738 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 3739 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3740 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3741 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3742 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3743 0x22, 0x56, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 3744 0x47, 0x12, 0x45, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 3745 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3746 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3747 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3748 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 3749 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 3750 0x6e, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 3751 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 3752 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3753 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 3754 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 3755 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xca, 0x41, 0x30, 0x0a, 3756 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 3757 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 3758 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 3759 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x2a, 0x45, 0x2f, 0x76, 3760 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3761 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 3762 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 3763 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 3764 0x2f, 0x2a, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 3765 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 3766 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3767 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3768 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 3769 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 3770 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 3771 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3772 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 3773 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3774 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 3775 0x6e, 0x73, 0x65, 0x22, 0x69, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 3776 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x01, 0x2a, 3777 0x22, 0x4c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 3778 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3779 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3780 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 3781 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0xa7, 3782 0x02, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3783 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3e, 3784 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 3785 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 3786 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 3787 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 3788 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 3789 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 3790 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 3791 0x73, 0x22, 0x94, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 3792 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 3793 0x65, 0x72, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x17, 0x74, 0x65, 0x6e, 3794 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 3795 0x72, 0x69, 0x65, 0x73, 0x22, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 3796 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 3797 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3798 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 3799 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x69, 3800 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 3801 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3802 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 3803 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 3804 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3805 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 3806 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3807 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 3808 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3809 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 3810 0xe4, 0x93, 0x02, 0x54, 0x12, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 3811 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 3812 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3813 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 3814 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 3815 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc5, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 3816 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 3817 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3818 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3819 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 3820 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 3821 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3822 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3823 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3824 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb2, 0x01, 0xda, 0x41, 3825 0x23, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 3826 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 3827 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x17, 0x74, 0x65, 0x6e, 3828 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 3829 0x72, 0x69, 0x65, 0x73, 0x32, 0x6a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 3830 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 3831 0x65, 0x73, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 3832 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 3833 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 3834 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 3835 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 3836 0x12, 0xfd, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3837 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3c, 3838 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 3839 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 3840 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 3841 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 3842 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 3843 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 3844 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3845 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0xda, 0x41, 0x06, 3846 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x12, 0x52, 0x2f, 0x76, 3847 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3848 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3849 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 3850 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 3851 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 3852 0x12, 0x93, 0x02, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3853 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 3854 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3855 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 3856 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 3857 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 3858 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 3859 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 3860 0x94, 0x01, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 3861 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 3862 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 3863 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 3864 0x02, 0x54, 0x2a, 0x52, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 3865 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3866 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3867 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 3868 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3869 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8c, 0x02, 0x0a, 0x22, 0x42, 0x61, 0x74, 0x63, 0x68, 3870 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 3871 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x45, 0x2e, 3872 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 3873 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 3874 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 3875 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 3876 0x75, 0x65, 0x73, 0x74, 0x1a, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 3877 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 3878 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3879 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 3880 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0xda, 0x41, 3881 0x0b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x82, 0xd3, 0xe4, 0x93, 3882 0x02, 0x43, 0x12, 0x41, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3883 0x6f, 0x61, 0x72, 0x64, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3884 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 3885 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 3886 0x68, 0x52, 0x65, 0x61, 0x64, 0x12, 0xb3, 0x02, 0x0a, 0x1d, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 3887 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3888 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3889 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3890 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3891 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 3892 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3893 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3894 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 3895 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 3896 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0xda, 3897 0x41, 0x17, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 3898 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x12, 3899 0x6a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3900 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3d, 0x70, 0x72, 3901 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 3902 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3903 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 3904 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3905 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x12, 0x92, 0x02, 0x0a, 0x17, 3906 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x42, 3907 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3908 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3909 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3910 0x6f, 0x61, 0x72, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 3911 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3912 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3913 0x2e, 0x52, 0x65, 0x61, 0x64, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 3914 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3915 0x22, 0x7c, 0xda, 0x41, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 3916 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x12, 0x66, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x69, 0x6d, 3917 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 3918 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 3919 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 3920 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 3921 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 3922 0x7d, 0x3a, 0x72, 0x65, 0x61, 0x64, 0x42, 0x6c, 0x6f, 0x62, 0x44, 0x61, 0x74, 0x61, 0x30, 0x01, 3923 0x12, 0xbc, 0x02, 0x0a, 0x1e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3924 0x62, 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 3925 0x61, 0x74, 0x61, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3926 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3927 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3928 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 3929 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 3930 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 3931 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3932 0x6f, 0x61, 0x72, 0x64, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 3933 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x92, 0x01, 0xda, 0x41, 0x2e, 3934 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 3935 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 3936 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x82, 0xd3, 3937 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x01, 0x2a, 0x22, 0x56, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 3938 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 3939 0x6d, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 3940 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 3941 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 3942 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 3943 0x99, 0x02, 0x0a, 0x17, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 3944 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 3945 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 3946 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 3947 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 3948 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 3949 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 3950 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3951 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 3952 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0xda, 0x41, 0x20, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3953 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x2c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 3954 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 3955 0x3a, 0x01, 0x2a, 0x22, 0x56, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 3956 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 3957 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 3958 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x2a, 0x2f, 3959 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x72, 0x75, 3960 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0xd5, 0x02, 0x0a, 0x1f, 3961 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3962 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 3963 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 3964 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 3965 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 3966 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 3967 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 3968 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 3969 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3970 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 3971 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x17, 0x74, 0x65, 3972 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 3973 0x65, 0x72, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x3a, 0x01, 0x2a, 0x22, 3974 0x81, 0x01, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 3975 0x72, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x3d, 0x70, 3976 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 3977 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 3978 0x64, 0x73, 0x2f, 0x2a, 0x2f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x73, 3979 0x2f, 0x2a, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 3980 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 3981 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x72, 3982 0x69, 0x65, 0x73, 0x1a, 0x86, 0x01, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 3983 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 3984 0x6f, 0x6d, 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 3985 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3986 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 3987 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 3988 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 3989 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 3990 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0xd5, 0x01, 0x0a, 3991 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 3992 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x42, 3993 0x17, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 3994 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 3995 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 3996 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 3997 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 3998 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 3999 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 4000 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4001 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 4002 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 4003 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 4004 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 4005 } 4006 4007 var ( 4008 file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescOnce sync.Once 4009 file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescData = file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDesc 4010 ) 4011 4012 func file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescGZIP() []byte { 4013 file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescOnce.Do(func() { 4014 file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescData) 4015 }) 4016 return file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDescData 4017 } 4018 4019 var file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes = make([]protoimpl.MessageInfo, 49) 4020 var file_google_cloud_aiplatform_v1_tensorboard_service_proto_goTypes = []any{ 4021 (*CreateTensorboardRequest)(nil), // 0: google.cloud.aiplatform.v1.CreateTensorboardRequest 4022 (*GetTensorboardRequest)(nil), // 1: google.cloud.aiplatform.v1.GetTensorboardRequest 4023 (*ListTensorboardsRequest)(nil), // 2: google.cloud.aiplatform.v1.ListTensorboardsRequest 4024 (*ListTensorboardsResponse)(nil), // 3: google.cloud.aiplatform.v1.ListTensorboardsResponse 4025 (*UpdateTensorboardRequest)(nil), // 4: google.cloud.aiplatform.v1.UpdateTensorboardRequest 4026 (*DeleteTensorboardRequest)(nil), // 5: google.cloud.aiplatform.v1.DeleteTensorboardRequest 4027 (*ReadTensorboardUsageRequest)(nil), // 6: google.cloud.aiplatform.v1.ReadTensorboardUsageRequest 4028 (*ReadTensorboardUsageResponse)(nil), // 7: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse 4029 (*ReadTensorboardSizeRequest)(nil), // 8: google.cloud.aiplatform.v1.ReadTensorboardSizeRequest 4030 (*ReadTensorboardSizeResponse)(nil), // 9: google.cloud.aiplatform.v1.ReadTensorboardSizeResponse 4031 (*CreateTensorboardExperimentRequest)(nil), // 10: google.cloud.aiplatform.v1.CreateTensorboardExperimentRequest 4032 (*GetTensorboardExperimentRequest)(nil), // 11: google.cloud.aiplatform.v1.GetTensorboardExperimentRequest 4033 (*ListTensorboardExperimentsRequest)(nil), // 12: google.cloud.aiplatform.v1.ListTensorboardExperimentsRequest 4034 (*ListTensorboardExperimentsResponse)(nil), // 13: google.cloud.aiplatform.v1.ListTensorboardExperimentsResponse 4035 (*UpdateTensorboardExperimentRequest)(nil), // 14: google.cloud.aiplatform.v1.UpdateTensorboardExperimentRequest 4036 (*DeleteTensorboardExperimentRequest)(nil), // 15: google.cloud.aiplatform.v1.DeleteTensorboardExperimentRequest 4037 (*BatchCreateTensorboardRunsRequest)(nil), // 16: google.cloud.aiplatform.v1.BatchCreateTensorboardRunsRequest 4038 (*BatchCreateTensorboardRunsResponse)(nil), // 17: google.cloud.aiplatform.v1.BatchCreateTensorboardRunsResponse 4039 (*CreateTensorboardRunRequest)(nil), // 18: google.cloud.aiplatform.v1.CreateTensorboardRunRequest 4040 (*GetTensorboardRunRequest)(nil), // 19: google.cloud.aiplatform.v1.GetTensorboardRunRequest 4041 (*ReadTensorboardBlobDataRequest)(nil), // 20: google.cloud.aiplatform.v1.ReadTensorboardBlobDataRequest 4042 (*ReadTensorboardBlobDataResponse)(nil), // 21: google.cloud.aiplatform.v1.ReadTensorboardBlobDataResponse 4043 (*ListTensorboardRunsRequest)(nil), // 22: google.cloud.aiplatform.v1.ListTensorboardRunsRequest 4044 (*ListTensorboardRunsResponse)(nil), // 23: google.cloud.aiplatform.v1.ListTensorboardRunsResponse 4045 (*UpdateTensorboardRunRequest)(nil), // 24: google.cloud.aiplatform.v1.UpdateTensorboardRunRequest 4046 (*DeleteTensorboardRunRequest)(nil), // 25: google.cloud.aiplatform.v1.DeleteTensorboardRunRequest 4047 (*BatchCreateTensorboardTimeSeriesRequest)(nil), // 26: google.cloud.aiplatform.v1.BatchCreateTensorboardTimeSeriesRequest 4048 (*BatchCreateTensorboardTimeSeriesResponse)(nil), // 27: google.cloud.aiplatform.v1.BatchCreateTensorboardTimeSeriesResponse 4049 (*CreateTensorboardTimeSeriesRequest)(nil), // 28: google.cloud.aiplatform.v1.CreateTensorboardTimeSeriesRequest 4050 (*GetTensorboardTimeSeriesRequest)(nil), // 29: google.cloud.aiplatform.v1.GetTensorboardTimeSeriesRequest 4051 (*ListTensorboardTimeSeriesRequest)(nil), // 30: google.cloud.aiplatform.v1.ListTensorboardTimeSeriesRequest 4052 (*ListTensorboardTimeSeriesResponse)(nil), // 31: google.cloud.aiplatform.v1.ListTensorboardTimeSeriesResponse 4053 (*UpdateTensorboardTimeSeriesRequest)(nil), // 32: google.cloud.aiplatform.v1.UpdateTensorboardTimeSeriesRequest 4054 (*DeleteTensorboardTimeSeriesRequest)(nil), // 33: google.cloud.aiplatform.v1.DeleteTensorboardTimeSeriesRequest 4055 (*BatchReadTensorboardTimeSeriesDataRequest)(nil), // 34: google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataRequest 4056 (*BatchReadTensorboardTimeSeriesDataResponse)(nil), // 35: google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataResponse 4057 (*ReadTensorboardTimeSeriesDataRequest)(nil), // 36: google.cloud.aiplatform.v1.ReadTensorboardTimeSeriesDataRequest 4058 (*ReadTensorboardTimeSeriesDataResponse)(nil), // 37: google.cloud.aiplatform.v1.ReadTensorboardTimeSeriesDataResponse 4059 (*WriteTensorboardExperimentDataRequest)(nil), // 38: google.cloud.aiplatform.v1.WriteTensorboardExperimentDataRequest 4060 (*WriteTensorboardExperimentDataResponse)(nil), // 39: google.cloud.aiplatform.v1.WriteTensorboardExperimentDataResponse 4061 (*WriteTensorboardRunDataRequest)(nil), // 40: google.cloud.aiplatform.v1.WriteTensorboardRunDataRequest 4062 (*WriteTensorboardRunDataResponse)(nil), // 41: google.cloud.aiplatform.v1.WriteTensorboardRunDataResponse 4063 (*ExportTensorboardTimeSeriesDataRequest)(nil), // 42: google.cloud.aiplatform.v1.ExportTensorboardTimeSeriesDataRequest 4064 (*ExportTensorboardTimeSeriesDataResponse)(nil), // 43: google.cloud.aiplatform.v1.ExportTensorboardTimeSeriesDataResponse 4065 (*CreateTensorboardOperationMetadata)(nil), // 44: google.cloud.aiplatform.v1.CreateTensorboardOperationMetadata 4066 (*UpdateTensorboardOperationMetadata)(nil), // 45: google.cloud.aiplatform.v1.UpdateTensorboardOperationMetadata 4067 (*ReadTensorboardUsageResponse_PerUserUsageData)(nil), // 46: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.PerUserUsageData 4068 (*ReadTensorboardUsageResponse_PerMonthUsageData)(nil), // 47: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.PerMonthUsageData 4069 nil, // 48: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.MonthlyUsageDataEntry 4070 (*Tensorboard)(nil), // 49: google.cloud.aiplatform.v1.Tensorboard 4071 (*fieldmaskpb.FieldMask)(nil), // 50: google.protobuf.FieldMask 4072 (*TensorboardExperiment)(nil), // 51: google.cloud.aiplatform.v1.TensorboardExperiment 4073 (*TensorboardRun)(nil), // 52: google.cloud.aiplatform.v1.TensorboardRun 4074 (*TensorboardBlob)(nil), // 53: google.cloud.aiplatform.v1.TensorboardBlob 4075 (*TensorboardTimeSeries)(nil), // 54: google.cloud.aiplatform.v1.TensorboardTimeSeries 4076 (*TimeSeriesData)(nil), // 55: google.cloud.aiplatform.v1.TimeSeriesData 4077 (*TimeSeriesDataPoint)(nil), // 56: google.cloud.aiplatform.v1.TimeSeriesDataPoint 4078 (*GenericOperationMetadata)(nil), // 57: google.cloud.aiplatform.v1.GenericOperationMetadata 4079 (*longrunningpb.Operation)(nil), // 58: google.longrunning.Operation 4080 } 4081 var file_google_cloud_aiplatform_v1_tensorboard_service_proto_depIdxs = []int32{ 4082 49, // 0: google.cloud.aiplatform.v1.CreateTensorboardRequest.tensorboard:type_name -> google.cloud.aiplatform.v1.Tensorboard 4083 50, // 1: google.cloud.aiplatform.v1.ListTensorboardsRequest.read_mask:type_name -> google.protobuf.FieldMask 4084 49, // 2: google.cloud.aiplatform.v1.ListTensorboardsResponse.tensorboards:type_name -> google.cloud.aiplatform.v1.Tensorboard 4085 50, // 3: google.cloud.aiplatform.v1.UpdateTensorboardRequest.update_mask:type_name -> google.protobuf.FieldMask 4086 49, // 4: google.cloud.aiplatform.v1.UpdateTensorboardRequest.tensorboard:type_name -> google.cloud.aiplatform.v1.Tensorboard 4087 48, // 5: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.monthly_usage_data:type_name -> google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.MonthlyUsageDataEntry 4088 51, // 6: google.cloud.aiplatform.v1.CreateTensorboardExperimentRequest.tensorboard_experiment:type_name -> google.cloud.aiplatform.v1.TensorboardExperiment 4089 50, // 7: google.cloud.aiplatform.v1.ListTensorboardExperimentsRequest.read_mask:type_name -> google.protobuf.FieldMask 4090 51, // 8: google.cloud.aiplatform.v1.ListTensorboardExperimentsResponse.tensorboard_experiments:type_name -> google.cloud.aiplatform.v1.TensorboardExperiment 4091 50, // 9: google.cloud.aiplatform.v1.UpdateTensorboardExperimentRequest.update_mask:type_name -> google.protobuf.FieldMask 4092 51, // 10: google.cloud.aiplatform.v1.UpdateTensorboardExperimentRequest.tensorboard_experiment:type_name -> google.cloud.aiplatform.v1.TensorboardExperiment 4093 18, // 11: google.cloud.aiplatform.v1.BatchCreateTensorboardRunsRequest.requests:type_name -> google.cloud.aiplatform.v1.CreateTensorboardRunRequest 4094 52, // 12: google.cloud.aiplatform.v1.BatchCreateTensorboardRunsResponse.tensorboard_runs:type_name -> google.cloud.aiplatform.v1.TensorboardRun 4095 52, // 13: google.cloud.aiplatform.v1.CreateTensorboardRunRequest.tensorboard_run:type_name -> google.cloud.aiplatform.v1.TensorboardRun 4096 53, // 14: google.cloud.aiplatform.v1.ReadTensorboardBlobDataResponse.blobs:type_name -> google.cloud.aiplatform.v1.TensorboardBlob 4097 50, // 15: google.cloud.aiplatform.v1.ListTensorboardRunsRequest.read_mask:type_name -> google.protobuf.FieldMask 4098 52, // 16: google.cloud.aiplatform.v1.ListTensorboardRunsResponse.tensorboard_runs:type_name -> google.cloud.aiplatform.v1.TensorboardRun 4099 50, // 17: google.cloud.aiplatform.v1.UpdateTensorboardRunRequest.update_mask:type_name -> google.protobuf.FieldMask 4100 52, // 18: google.cloud.aiplatform.v1.UpdateTensorboardRunRequest.tensorboard_run:type_name -> google.cloud.aiplatform.v1.TensorboardRun 4101 28, // 19: google.cloud.aiplatform.v1.BatchCreateTensorboardTimeSeriesRequest.requests:type_name -> google.cloud.aiplatform.v1.CreateTensorboardTimeSeriesRequest 4102 54, // 20: google.cloud.aiplatform.v1.BatchCreateTensorboardTimeSeriesResponse.tensorboard_time_series:type_name -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4103 54, // 21: google.cloud.aiplatform.v1.CreateTensorboardTimeSeriesRequest.tensorboard_time_series:type_name -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4104 50, // 22: google.cloud.aiplatform.v1.ListTensorboardTimeSeriesRequest.read_mask:type_name -> google.protobuf.FieldMask 4105 54, // 23: google.cloud.aiplatform.v1.ListTensorboardTimeSeriesResponse.tensorboard_time_series:type_name -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4106 50, // 24: google.cloud.aiplatform.v1.UpdateTensorboardTimeSeriesRequest.update_mask:type_name -> google.protobuf.FieldMask 4107 54, // 25: google.cloud.aiplatform.v1.UpdateTensorboardTimeSeriesRequest.tensorboard_time_series:type_name -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4108 55, // 26: google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataResponse.time_series_data:type_name -> google.cloud.aiplatform.v1.TimeSeriesData 4109 55, // 27: google.cloud.aiplatform.v1.ReadTensorboardTimeSeriesDataResponse.time_series_data:type_name -> google.cloud.aiplatform.v1.TimeSeriesData 4110 40, // 28: google.cloud.aiplatform.v1.WriteTensorboardExperimentDataRequest.write_run_data_requests:type_name -> google.cloud.aiplatform.v1.WriteTensorboardRunDataRequest 4111 55, // 29: google.cloud.aiplatform.v1.WriteTensorboardRunDataRequest.time_series_data:type_name -> google.cloud.aiplatform.v1.TimeSeriesData 4112 56, // 30: google.cloud.aiplatform.v1.ExportTensorboardTimeSeriesDataResponse.time_series_data_points:type_name -> google.cloud.aiplatform.v1.TimeSeriesDataPoint 4113 57, // 31: google.cloud.aiplatform.v1.CreateTensorboardOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata 4114 57, // 32: google.cloud.aiplatform.v1.UpdateTensorboardOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata 4115 46, // 33: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.PerMonthUsageData.user_usage_data:type_name -> google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.PerUserUsageData 4116 47, // 34: google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.MonthlyUsageDataEntry.value:type_name -> google.cloud.aiplatform.v1.ReadTensorboardUsageResponse.PerMonthUsageData 4117 0, // 35: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboard:input_type -> google.cloud.aiplatform.v1.CreateTensorboardRequest 4118 1, // 36: google.cloud.aiplatform.v1.TensorboardService.GetTensorboard:input_type -> google.cloud.aiplatform.v1.GetTensorboardRequest 4119 4, // 37: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboard:input_type -> google.cloud.aiplatform.v1.UpdateTensorboardRequest 4120 2, // 38: google.cloud.aiplatform.v1.TensorboardService.ListTensorboards:input_type -> google.cloud.aiplatform.v1.ListTensorboardsRequest 4121 5, // 39: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboard:input_type -> google.cloud.aiplatform.v1.DeleteTensorboardRequest 4122 6, // 40: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardUsage:input_type -> google.cloud.aiplatform.v1.ReadTensorboardUsageRequest 4123 8, // 41: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardSize:input_type -> google.cloud.aiplatform.v1.ReadTensorboardSizeRequest 4124 10, // 42: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardExperiment:input_type -> google.cloud.aiplatform.v1.CreateTensorboardExperimentRequest 4125 11, // 43: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardExperiment:input_type -> google.cloud.aiplatform.v1.GetTensorboardExperimentRequest 4126 14, // 44: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardExperiment:input_type -> google.cloud.aiplatform.v1.UpdateTensorboardExperimentRequest 4127 12, // 45: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments:input_type -> google.cloud.aiplatform.v1.ListTensorboardExperimentsRequest 4128 15, // 46: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardExperiment:input_type -> google.cloud.aiplatform.v1.DeleteTensorboardExperimentRequest 4129 18, // 47: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardRun:input_type -> google.cloud.aiplatform.v1.CreateTensorboardRunRequest 4130 16, // 48: google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardRuns:input_type -> google.cloud.aiplatform.v1.BatchCreateTensorboardRunsRequest 4131 19, // 49: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardRun:input_type -> google.cloud.aiplatform.v1.GetTensorboardRunRequest 4132 24, // 50: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardRun:input_type -> google.cloud.aiplatform.v1.UpdateTensorboardRunRequest 4133 22, // 51: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns:input_type -> google.cloud.aiplatform.v1.ListTensorboardRunsRequest 4134 25, // 52: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardRun:input_type -> google.cloud.aiplatform.v1.DeleteTensorboardRunRequest 4135 26, // 53: google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardTimeSeries:input_type -> google.cloud.aiplatform.v1.BatchCreateTensorboardTimeSeriesRequest 4136 28, // 54: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardTimeSeries:input_type -> google.cloud.aiplatform.v1.CreateTensorboardTimeSeriesRequest 4137 29, // 55: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardTimeSeries:input_type -> google.cloud.aiplatform.v1.GetTensorboardTimeSeriesRequest 4138 32, // 56: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardTimeSeries:input_type -> google.cloud.aiplatform.v1.UpdateTensorboardTimeSeriesRequest 4139 30, // 57: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries:input_type -> google.cloud.aiplatform.v1.ListTensorboardTimeSeriesRequest 4140 33, // 58: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardTimeSeries:input_type -> google.cloud.aiplatform.v1.DeleteTensorboardTimeSeriesRequest 4141 34, // 59: google.cloud.aiplatform.v1.TensorboardService.BatchReadTensorboardTimeSeriesData:input_type -> google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataRequest 4142 36, // 60: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData:input_type -> google.cloud.aiplatform.v1.ReadTensorboardTimeSeriesDataRequest 4143 20, // 61: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData:input_type -> google.cloud.aiplatform.v1.ReadTensorboardBlobDataRequest 4144 38, // 62: google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardExperimentData:input_type -> google.cloud.aiplatform.v1.WriteTensorboardExperimentDataRequest 4145 40, // 63: google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardRunData:input_type -> google.cloud.aiplatform.v1.WriteTensorboardRunDataRequest 4146 42, // 64: google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData:input_type -> google.cloud.aiplatform.v1.ExportTensorboardTimeSeriesDataRequest 4147 58, // 65: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboard:output_type -> google.longrunning.Operation 4148 49, // 66: google.cloud.aiplatform.v1.TensorboardService.GetTensorboard:output_type -> google.cloud.aiplatform.v1.Tensorboard 4149 58, // 67: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboard:output_type -> google.longrunning.Operation 4150 3, // 68: google.cloud.aiplatform.v1.TensorboardService.ListTensorboards:output_type -> google.cloud.aiplatform.v1.ListTensorboardsResponse 4151 58, // 69: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboard:output_type -> google.longrunning.Operation 4152 7, // 70: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardUsage:output_type -> google.cloud.aiplatform.v1.ReadTensorboardUsageResponse 4153 9, // 71: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardSize:output_type -> google.cloud.aiplatform.v1.ReadTensorboardSizeResponse 4154 51, // 72: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardExperiment:output_type -> google.cloud.aiplatform.v1.TensorboardExperiment 4155 51, // 73: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardExperiment:output_type -> google.cloud.aiplatform.v1.TensorboardExperiment 4156 51, // 74: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardExperiment:output_type -> google.cloud.aiplatform.v1.TensorboardExperiment 4157 13, // 75: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardExperiments:output_type -> google.cloud.aiplatform.v1.ListTensorboardExperimentsResponse 4158 58, // 76: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardExperiment:output_type -> google.longrunning.Operation 4159 52, // 77: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardRun:output_type -> google.cloud.aiplatform.v1.TensorboardRun 4160 17, // 78: google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardRuns:output_type -> google.cloud.aiplatform.v1.BatchCreateTensorboardRunsResponse 4161 52, // 79: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardRun:output_type -> google.cloud.aiplatform.v1.TensorboardRun 4162 52, // 80: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardRun:output_type -> google.cloud.aiplatform.v1.TensorboardRun 4163 23, // 81: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardRuns:output_type -> google.cloud.aiplatform.v1.ListTensorboardRunsResponse 4164 58, // 82: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardRun:output_type -> google.longrunning.Operation 4165 27, // 83: google.cloud.aiplatform.v1.TensorboardService.BatchCreateTensorboardTimeSeries:output_type -> google.cloud.aiplatform.v1.BatchCreateTensorboardTimeSeriesResponse 4166 54, // 84: google.cloud.aiplatform.v1.TensorboardService.CreateTensorboardTimeSeries:output_type -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4167 54, // 85: google.cloud.aiplatform.v1.TensorboardService.GetTensorboardTimeSeries:output_type -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4168 54, // 86: google.cloud.aiplatform.v1.TensorboardService.UpdateTensorboardTimeSeries:output_type -> google.cloud.aiplatform.v1.TensorboardTimeSeries 4169 31, // 87: google.cloud.aiplatform.v1.TensorboardService.ListTensorboardTimeSeries:output_type -> google.cloud.aiplatform.v1.ListTensorboardTimeSeriesResponse 4170 58, // 88: google.cloud.aiplatform.v1.TensorboardService.DeleteTensorboardTimeSeries:output_type -> google.longrunning.Operation 4171 35, // 89: google.cloud.aiplatform.v1.TensorboardService.BatchReadTensorboardTimeSeriesData:output_type -> google.cloud.aiplatform.v1.BatchReadTensorboardTimeSeriesDataResponse 4172 37, // 90: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardTimeSeriesData:output_type -> google.cloud.aiplatform.v1.ReadTensorboardTimeSeriesDataResponse 4173 21, // 91: google.cloud.aiplatform.v1.TensorboardService.ReadTensorboardBlobData:output_type -> google.cloud.aiplatform.v1.ReadTensorboardBlobDataResponse 4174 39, // 92: google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardExperimentData:output_type -> google.cloud.aiplatform.v1.WriteTensorboardExperimentDataResponse 4175 41, // 93: google.cloud.aiplatform.v1.TensorboardService.WriteTensorboardRunData:output_type -> google.cloud.aiplatform.v1.WriteTensorboardRunDataResponse 4176 43, // 94: google.cloud.aiplatform.v1.TensorboardService.ExportTensorboardTimeSeriesData:output_type -> google.cloud.aiplatform.v1.ExportTensorboardTimeSeriesDataResponse 4177 65, // [65:95] is the sub-list for method output_type 4178 35, // [35:65] is the sub-list for method input_type 4179 35, // [35:35] is the sub-list for extension type_name 4180 35, // [35:35] is the sub-list for extension extendee 4181 0, // [0:35] is the sub-list for field type_name 4182 } 4183 4184 func init() { file_google_cloud_aiplatform_v1_tensorboard_service_proto_init() } 4185 func file_google_cloud_aiplatform_v1_tensorboard_service_proto_init() { 4186 if File_google_cloud_aiplatform_v1_tensorboard_service_proto != nil { 4187 return 4188 } 4189 file_google_cloud_aiplatform_v1_operation_proto_init() 4190 file_google_cloud_aiplatform_v1_tensorboard_proto_init() 4191 file_google_cloud_aiplatform_v1_tensorboard_data_proto_init() 4192 file_google_cloud_aiplatform_v1_tensorboard_experiment_proto_init() 4193 file_google_cloud_aiplatform_v1_tensorboard_run_proto_init() 4194 file_google_cloud_aiplatform_v1_tensorboard_time_series_proto_init() 4195 type x struct{} 4196 out := protoimpl.TypeBuilder{ 4197 File: protoimpl.DescBuilder{ 4198 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4199 RawDescriptor: file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDesc, 4200 NumEnums: 0, 4201 NumMessages: 49, 4202 NumExtensions: 0, 4203 NumServices: 1, 4204 }, 4205 GoTypes: file_google_cloud_aiplatform_v1_tensorboard_service_proto_goTypes, 4206 DependencyIndexes: file_google_cloud_aiplatform_v1_tensorboard_service_proto_depIdxs, 4207 MessageInfos: file_google_cloud_aiplatform_v1_tensorboard_service_proto_msgTypes, 4208 }.Build() 4209 File_google_cloud_aiplatform_v1_tensorboard_service_proto = out.File 4210 file_google_cloud_aiplatform_v1_tensorboard_service_proto_rawDesc = nil 4211 file_google_cloud_aiplatform_v1_tensorboard_service_proto_goTypes = nil 4212 file_google_cloud_aiplatform_v1_tensorboard_service_proto_depIdxs = nil 4213 }