cloud.google.com/go/aiplatform@v1.106.0/apiv1/aiplatformpb/pipeline_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/pipeline_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 emptypb "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 // Runtime operation information for 42 // [PipelineService.BatchCancelPipelineJobs][google.cloud.aiplatform.v1.PipelineService.BatchCancelPipelineJobs]. 43 type BatchCancelPipelineJobsOperationMetadata struct { 44 state protoimpl.MessageState 45 sizeCache protoimpl.SizeCache 46 unknownFields protoimpl.UnknownFields 47 48 // The common part of the operation metadata. 49 GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"` 50 } 51 52 func (x *BatchCancelPipelineJobsOperationMetadata) Reset() { 53 *x = BatchCancelPipelineJobsOperationMetadata{} 54 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[0] 55 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 56 ms.StoreMessageInfo(mi) 57 } 58 59 func (x *BatchCancelPipelineJobsOperationMetadata) String() string { 60 return protoimpl.X.MessageStringOf(x) 61 } 62 63 func (*BatchCancelPipelineJobsOperationMetadata) ProtoMessage() {} 64 65 func (x *BatchCancelPipelineJobsOperationMetadata) ProtoReflect() protoreflect.Message { 66 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[0] 67 if x != nil { 68 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 69 if ms.LoadMessageInfo() == nil { 70 ms.StoreMessageInfo(mi) 71 } 72 return ms 73 } 74 return mi.MessageOf(x) 75 } 76 77 // Deprecated: Use BatchCancelPipelineJobsOperationMetadata.ProtoReflect.Descriptor instead. 78 func (*BatchCancelPipelineJobsOperationMetadata) Descriptor() ([]byte, []int) { 79 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{0} 80 } 81 82 func (x *BatchCancelPipelineJobsOperationMetadata) GetGenericMetadata() *GenericOperationMetadata { 83 if x != nil { 84 return x.GenericMetadata 85 } 86 return nil 87 } 88 89 // Request message for 90 // [PipelineService.CreateTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.CreateTrainingPipeline]. 91 type CreateTrainingPipelineRequest struct { 92 state protoimpl.MessageState 93 sizeCache protoimpl.SizeCache 94 unknownFields protoimpl.UnknownFields 95 96 // Required. The resource name of the Location to create the TrainingPipeline 97 // in. Format: `projects/{project}/locations/{location}` 98 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 99 // Required. The TrainingPipeline to create. 100 TrainingPipeline *TrainingPipeline `protobuf:"bytes,2,opt,name=training_pipeline,json=trainingPipeline,proto3" json:"training_pipeline,omitempty"` 101 } 102 103 func (x *CreateTrainingPipelineRequest) Reset() { 104 *x = CreateTrainingPipelineRequest{} 105 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[1] 106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 107 ms.StoreMessageInfo(mi) 108 } 109 110 func (x *CreateTrainingPipelineRequest) String() string { 111 return protoimpl.X.MessageStringOf(x) 112 } 113 114 func (*CreateTrainingPipelineRequest) ProtoMessage() {} 115 116 func (x *CreateTrainingPipelineRequest) ProtoReflect() protoreflect.Message { 117 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[1] 118 if x != nil { 119 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 120 if ms.LoadMessageInfo() == nil { 121 ms.StoreMessageInfo(mi) 122 } 123 return ms 124 } 125 return mi.MessageOf(x) 126 } 127 128 // Deprecated: Use CreateTrainingPipelineRequest.ProtoReflect.Descriptor instead. 129 func (*CreateTrainingPipelineRequest) Descriptor() ([]byte, []int) { 130 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{1} 131 } 132 133 func (x *CreateTrainingPipelineRequest) GetParent() string { 134 if x != nil { 135 return x.Parent 136 } 137 return "" 138 } 139 140 func (x *CreateTrainingPipelineRequest) GetTrainingPipeline() *TrainingPipeline { 141 if x != nil { 142 return x.TrainingPipeline 143 } 144 return nil 145 } 146 147 // Request message for 148 // [PipelineService.GetTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.GetTrainingPipeline]. 149 type GetTrainingPipelineRequest struct { 150 state protoimpl.MessageState 151 sizeCache protoimpl.SizeCache 152 unknownFields protoimpl.UnknownFields 153 154 // Required. The name of the TrainingPipeline resource. 155 // Format: 156 // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` 157 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 158 } 159 160 func (x *GetTrainingPipelineRequest) Reset() { 161 *x = GetTrainingPipelineRequest{} 162 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[2] 163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 164 ms.StoreMessageInfo(mi) 165 } 166 167 func (x *GetTrainingPipelineRequest) String() string { 168 return protoimpl.X.MessageStringOf(x) 169 } 170 171 func (*GetTrainingPipelineRequest) ProtoMessage() {} 172 173 func (x *GetTrainingPipelineRequest) ProtoReflect() protoreflect.Message { 174 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[2] 175 if x != nil { 176 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 177 if ms.LoadMessageInfo() == nil { 178 ms.StoreMessageInfo(mi) 179 } 180 return ms 181 } 182 return mi.MessageOf(x) 183 } 184 185 // Deprecated: Use GetTrainingPipelineRequest.ProtoReflect.Descriptor instead. 186 func (*GetTrainingPipelineRequest) Descriptor() ([]byte, []int) { 187 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{2} 188 } 189 190 func (x *GetTrainingPipelineRequest) GetName() string { 191 if x != nil { 192 return x.Name 193 } 194 return "" 195 } 196 197 // Request message for 198 // [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines]. 199 type ListTrainingPipelinesRequest struct { 200 state protoimpl.MessageState 201 sizeCache protoimpl.SizeCache 202 unknownFields protoimpl.UnknownFields 203 204 // Required. The resource name of the Location to list the TrainingPipelines 205 // from. Format: `projects/{project}/locations/{location}` 206 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 207 // The standard list filter. 208 // 209 // Supported fields: 210 // 211 // - `display_name` supports `=`, `!=` comparisons, and `:` wildcard. 212 // - `state` supports `=`, `!=` comparisons. 213 // - `training_task_definition` `=`, `!=` comparisons, and `:` wildcard. 214 // - `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. 215 // `create_time` must be in RFC 3339 format. 216 // - `labels` supports general map functions that is: 217 // `labels.key=value` - key:value equality 218 // `labels.key:* - key existence 219 // 220 // Some examples of using the filter are: 221 // 222 // - `state="PIPELINE_STATE_SUCCEEDED" AND display_name:"my_pipeline_*"` 223 // - `state!="PIPELINE_STATE_FAILED" OR display_name="my_pipeline"` 224 // - `NOT display_name="my_pipeline"` 225 // - `create_time>"2021-05-18T00:00:00Z"` 226 // - `training_task_definition:"*automl_text_classification*"` 227 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 228 // The standard list page size. 229 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 230 // The standard list page token. 231 // Typically obtained via 232 // [ListTrainingPipelinesResponse.next_page_token][google.cloud.aiplatform.v1.ListTrainingPipelinesResponse.next_page_token] 233 // of the previous 234 // [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines] 235 // call. 236 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 237 // Mask specifying which fields to read. 238 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 239 } 240 241 func (x *ListTrainingPipelinesRequest) Reset() { 242 *x = ListTrainingPipelinesRequest{} 243 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[3] 244 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 245 ms.StoreMessageInfo(mi) 246 } 247 248 func (x *ListTrainingPipelinesRequest) String() string { 249 return protoimpl.X.MessageStringOf(x) 250 } 251 252 func (*ListTrainingPipelinesRequest) ProtoMessage() {} 253 254 func (x *ListTrainingPipelinesRequest) ProtoReflect() protoreflect.Message { 255 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[3] 256 if x != nil { 257 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 258 if ms.LoadMessageInfo() == nil { 259 ms.StoreMessageInfo(mi) 260 } 261 return ms 262 } 263 return mi.MessageOf(x) 264 } 265 266 // Deprecated: Use ListTrainingPipelinesRequest.ProtoReflect.Descriptor instead. 267 func (*ListTrainingPipelinesRequest) Descriptor() ([]byte, []int) { 268 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{3} 269 } 270 271 func (x *ListTrainingPipelinesRequest) GetParent() string { 272 if x != nil { 273 return x.Parent 274 } 275 return "" 276 } 277 278 func (x *ListTrainingPipelinesRequest) GetFilter() string { 279 if x != nil { 280 return x.Filter 281 } 282 return "" 283 } 284 285 func (x *ListTrainingPipelinesRequest) GetPageSize() int32 { 286 if x != nil { 287 return x.PageSize 288 } 289 return 0 290 } 291 292 func (x *ListTrainingPipelinesRequest) GetPageToken() string { 293 if x != nil { 294 return x.PageToken 295 } 296 return "" 297 } 298 299 func (x *ListTrainingPipelinesRequest) GetReadMask() *fieldmaskpb.FieldMask { 300 if x != nil { 301 return x.ReadMask 302 } 303 return nil 304 } 305 306 // Response message for 307 // [PipelineService.ListTrainingPipelines][google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines] 308 type ListTrainingPipelinesResponse struct { 309 state protoimpl.MessageState 310 sizeCache protoimpl.SizeCache 311 unknownFields protoimpl.UnknownFields 312 313 // List of TrainingPipelines in the requested page. 314 TrainingPipelines []*TrainingPipeline `protobuf:"bytes,1,rep,name=training_pipelines,json=trainingPipelines,proto3" json:"training_pipelines,omitempty"` 315 // A token to retrieve the next page of results. 316 // Pass to 317 // [ListTrainingPipelinesRequest.page_token][google.cloud.aiplatform.v1.ListTrainingPipelinesRequest.page_token] 318 // to obtain that page. 319 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 320 } 321 322 func (x *ListTrainingPipelinesResponse) Reset() { 323 *x = ListTrainingPipelinesResponse{} 324 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[4] 325 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 326 ms.StoreMessageInfo(mi) 327 } 328 329 func (x *ListTrainingPipelinesResponse) String() string { 330 return protoimpl.X.MessageStringOf(x) 331 } 332 333 func (*ListTrainingPipelinesResponse) ProtoMessage() {} 334 335 func (x *ListTrainingPipelinesResponse) ProtoReflect() protoreflect.Message { 336 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[4] 337 if x != nil { 338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 339 if ms.LoadMessageInfo() == nil { 340 ms.StoreMessageInfo(mi) 341 } 342 return ms 343 } 344 return mi.MessageOf(x) 345 } 346 347 // Deprecated: Use ListTrainingPipelinesResponse.ProtoReflect.Descriptor instead. 348 func (*ListTrainingPipelinesResponse) Descriptor() ([]byte, []int) { 349 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{4} 350 } 351 352 func (x *ListTrainingPipelinesResponse) GetTrainingPipelines() []*TrainingPipeline { 353 if x != nil { 354 return x.TrainingPipelines 355 } 356 return nil 357 } 358 359 func (x *ListTrainingPipelinesResponse) GetNextPageToken() string { 360 if x != nil { 361 return x.NextPageToken 362 } 363 return "" 364 } 365 366 // Request message for 367 // [PipelineService.DeleteTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.DeleteTrainingPipeline]. 368 type DeleteTrainingPipelineRequest struct { 369 state protoimpl.MessageState 370 sizeCache protoimpl.SizeCache 371 unknownFields protoimpl.UnknownFields 372 373 // Required. The name of the TrainingPipeline resource to be deleted. 374 // Format: 375 // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` 376 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 377 } 378 379 func (x *DeleteTrainingPipelineRequest) Reset() { 380 *x = DeleteTrainingPipelineRequest{} 381 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[5] 382 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 383 ms.StoreMessageInfo(mi) 384 } 385 386 func (x *DeleteTrainingPipelineRequest) String() string { 387 return protoimpl.X.MessageStringOf(x) 388 } 389 390 func (*DeleteTrainingPipelineRequest) ProtoMessage() {} 391 392 func (x *DeleteTrainingPipelineRequest) ProtoReflect() protoreflect.Message { 393 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[5] 394 if x != nil { 395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 396 if ms.LoadMessageInfo() == nil { 397 ms.StoreMessageInfo(mi) 398 } 399 return ms 400 } 401 return mi.MessageOf(x) 402 } 403 404 // Deprecated: Use DeleteTrainingPipelineRequest.ProtoReflect.Descriptor instead. 405 func (*DeleteTrainingPipelineRequest) Descriptor() ([]byte, []int) { 406 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{5} 407 } 408 409 func (x *DeleteTrainingPipelineRequest) GetName() string { 410 if x != nil { 411 return x.Name 412 } 413 return "" 414 } 415 416 // Request message for 417 // [PipelineService.CancelTrainingPipeline][google.cloud.aiplatform.v1.PipelineService.CancelTrainingPipeline]. 418 type CancelTrainingPipelineRequest struct { 419 state protoimpl.MessageState 420 sizeCache protoimpl.SizeCache 421 unknownFields protoimpl.UnknownFields 422 423 // Required. The name of the TrainingPipeline to cancel. 424 // Format: 425 // `projects/{project}/locations/{location}/trainingPipelines/{training_pipeline}` 426 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 427 } 428 429 func (x *CancelTrainingPipelineRequest) Reset() { 430 *x = CancelTrainingPipelineRequest{} 431 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[6] 432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 433 ms.StoreMessageInfo(mi) 434 } 435 436 func (x *CancelTrainingPipelineRequest) String() string { 437 return protoimpl.X.MessageStringOf(x) 438 } 439 440 func (*CancelTrainingPipelineRequest) ProtoMessage() {} 441 442 func (x *CancelTrainingPipelineRequest) ProtoReflect() protoreflect.Message { 443 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[6] 444 if x != nil { 445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 446 if ms.LoadMessageInfo() == nil { 447 ms.StoreMessageInfo(mi) 448 } 449 return ms 450 } 451 return mi.MessageOf(x) 452 } 453 454 // Deprecated: Use CancelTrainingPipelineRequest.ProtoReflect.Descriptor instead. 455 func (*CancelTrainingPipelineRequest) Descriptor() ([]byte, []int) { 456 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{6} 457 } 458 459 func (x *CancelTrainingPipelineRequest) GetName() string { 460 if x != nil { 461 return x.Name 462 } 463 return "" 464 } 465 466 // Request message for 467 // [PipelineService.CreatePipelineJob][google.cloud.aiplatform.v1.PipelineService.CreatePipelineJob]. 468 type CreatePipelineJobRequest struct { 469 state protoimpl.MessageState 470 sizeCache protoimpl.SizeCache 471 unknownFields protoimpl.UnknownFields 472 473 // Required. The resource name of the Location to create the PipelineJob in. 474 // Format: `projects/{project}/locations/{location}` 475 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 476 // Required. The PipelineJob to create. 477 PipelineJob *PipelineJob `protobuf:"bytes,2,opt,name=pipeline_job,json=pipelineJob,proto3" json:"pipeline_job,omitempty"` 478 // The ID to use for the PipelineJob, which will become the final component of 479 // the PipelineJob name. If not provided, an ID will be automatically 480 // generated. 481 // 482 // This value should be less than 128 characters, and valid characters 483 // are `/[a-z][0-9]-/`. 484 PipelineJobId string `protobuf:"bytes,3,opt,name=pipeline_job_id,json=pipelineJobId,proto3" json:"pipeline_job_id,omitempty"` 485 } 486 487 func (x *CreatePipelineJobRequest) Reset() { 488 *x = CreatePipelineJobRequest{} 489 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[7] 490 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 491 ms.StoreMessageInfo(mi) 492 } 493 494 func (x *CreatePipelineJobRequest) String() string { 495 return protoimpl.X.MessageStringOf(x) 496 } 497 498 func (*CreatePipelineJobRequest) ProtoMessage() {} 499 500 func (x *CreatePipelineJobRequest) ProtoReflect() protoreflect.Message { 501 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[7] 502 if x != nil { 503 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 504 if ms.LoadMessageInfo() == nil { 505 ms.StoreMessageInfo(mi) 506 } 507 return ms 508 } 509 return mi.MessageOf(x) 510 } 511 512 // Deprecated: Use CreatePipelineJobRequest.ProtoReflect.Descriptor instead. 513 func (*CreatePipelineJobRequest) Descriptor() ([]byte, []int) { 514 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{7} 515 } 516 517 func (x *CreatePipelineJobRequest) GetParent() string { 518 if x != nil { 519 return x.Parent 520 } 521 return "" 522 } 523 524 func (x *CreatePipelineJobRequest) GetPipelineJob() *PipelineJob { 525 if x != nil { 526 return x.PipelineJob 527 } 528 return nil 529 } 530 531 func (x *CreatePipelineJobRequest) GetPipelineJobId() string { 532 if x != nil { 533 return x.PipelineJobId 534 } 535 return "" 536 } 537 538 // Request message for 539 // [PipelineService.GetPipelineJob][google.cloud.aiplatform.v1.PipelineService.GetPipelineJob]. 540 type GetPipelineJobRequest struct { 541 state protoimpl.MessageState 542 sizeCache protoimpl.SizeCache 543 unknownFields protoimpl.UnknownFields 544 545 // Required. The name of the PipelineJob resource. 546 // Format: 547 // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` 548 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 549 } 550 551 func (x *GetPipelineJobRequest) Reset() { 552 *x = GetPipelineJobRequest{} 553 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[8] 554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 555 ms.StoreMessageInfo(mi) 556 } 557 558 func (x *GetPipelineJobRequest) String() string { 559 return protoimpl.X.MessageStringOf(x) 560 } 561 562 func (*GetPipelineJobRequest) ProtoMessage() {} 563 564 func (x *GetPipelineJobRequest) ProtoReflect() protoreflect.Message { 565 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[8] 566 if x != nil { 567 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 568 if ms.LoadMessageInfo() == nil { 569 ms.StoreMessageInfo(mi) 570 } 571 return ms 572 } 573 return mi.MessageOf(x) 574 } 575 576 // Deprecated: Use GetPipelineJobRequest.ProtoReflect.Descriptor instead. 577 func (*GetPipelineJobRequest) Descriptor() ([]byte, []int) { 578 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{8} 579 } 580 581 func (x *GetPipelineJobRequest) GetName() string { 582 if x != nil { 583 return x.Name 584 } 585 return "" 586 } 587 588 // Request message for 589 // [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs]. 590 type ListPipelineJobsRequest struct { 591 state protoimpl.MessageState 592 sizeCache protoimpl.SizeCache 593 unknownFields protoimpl.UnknownFields 594 595 // Required. The resource name of the Location to list the PipelineJobs from. 596 // Format: `projects/{project}/locations/{location}` 597 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 598 // Lists the PipelineJobs that match the filter expression. The following 599 // fields are supported: 600 // 601 // - `pipeline_name`: Supports `=` and `!=` comparisons. 602 // - `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. 603 // - `pipeline_job_user_id`: Supports `=`, `!=` comparisons, and `:` wildcard. 604 // for example, can check if pipeline's display_name contains *step* by 605 // doing display_name:\"*step*\" 606 // - `state`: Supports `=` and `!=` comparisons. 607 // - `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 608 // Values must be in RFC 3339 format. 609 // - `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 610 // Values must be in RFC 3339 format. 611 // - `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. 612 // Values must be in RFC 3339 format. 613 // - `labels`: Supports key-value equality and key presence. 614 // - `template_uri`: Supports `=`, `!=` comparisons, and `:` wildcard. 615 // - `template_metadata.version`: Supports `=`, `!=` comparisons, and `:` 616 // wildcard. 617 // 618 // Filter expressions can be combined together using logical operators 619 // (`AND` & `OR`). 620 // For example: `pipeline_name="test" AND create_time>"2020-05-18T13:30:00Z"`. 621 // 622 // The syntax to define filter expression is based on 623 // https://google.aip.dev/160. 624 // 625 // Examples: 626 // 627 // - `create_time>"2021-05-18T00:00:00Z" OR 628 // update_time>"2020-05-18T00:00:00Z"` PipelineJobs created or updated 629 // after 2020-05-18 00:00:00 UTC. 630 // - `labels.env = "prod"` 631 // PipelineJobs with label "env" set to "prod". 632 Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` 633 // The standard list page size. 634 PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 635 // The standard list page token. 636 // Typically obtained via 637 // [ListPipelineJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListPipelineJobsResponse.next_page_token] 638 // of the previous 639 // [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs] 640 // call. 641 PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 642 // A comma-separated list of fields to order by. The default sort order is in 643 // ascending order. Use "desc" after a field name for descending. You can have 644 // multiple order_by fields provided e.g. "create_time desc, end_time", 645 // "end_time, start_time, update_time" For example, using "create_time desc, 646 // end_time" will order results by create time in descending order, and if 647 // there are multiple jobs having the same create time, order them by the end 648 // time in ascending order. if order_by is not specified, it will order by 649 // default order is create time in descending order. Supported fields: 650 // 651 // - `create_time` 652 // - `update_time` 653 // - `end_time` 654 // - `start_time` 655 OrderBy string `protobuf:"bytes,6,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` 656 // Mask specifying which fields to read. 657 ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"` 658 } 659 660 func (x *ListPipelineJobsRequest) Reset() { 661 *x = ListPipelineJobsRequest{} 662 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[9] 663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 664 ms.StoreMessageInfo(mi) 665 } 666 667 func (x *ListPipelineJobsRequest) String() string { 668 return protoimpl.X.MessageStringOf(x) 669 } 670 671 func (*ListPipelineJobsRequest) ProtoMessage() {} 672 673 func (x *ListPipelineJobsRequest) ProtoReflect() protoreflect.Message { 674 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[9] 675 if x != nil { 676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 677 if ms.LoadMessageInfo() == nil { 678 ms.StoreMessageInfo(mi) 679 } 680 return ms 681 } 682 return mi.MessageOf(x) 683 } 684 685 // Deprecated: Use ListPipelineJobsRequest.ProtoReflect.Descriptor instead. 686 func (*ListPipelineJobsRequest) Descriptor() ([]byte, []int) { 687 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{9} 688 } 689 690 func (x *ListPipelineJobsRequest) GetParent() string { 691 if x != nil { 692 return x.Parent 693 } 694 return "" 695 } 696 697 func (x *ListPipelineJobsRequest) GetFilter() string { 698 if x != nil { 699 return x.Filter 700 } 701 return "" 702 } 703 704 func (x *ListPipelineJobsRequest) GetPageSize() int32 { 705 if x != nil { 706 return x.PageSize 707 } 708 return 0 709 } 710 711 func (x *ListPipelineJobsRequest) GetPageToken() string { 712 if x != nil { 713 return x.PageToken 714 } 715 return "" 716 } 717 718 func (x *ListPipelineJobsRequest) GetOrderBy() string { 719 if x != nil { 720 return x.OrderBy 721 } 722 return "" 723 } 724 725 func (x *ListPipelineJobsRequest) GetReadMask() *fieldmaskpb.FieldMask { 726 if x != nil { 727 return x.ReadMask 728 } 729 return nil 730 } 731 732 // Response message for 733 // [PipelineService.ListPipelineJobs][google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs] 734 type ListPipelineJobsResponse struct { 735 state protoimpl.MessageState 736 sizeCache protoimpl.SizeCache 737 unknownFields protoimpl.UnknownFields 738 739 // List of PipelineJobs in the requested page. 740 PipelineJobs []*PipelineJob `protobuf:"bytes,1,rep,name=pipeline_jobs,json=pipelineJobs,proto3" json:"pipeline_jobs,omitempty"` 741 // A token to retrieve the next page of results. 742 // Pass to 743 // [ListPipelineJobsRequest.page_token][google.cloud.aiplatform.v1.ListPipelineJobsRequest.page_token] 744 // to obtain that page. 745 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 746 } 747 748 func (x *ListPipelineJobsResponse) Reset() { 749 *x = ListPipelineJobsResponse{} 750 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[10] 751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 752 ms.StoreMessageInfo(mi) 753 } 754 755 func (x *ListPipelineJobsResponse) String() string { 756 return protoimpl.X.MessageStringOf(x) 757 } 758 759 func (*ListPipelineJobsResponse) ProtoMessage() {} 760 761 func (x *ListPipelineJobsResponse) ProtoReflect() protoreflect.Message { 762 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[10] 763 if x != nil { 764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 765 if ms.LoadMessageInfo() == nil { 766 ms.StoreMessageInfo(mi) 767 } 768 return ms 769 } 770 return mi.MessageOf(x) 771 } 772 773 // Deprecated: Use ListPipelineJobsResponse.ProtoReflect.Descriptor instead. 774 func (*ListPipelineJobsResponse) Descriptor() ([]byte, []int) { 775 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{10} 776 } 777 778 func (x *ListPipelineJobsResponse) GetPipelineJobs() []*PipelineJob { 779 if x != nil { 780 return x.PipelineJobs 781 } 782 return nil 783 } 784 785 func (x *ListPipelineJobsResponse) GetNextPageToken() string { 786 if x != nil { 787 return x.NextPageToken 788 } 789 return "" 790 } 791 792 // Request message for 793 // [PipelineService.DeletePipelineJob][google.cloud.aiplatform.v1.PipelineService.DeletePipelineJob]. 794 type DeletePipelineJobRequest struct { 795 state protoimpl.MessageState 796 sizeCache protoimpl.SizeCache 797 unknownFields protoimpl.UnknownFields 798 799 // Required. The name of the PipelineJob resource to be deleted. 800 // Format: 801 // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` 802 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 803 } 804 805 func (x *DeletePipelineJobRequest) Reset() { 806 *x = DeletePipelineJobRequest{} 807 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[11] 808 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 809 ms.StoreMessageInfo(mi) 810 } 811 812 func (x *DeletePipelineJobRequest) String() string { 813 return protoimpl.X.MessageStringOf(x) 814 } 815 816 func (*DeletePipelineJobRequest) ProtoMessage() {} 817 818 func (x *DeletePipelineJobRequest) ProtoReflect() protoreflect.Message { 819 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[11] 820 if x != nil { 821 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 822 if ms.LoadMessageInfo() == nil { 823 ms.StoreMessageInfo(mi) 824 } 825 return ms 826 } 827 return mi.MessageOf(x) 828 } 829 830 // Deprecated: Use DeletePipelineJobRequest.ProtoReflect.Descriptor instead. 831 func (*DeletePipelineJobRequest) Descriptor() ([]byte, []int) { 832 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{11} 833 } 834 835 func (x *DeletePipelineJobRequest) GetName() string { 836 if x != nil { 837 return x.Name 838 } 839 return "" 840 } 841 842 // Request message for 843 // [PipelineService.BatchDeletePipelineJobs][google.cloud.aiplatform.v1.PipelineService.BatchDeletePipelineJobs]. 844 type BatchDeletePipelineJobsRequest struct { 845 state protoimpl.MessageState 846 sizeCache protoimpl.SizeCache 847 unknownFields protoimpl.UnknownFields 848 849 // Required. The name of the PipelineJobs' parent resource. 850 // Format: `projects/{project}/locations/{location}` 851 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 852 // Required. The names of the PipelineJobs to delete. 853 // A maximum of 32 PipelineJobs can be deleted in a batch. 854 // Format: 855 // `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` 856 Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` 857 } 858 859 func (x *BatchDeletePipelineJobsRequest) Reset() { 860 *x = BatchDeletePipelineJobsRequest{} 861 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[12] 862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 863 ms.StoreMessageInfo(mi) 864 } 865 866 func (x *BatchDeletePipelineJobsRequest) String() string { 867 return protoimpl.X.MessageStringOf(x) 868 } 869 870 func (*BatchDeletePipelineJobsRequest) ProtoMessage() {} 871 872 func (x *BatchDeletePipelineJobsRequest) ProtoReflect() protoreflect.Message { 873 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[12] 874 if x != nil { 875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 876 if ms.LoadMessageInfo() == nil { 877 ms.StoreMessageInfo(mi) 878 } 879 return ms 880 } 881 return mi.MessageOf(x) 882 } 883 884 // Deprecated: Use BatchDeletePipelineJobsRequest.ProtoReflect.Descriptor instead. 885 func (*BatchDeletePipelineJobsRequest) Descriptor() ([]byte, []int) { 886 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{12} 887 } 888 889 func (x *BatchDeletePipelineJobsRequest) GetParent() string { 890 if x != nil { 891 return x.Parent 892 } 893 return "" 894 } 895 896 func (x *BatchDeletePipelineJobsRequest) GetNames() []string { 897 if x != nil { 898 return x.Names 899 } 900 return nil 901 } 902 903 // Response message for 904 // [PipelineService.BatchDeletePipelineJobs][google.cloud.aiplatform.v1.PipelineService.BatchDeletePipelineJobs]. 905 type BatchDeletePipelineJobsResponse struct { 906 state protoimpl.MessageState 907 sizeCache protoimpl.SizeCache 908 unknownFields protoimpl.UnknownFields 909 910 // PipelineJobs deleted. 911 PipelineJobs []*PipelineJob `protobuf:"bytes,1,rep,name=pipeline_jobs,json=pipelineJobs,proto3" json:"pipeline_jobs,omitempty"` 912 } 913 914 func (x *BatchDeletePipelineJobsResponse) Reset() { 915 *x = BatchDeletePipelineJobsResponse{} 916 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[13] 917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 918 ms.StoreMessageInfo(mi) 919 } 920 921 func (x *BatchDeletePipelineJobsResponse) String() string { 922 return protoimpl.X.MessageStringOf(x) 923 } 924 925 func (*BatchDeletePipelineJobsResponse) ProtoMessage() {} 926 927 func (x *BatchDeletePipelineJobsResponse) ProtoReflect() protoreflect.Message { 928 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[13] 929 if x != nil { 930 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 931 if ms.LoadMessageInfo() == nil { 932 ms.StoreMessageInfo(mi) 933 } 934 return ms 935 } 936 return mi.MessageOf(x) 937 } 938 939 // Deprecated: Use BatchDeletePipelineJobsResponse.ProtoReflect.Descriptor instead. 940 func (*BatchDeletePipelineJobsResponse) Descriptor() ([]byte, []int) { 941 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{13} 942 } 943 944 func (x *BatchDeletePipelineJobsResponse) GetPipelineJobs() []*PipelineJob { 945 if x != nil { 946 return x.PipelineJobs 947 } 948 return nil 949 } 950 951 // Request message for 952 // [PipelineService.CancelPipelineJob][google.cloud.aiplatform.v1.PipelineService.CancelPipelineJob]. 953 type CancelPipelineJobRequest struct { 954 state protoimpl.MessageState 955 sizeCache protoimpl.SizeCache 956 unknownFields protoimpl.UnknownFields 957 958 // Required. The name of the PipelineJob to cancel. 959 // Format: 960 // `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}` 961 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 962 } 963 964 func (x *CancelPipelineJobRequest) Reset() { 965 *x = CancelPipelineJobRequest{} 966 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[14] 967 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 968 ms.StoreMessageInfo(mi) 969 } 970 971 func (x *CancelPipelineJobRequest) String() string { 972 return protoimpl.X.MessageStringOf(x) 973 } 974 975 func (*CancelPipelineJobRequest) ProtoMessage() {} 976 977 func (x *CancelPipelineJobRequest) ProtoReflect() protoreflect.Message { 978 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[14] 979 if x != nil { 980 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 981 if ms.LoadMessageInfo() == nil { 982 ms.StoreMessageInfo(mi) 983 } 984 return ms 985 } 986 return mi.MessageOf(x) 987 } 988 989 // Deprecated: Use CancelPipelineJobRequest.ProtoReflect.Descriptor instead. 990 func (*CancelPipelineJobRequest) Descriptor() ([]byte, []int) { 991 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{14} 992 } 993 994 func (x *CancelPipelineJobRequest) GetName() string { 995 if x != nil { 996 return x.Name 997 } 998 return "" 999 } 1000 1001 // Request message for 1002 // [PipelineService.BatchCancelPipelineJobs][google.cloud.aiplatform.v1.PipelineService.BatchCancelPipelineJobs]. 1003 type BatchCancelPipelineJobsRequest struct { 1004 state protoimpl.MessageState 1005 sizeCache protoimpl.SizeCache 1006 unknownFields protoimpl.UnknownFields 1007 1008 // Required. The name of the PipelineJobs' parent resource. 1009 // Format: `projects/{project}/locations/{location}` 1010 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1011 // Required. The names of the PipelineJobs to cancel. 1012 // A maximum of 32 PipelineJobs can be cancelled in a batch. 1013 // Format: 1014 // `projects/{project}/locations/{location}/pipelineJobs/{pipelineJob}` 1015 Names []string `protobuf:"bytes,2,rep,name=names,proto3" json:"names,omitempty"` 1016 } 1017 1018 func (x *BatchCancelPipelineJobsRequest) Reset() { 1019 *x = BatchCancelPipelineJobsRequest{} 1020 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[15] 1021 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1022 ms.StoreMessageInfo(mi) 1023 } 1024 1025 func (x *BatchCancelPipelineJobsRequest) String() string { 1026 return protoimpl.X.MessageStringOf(x) 1027 } 1028 1029 func (*BatchCancelPipelineJobsRequest) ProtoMessage() {} 1030 1031 func (x *BatchCancelPipelineJobsRequest) ProtoReflect() protoreflect.Message { 1032 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[15] 1033 if x != nil { 1034 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1035 if ms.LoadMessageInfo() == nil { 1036 ms.StoreMessageInfo(mi) 1037 } 1038 return ms 1039 } 1040 return mi.MessageOf(x) 1041 } 1042 1043 // Deprecated: Use BatchCancelPipelineJobsRequest.ProtoReflect.Descriptor instead. 1044 func (*BatchCancelPipelineJobsRequest) Descriptor() ([]byte, []int) { 1045 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{15} 1046 } 1047 1048 func (x *BatchCancelPipelineJobsRequest) GetParent() string { 1049 if x != nil { 1050 return x.Parent 1051 } 1052 return "" 1053 } 1054 1055 func (x *BatchCancelPipelineJobsRequest) GetNames() []string { 1056 if x != nil { 1057 return x.Names 1058 } 1059 return nil 1060 } 1061 1062 // Response message for 1063 // [PipelineService.BatchCancelPipelineJobs][google.cloud.aiplatform.v1.PipelineService.BatchCancelPipelineJobs]. 1064 type BatchCancelPipelineJobsResponse struct { 1065 state protoimpl.MessageState 1066 sizeCache protoimpl.SizeCache 1067 unknownFields protoimpl.UnknownFields 1068 1069 // PipelineJobs cancelled. 1070 PipelineJobs []*PipelineJob `protobuf:"bytes,1,rep,name=pipeline_jobs,json=pipelineJobs,proto3" json:"pipeline_jobs,omitempty"` 1071 } 1072 1073 func (x *BatchCancelPipelineJobsResponse) Reset() { 1074 *x = BatchCancelPipelineJobsResponse{} 1075 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[16] 1076 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1077 ms.StoreMessageInfo(mi) 1078 } 1079 1080 func (x *BatchCancelPipelineJobsResponse) String() string { 1081 return protoimpl.X.MessageStringOf(x) 1082 } 1083 1084 func (*BatchCancelPipelineJobsResponse) ProtoMessage() {} 1085 1086 func (x *BatchCancelPipelineJobsResponse) ProtoReflect() protoreflect.Message { 1087 mi := &file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes[16] 1088 if x != nil { 1089 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1090 if ms.LoadMessageInfo() == nil { 1091 ms.StoreMessageInfo(mi) 1092 } 1093 return ms 1094 } 1095 return mi.MessageOf(x) 1096 } 1097 1098 // Deprecated: Use BatchCancelPipelineJobsResponse.ProtoReflect.Descriptor instead. 1099 func (*BatchCancelPipelineJobsResponse) Descriptor() ([]byte, []int) { 1100 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP(), []int{16} 1101 } 1102 1103 func (x *BatchCancelPipelineJobsResponse) GetPipelineJobs() []*PipelineJob { 1104 if x != nil { 1105 return x.PipelineJobs 1106 } 1107 return nil 1108 } 1109 1110 var File_google_cloud_aiplatform_v1_pipeline_service_proto protoreflect.FileDescriptor 1111 1112 var file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDesc = []byte{ 1113 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 1114 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x69, 0x70, 1115 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 1116 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1117 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x1a, 1118 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 1119 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 1120 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1121 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 1122 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 1123 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1124 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1125 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1126 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 1127 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 1128 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 1129 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 1130 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 1131 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 1132 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 1133 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1134 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 1135 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1136 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 1137 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 1138 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 1139 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 1140 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8b, 0x01, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 1141 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 1142 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 1143 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x10, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x6d, 0x65, 1144 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 1145 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1146 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 1147 0x63, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 1148 0x74, 0x61, 0x52, 0x0f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x4d, 0x65, 0x74, 0x61, 0x64, 1149 0x61, 0x74, 0x61, 0x22, 0xc2, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 1150 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 1151 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1152 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 1153 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1154 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1155 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x69, 1156 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 1157 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1158 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1159 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 1160 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 1161 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x64, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 1162 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 1163 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 1164 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x69, 1165 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1166 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 1167 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xee, 1168 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 1169 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1170 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 1171 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 1172 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 1173 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 1174 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 1175 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 1176 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 1177 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 1178 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 1179 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 1180 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1181 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 1182 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 1183 0xa4, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 1184 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 1185 0x65, 0x12, 0x5b, 0x0a, 0x12, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 1186 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 1187 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1188 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 1189 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x11, 0x74, 0x72, 0x61, 1190 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x26, 1191 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 1192 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 1193 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x67, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 1194 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1195 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 1196 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 1197 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1198 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 1199 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 1200 0x67, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 1201 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1202 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x32, 1203 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2c, 0x0a, 0x2a, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1204 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 1205 0x6d, 0x2f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 1206 0x6e, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd6, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 1207 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 1208 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 1209 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 1210 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 1211 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1212 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0c, 0x70, 0x69, 0x70, 0x65, 1213 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 1214 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1215 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 1216 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x69, 1217 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x69, 0x70, 1218 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 1219 0x28, 0x09, 0x52, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x49, 1220 0x64, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1221 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 1222 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 1223 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 1224 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 1225 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x84, 0x02, 1226 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 1227 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 1228 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 1229 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 1230 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 1231 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 1232 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 1233 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 1234 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 1235 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 1236 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 1237 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 1238 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x72, 1239 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1240 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1241 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 1242 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x90, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 1243 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 1244 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 1245 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1246 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1247 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 1248 0x62, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 1249 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 1250 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 1251 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5d, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 1252 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 1253 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1254 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 1255 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 1256 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 1257 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 1258 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 1259 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 1260 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 1261 0x27, 0x12, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 1262 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 1263 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 1264 0x12, 0x43, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 1265 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1266 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 1267 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x05, 1268 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 1269 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 1270 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 1271 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 1272 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1273 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x70, 1274 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 1275 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0x5d, 0x0a, 0x18, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 1276 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 1277 0x73, 0x74, 0x12, 0x41, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1278 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1279 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 1280 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 1281 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 1282 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 1283 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 1284 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 1285 0x12, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 1286 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 1287 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 1288 0x43, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2d, 1289 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1290 0x72, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 1291 0x6d, 0x2f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x05, 0x6e, 1292 0x61, 0x6d, 0x65, 0x73, 0x22, 0x6f, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 1293 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 1294 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x70, 0x69, 0x70, 0x65, 0x6c, 1295 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 1296 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1297 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 1298 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 1299 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x32, 0xa7, 0x15, 0x0a, 0x0f, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 1300 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xee, 0x01, 0x0a, 0x16, 0x43, 0x72, 1301 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 1302 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1303 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1304 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 1305 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 1306 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1307 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 1308 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x6b, 0xda, 1309 0x41, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 1310 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 1311 0x3a, 0x11, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x70, 0x65, 0x6c, 1312 0x69, 0x6e, 0x65, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 1313 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 1314 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 1315 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x13, 0x47, 1316 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 1317 0x6e, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1318 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 1319 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 1320 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 1321 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1322 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 1323 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x44, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 1324 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 1325 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 1326 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 1327 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xd4, 1328 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 1329 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1330 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 1331 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 1332 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 1333 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1334 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 1335 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 1336 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0xda, 1337 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 1338 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 1339 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1340 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 1341 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 1342 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1343 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 1344 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 1345 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 1346 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 1347 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 1348 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xca, 0x41, 0x30, 0x0a, 1349 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1350 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 1351 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 1352 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, 0x35, 0x2f, 0x76, 1353 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 1354 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 1355 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 1356 0x2f, 0x2a, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x16, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x72, 1357 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x39, 1358 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1359 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 1360 0x65, 0x6c, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 1361 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1362 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 1363 0x79, 0x22, 0x4e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 1364 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 1365 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 1366 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x69, 1367 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 1368 0x6c, 0x12, 0xe0, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 1369 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1370 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1371 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 1372 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 1373 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1374 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 1375 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x22, 0x6c, 0xda, 0x41, 0x23, 0x70, 0x61, 0x72, 0x65, 0x6e, 1376 0x74, 0x2c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x2c, 0x70, 1377 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x82, 0xd3, 1378 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x0c, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6a, 1379 0x6f, 0x62, 0x22, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 1380 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 1381 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1382 0x4a, 0x6f, 0x62, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 1383 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1384 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1385 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1386 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 1387 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1388 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1389 0x4a, 0x6f, 0x62, 0x22, 0x3f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 1390 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 1391 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 1392 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 1393 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xc0, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 1394 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1395 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1396 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x69, 0x70, 0x65, 0x6c, 1397 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 1398 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1399 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 1400 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 1401 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x41, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x82, 1402 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 1403 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 1404 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 1405 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 1406 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x34, 0x2e, 1407 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 1408 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 1409 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 1410 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 1411 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1412 0x6f, 0x6e, 0x22, 0x72, 0xca, 0x41, 0x30, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1413 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x17, 1414 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 1415 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 1416 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 1417 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 1418 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 1419 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x8a, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 1420 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 1421 0x62, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 1422 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 1423 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x69, 0x70, 0x65, 0x6c, 1424 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 1425 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 1426 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 1427 0xca, 0x41, 0x3a, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 1428 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 1429 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 1430 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 1431 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 1432 0x02, 0x41, 0x3a, 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 1433 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 1434 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 1435 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 1436 0x65, 0x74, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 1437 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1438 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1439 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 1440 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 1441 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1442 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x49, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 1443 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x3a, 0x01, 0x2a, 0x22, 0x37, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 1444 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 1445 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x70, 0x69, 0x70, 0x65, 1446 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 1447 0x65, 0x6c, 0x12, 0x9b, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 1448 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x3a, 1449 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1450 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 1451 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 1452 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 1453 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 1454 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0xca, 0x41, 0x4b, 0x0a, 1455 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 0x65, 1456 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1457 0x12, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x69, 0x70, 1458 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 1459 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, 1460 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 1461 0x01, 0x2a, 0x22, 0x3c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 1462 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 1463 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 1464 0x4a, 0x6f, 0x62, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 1465 0x1a, 0x4d, 0xca, 0x41, 0x19, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1466 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 1467 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 1468 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 1469 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 1470 0xd2, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1471 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 1472 0x76, 0x31, 0x42, 0x14, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x72, 0x76, 1473 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x63, 0x6c, 0x6f, 0x75, 1474 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 1475 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 1476 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 1477 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 1478 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 1479 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1480 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1481 0x6d, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 1482 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1483 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1484 } 1485 1486 var ( 1487 file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescOnce sync.Once 1488 file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescData = file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDesc 1489 ) 1490 1491 func file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescGZIP() []byte { 1492 file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescOnce.Do(func() { 1493 file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescData) 1494 }) 1495 return file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDescData 1496 } 1497 1498 var file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) 1499 var file_google_cloud_aiplatform_v1_pipeline_service_proto_goTypes = []any{ 1500 (*BatchCancelPipelineJobsOperationMetadata)(nil), // 0: google.cloud.aiplatform.v1.BatchCancelPipelineJobsOperationMetadata 1501 (*CreateTrainingPipelineRequest)(nil), // 1: google.cloud.aiplatform.v1.CreateTrainingPipelineRequest 1502 (*GetTrainingPipelineRequest)(nil), // 2: google.cloud.aiplatform.v1.GetTrainingPipelineRequest 1503 (*ListTrainingPipelinesRequest)(nil), // 3: google.cloud.aiplatform.v1.ListTrainingPipelinesRequest 1504 (*ListTrainingPipelinesResponse)(nil), // 4: google.cloud.aiplatform.v1.ListTrainingPipelinesResponse 1505 (*DeleteTrainingPipelineRequest)(nil), // 5: google.cloud.aiplatform.v1.DeleteTrainingPipelineRequest 1506 (*CancelTrainingPipelineRequest)(nil), // 6: google.cloud.aiplatform.v1.CancelTrainingPipelineRequest 1507 (*CreatePipelineJobRequest)(nil), // 7: google.cloud.aiplatform.v1.CreatePipelineJobRequest 1508 (*GetPipelineJobRequest)(nil), // 8: google.cloud.aiplatform.v1.GetPipelineJobRequest 1509 (*ListPipelineJobsRequest)(nil), // 9: google.cloud.aiplatform.v1.ListPipelineJobsRequest 1510 (*ListPipelineJobsResponse)(nil), // 10: google.cloud.aiplatform.v1.ListPipelineJobsResponse 1511 (*DeletePipelineJobRequest)(nil), // 11: google.cloud.aiplatform.v1.DeletePipelineJobRequest 1512 (*BatchDeletePipelineJobsRequest)(nil), // 12: google.cloud.aiplatform.v1.BatchDeletePipelineJobsRequest 1513 (*BatchDeletePipelineJobsResponse)(nil), // 13: google.cloud.aiplatform.v1.BatchDeletePipelineJobsResponse 1514 (*CancelPipelineJobRequest)(nil), // 14: google.cloud.aiplatform.v1.CancelPipelineJobRequest 1515 (*BatchCancelPipelineJobsRequest)(nil), // 15: google.cloud.aiplatform.v1.BatchCancelPipelineJobsRequest 1516 (*BatchCancelPipelineJobsResponse)(nil), // 16: google.cloud.aiplatform.v1.BatchCancelPipelineJobsResponse 1517 (*GenericOperationMetadata)(nil), // 17: google.cloud.aiplatform.v1.GenericOperationMetadata 1518 (*TrainingPipeline)(nil), // 18: google.cloud.aiplatform.v1.TrainingPipeline 1519 (*fieldmaskpb.FieldMask)(nil), // 19: google.protobuf.FieldMask 1520 (*PipelineJob)(nil), // 20: google.cloud.aiplatform.v1.PipelineJob 1521 (*longrunningpb.Operation)(nil), // 21: google.longrunning.Operation 1522 (*emptypb.Empty)(nil), // 22: google.protobuf.Empty 1523 } 1524 var file_google_cloud_aiplatform_v1_pipeline_service_proto_depIdxs = []int32{ 1525 17, // 0: google.cloud.aiplatform.v1.BatchCancelPipelineJobsOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata 1526 18, // 1: google.cloud.aiplatform.v1.CreateTrainingPipelineRequest.training_pipeline:type_name -> google.cloud.aiplatform.v1.TrainingPipeline 1527 19, // 2: google.cloud.aiplatform.v1.ListTrainingPipelinesRequest.read_mask:type_name -> google.protobuf.FieldMask 1528 18, // 3: google.cloud.aiplatform.v1.ListTrainingPipelinesResponse.training_pipelines:type_name -> google.cloud.aiplatform.v1.TrainingPipeline 1529 20, // 4: google.cloud.aiplatform.v1.CreatePipelineJobRequest.pipeline_job:type_name -> google.cloud.aiplatform.v1.PipelineJob 1530 19, // 5: google.cloud.aiplatform.v1.ListPipelineJobsRequest.read_mask:type_name -> google.protobuf.FieldMask 1531 20, // 6: google.cloud.aiplatform.v1.ListPipelineJobsResponse.pipeline_jobs:type_name -> google.cloud.aiplatform.v1.PipelineJob 1532 20, // 7: google.cloud.aiplatform.v1.BatchDeletePipelineJobsResponse.pipeline_jobs:type_name -> google.cloud.aiplatform.v1.PipelineJob 1533 20, // 8: google.cloud.aiplatform.v1.BatchCancelPipelineJobsResponse.pipeline_jobs:type_name -> google.cloud.aiplatform.v1.PipelineJob 1534 1, // 9: google.cloud.aiplatform.v1.PipelineService.CreateTrainingPipeline:input_type -> google.cloud.aiplatform.v1.CreateTrainingPipelineRequest 1535 2, // 10: google.cloud.aiplatform.v1.PipelineService.GetTrainingPipeline:input_type -> google.cloud.aiplatform.v1.GetTrainingPipelineRequest 1536 3, // 11: google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines:input_type -> google.cloud.aiplatform.v1.ListTrainingPipelinesRequest 1537 5, // 12: google.cloud.aiplatform.v1.PipelineService.DeleteTrainingPipeline:input_type -> google.cloud.aiplatform.v1.DeleteTrainingPipelineRequest 1538 6, // 13: google.cloud.aiplatform.v1.PipelineService.CancelTrainingPipeline:input_type -> google.cloud.aiplatform.v1.CancelTrainingPipelineRequest 1539 7, // 14: google.cloud.aiplatform.v1.PipelineService.CreatePipelineJob:input_type -> google.cloud.aiplatform.v1.CreatePipelineJobRequest 1540 8, // 15: google.cloud.aiplatform.v1.PipelineService.GetPipelineJob:input_type -> google.cloud.aiplatform.v1.GetPipelineJobRequest 1541 9, // 16: google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs:input_type -> google.cloud.aiplatform.v1.ListPipelineJobsRequest 1542 11, // 17: google.cloud.aiplatform.v1.PipelineService.DeletePipelineJob:input_type -> google.cloud.aiplatform.v1.DeletePipelineJobRequest 1543 12, // 18: google.cloud.aiplatform.v1.PipelineService.BatchDeletePipelineJobs:input_type -> google.cloud.aiplatform.v1.BatchDeletePipelineJobsRequest 1544 14, // 19: google.cloud.aiplatform.v1.PipelineService.CancelPipelineJob:input_type -> google.cloud.aiplatform.v1.CancelPipelineJobRequest 1545 15, // 20: google.cloud.aiplatform.v1.PipelineService.BatchCancelPipelineJobs:input_type -> google.cloud.aiplatform.v1.BatchCancelPipelineJobsRequest 1546 18, // 21: google.cloud.aiplatform.v1.PipelineService.CreateTrainingPipeline:output_type -> google.cloud.aiplatform.v1.TrainingPipeline 1547 18, // 22: google.cloud.aiplatform.v1.PipelineService.GetTrainingPipeline:output_type -> google.cloud.aiplatform.v1.TrainingPipeline 1548 4, // 23: google.cloud.aiplatform.v1.PipelineService.ListTrainingPipelines:output_type -> google.cloud.aiplatform.v1.ListTrainingPipelinesResponse 1549 21, // 24: google.cloud.aiplatform.v1.PipelineService.DeleteTrainingPipeline:output_type -> google.longrunning.Operation 1550 22, // 25: google.cloud.aiplatform.v1.PipelineService.CancelTrainingPipeline:output_type -> google.protobuf.Empty 1551 20, // 26: google.cloud.aiplatform.v1.PipelineService.CreatePipelineJob:output_type -> google.cloud.aiplatform.v1.PipelineJob 1552 20, // 27: google.cloud.aiplatform.v1.PipelineService.GetPipelineJob:output_type -> google.cloud.aiplatform.v1.PipelineJob 1553 10, // 28: google.cloud.aiplatform.v1.PipelineService.ListPipelineJobs:output_type -> google.cloud.aiplatform.v1.ListPipelineJobsResponse 1554 21, // 29: google.cloud.aiplatform.v1.PipelineService.DeletePipelineJob:output_type -> google.longrunning.Operation 1555 21, // 30: google.cloud.aiplatform.v1.PipelineService.BatchDeletePipelineJobs:output_type -> google.longrunning.Operation 1556 22, // 31: google.cloud.aiplatform.v1.PipelineService.CancelPipelineJob:output_type -> google.protobuf.Empty 1557 21, // 32: google.cloud.aiplatform.v1.PipelineService.BatchCancelPipelineJobs:output_type -> google.longrunning.Operation 1558 21, // [21:33] is the sub-list for method output_type 1559 9, // [9:21] is the sub-list for method input_type 1560 9, // [9:9] is the sub-list for extension type_name 1561 9, // [9:9] is the sub-list for extension extendee 1562 0, // [0:9] is the sub-list for field type_name 1563 } 1564 1565 func init() { file_google_cloud_aiplatform_v1_pipeline_service_proto_init() } 1566 func file_google_cloud_aiplatform_v1_pipeline_service_proto_init() { 1567 if File_google_cloud_aiplatform_v1_pipeline_service_proto != nil { 1568 return 1569 } 1570 file_google_cloud_aiplatform_v1_operation_proto_init() 1571 file_google_cloud_aiplatform_v1_pipeline_job_proto_init() 1572 file_google_cloud_aiplatform_v1_training_pipeline_proto_init() 1573 type x struct{} 1574 out := protoimpl.TypeBuilder{ 1575 File: protoimpl.DescBuilder{ 1576 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1577 RawDescriptor: file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDesc, 1578 NumEnums: 0, 1579 NumMessages: 17, 1580 NumExtensions: 0, 1581 NumServices: 1, 1582 }, 1583 GoTypes: file_google_cloud_aiplatform_v1_pipeline_service_proto_goTypes, 1584 DependencyIndexes: file_google_cloud_aiplatform_v1_pipeline_service_proto_depIdxs, 1585 MessageInfos: file_google_cloud_aiplatform_v1_pipeline_service_proto_msgTypes, 1586 }.Build() 1587 File_google_cloud_aiplatform_v1_pipeline_service_proto = out.File 1588 file_google_cloud_aiplatform_v1_pipeline_service_proto_rawDesc = nil 1589 file_google_cloud_aiplatform_v1_pipeline_service_proto_goTypes = nil 1590 file_google_cloud_aiplatform_v1_pipeline_service_proto_depIdxs = nil 1591 }