1// Copyright 2021 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.25.0-devel 18// protoc v3.13.0 19// source: google/cloud/translate/v3beta1/translation_service.proto 20 21package translate 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 proto "github.com/golang/protobuf/proto" 29 _ "google.golang.org/genproto/googleapis/api/annotations" 30 longrunning "google.golang.org/genproto/googleapis/longrunning" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 37) 38 39const ( 40 // Verify that this generated code is sufficiently up-to-date. 41 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 42 // Verify that runtime/protoimpl is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 44) 45 46// This is a compile-time assertion that a sufficiently up-to-date version 47// of the legacy proto package is being used. 48const _ = proto.ProtoPackageIsVersion4 49 50// State of the job. 51type BatchTranslateMetadata_State int32 52 53const ( 54 // Invalid. 55 BatchTranslateMetadata_STATE_UNSPECIFIED BatchTranslateMetadata_State = 0 56 // Request is being processed. 57 BatchTranslateMetadata_RUNNING BatchTranslateMetadata_State = 1 58 // The batch is processed, and at least one item was successfully 59 // processed. 60 BatchTranslateMetadata_SUCCEEDED BatchTranslateMetadata_State = 2 61 // The batch is done and no item was successfully processed. 62 BatchTranslateMetadata_FAILED BatchTranslateMetadata_State = 3 63 // Request is in the process of being canceled after caller invoked 64 // longrunning.Operations.CancelOperation on the request id. 65 BatchTranslateMetadata_CANCELLING BatchTranslateMetadata_State = 4 66 // The batch is done after the user has called the 67 // longrunning.Operations.CancelOperation. Any records processed before the 68 // cancel command are output as specified in the request. 69 BatchTranslateMetadata_CANCELLED BatchTranslateMetadata_State = 5 70) 71 72// Enum value maps for BatchTranslateMetadata_State. 73var ( 74 BatchTranslateMetadata_State_name = map[int32]string{ 75 0: "STATE_UNSPECIFIED", 76 1: "RUNNING", 77 2: "SUCCEEDED", 78 3: "FAILED", 79 4: "CANCELLING", 80 5: "CANCELLED", 81 } 82 BatchTranslateMetadata_State_value = map[string]int32{ 83 "STATE_UNSPECIFIED": 0, 84 "RUNNING": 1, 85 "SUCCEEDED": 2, 86 "FAILED": 3, 87 "CANCELLING": 4, 88 "CANCELLED": 5, 89 } 90) 91 92func (x BatchTranslateMetadata_State) Enum() *BatchTranslateMetadata_State { 93 p := new(BatchTranslateMetadata_State) 94 *p = x 95 return p 96} 97 98func (x BatchTranslateMetadata_State) String() string { 99 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 100} 101 102func (BatchTranslateMetadata_State) Descriptor() protoreflect.EnumDescriptor { 103 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[0].Descriptor() 104} 105 106func (BatchTranslateMetadata_State) Type() protoreflect.EnumType { 107 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[0] 108} 109 110func (x BatchTranslateMetadata_State) Number() protoreflect.EnumNumber { 111 return protoreflect.EnumNumber(x) 112} 113 114// Deprecated: Use BatchTranslateMetadata_State.Descriptor instead. 115func (BatchTranslateMetadata_State) EnumDescriptor() ([]byte, []int) { 116 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{20, 0} 117} 118 119// Enumerates the possible states that the creation request can be in. 120type CreateGlossaryMetadata_State int32 121 122const ( 123 // Invalid. 124 CreateGlossaryMetadata_STATE_UNSPECIFIED CreateGlossaryMetadata_State = 0 125 // Request is being processed. 126 CreateGlossaryMetadata_RUNNING CreateGlossaryMetadata_State = 1 127 // The glossary was successfully created. 128 CreateGlossaryMetadata_SUCCEEDED CreateGlossaryMetadata_State = 2 129 // Failed to create the glossary. 130 CreateGlossaryMetadata_FAILED CreateGlossaryMetadata_State = 3 131 // Request is in the process of being canceled after caller invoked 132 // longrunning.Operations.CancelOperation on the request id. 133 CreateGlossaryMetadata_CANCELLING CreateGlossaryMetadata_State = 4 134 // The glossary creation request was successfully canceled. 135 CreateGlossaryMetadata_CANCELLED CreateGlossaryMetadata_State = 5 136) 137 138// Enum value maps for CreateGlossaryMetadata_State. 139var ( 140 CreateGlossaryMetadata_State_name = map[int32]string{ 141 0: "STATE_UNSPECIFIED", 142 1: "RUNNING", 143 2: "SUCCEEDED", 144 3: "FAILED", 145 4: "CANCELLING", 146 5: "CANCELLED", 147 } 148 CreateGlossaryMetadata_State_value = map[string]int32{ 149 "STATE_UNSPECIFIED": 0, 150 "RUNNING": 1, 151 "SUCCEEDED": 2, 152 "FAILED": 3, 153 "CANCELLING": 4, 154 "CANCELLED": 5, 155 } 156) 157 158func (x CreateGlossaryMetadata_State) Enum() *CreateGlossaryMetadata_State { 159 p := new(CreateGlossaryMetadata_State) 160 *p = x 161 return p 162} 163 164func (x CreateGlossaryMetadata_State) String() string { 165 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 166} 167 168func (CreateGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor { 169 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[1].Descriptor() 170} 171 172func (CreateGlossaryMetadata_State) Type() protoreflect.EnumType { 173 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[1] 174} 175 176func (x CreateGlossaryMetadata_State) Number() protoreflect.EnumNumber { 177 return protoreflect.EnumNumber(x) 178} 179 180// Deprecated: Use CreateGlossaryMetadata_State.Descriptor instead. 181func (CreateGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) { 182 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{29, 0} 183} 184 185// Enumerates the possible states that the creation request can be in. 186type DeleteGlossaryMetadata_State int32 187 188const ( 189 // Invalid. 190 DeleteGlossaryMetadata_STATE_UNSPECIFIED DeleteGlossaryMetadata_State = 0 191 // Request is being processed. 192 DeleteGlossaryMetadata_RUNNING DeleteGlossaryMetadata_State = 1 193 // The glossary was successfully deleted. 194 DeleteGlossaryMetadata_SUCCEEDED DeleteGlossaryMetadata_State = 2 195 // Failed to delete the glossary. 196 DeleteGlossaryMetadata_FAILED DeleteGlossaryMetadata_State = 3 197 // Request is in the process of being canceled after caller invoked 198 // longrunning.Operations.CancelOperation on the request id. 199 DeleteGlossaryMetadata_CANCELLING DeleteGlossaryMetadata_State = 4 200 // The glossary deletion request was successfully canceled. 201 DeleteGlossaryMetadata_CANCELLED DeleteGlossaryMetadata_State = 5 202) 203 204// Enum value maps for DeleteGlossaryMetadata_State. 205var ( 206 DeleteGlossaryMetadata_State_name = map[int32]string{ 207 0: "STATE_UNSPECIFIED", 208 1: "RUNNING", 209 2: "SUCCEEDED", 210 3: "FAILED", 211 4: "CANCELLING", 212 5: "CANCELLED", 213 } 214 DeleteGlossaryMetadata_State_value = map[string]int32{ 215 "STATE_UNSPECIFIED": 0, 216 "RUNNING": 1, 217 "SUCCEEDED": 2, 218 "FAILED": 3, 219 "CANCELLING": 4, 220 "CANCELLED": 5, 221 } 222) 223 224func (x DeleteGlossaryMetadata_State) Enum() *DeleteGlossaryMetadata_State { 225 p := new(DeleteGlossaryMetadata_State) 226 *p = x 227 return p 228} 229 230func (x DeleteGlossaryMetadata_State) String() string { 231 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 232} 233 234func (DeleteGlossaryMetadata_State) Descriptor() protoreflect.EnumDescriptor { 235 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[2].Descriptor() 236} 237 238func (DeleteGlossaryMetadata_State) Type() protoreflect.EnumType { 239 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[2] 240} 241 242func (x DeleteGlossaryMetadata_State) Number() protoreflect.EnumNumber { 243 return protoreflect.EnumNumber(x) 244} 245 246// Deprecated: Use DeleteGlossaryMetadata_State.Descriptor instead. 247func (DeleteGlossaryMetadata_State) EnumDescriptor() ([]byte, []int) { 248 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{30, 0} 249} 250 251// State of the job. 252type BatchTranslateDocumentMetadata_State int32 253 254const ( 255 // Invalid. 256 BatchTranslateDocumentMetadata_STATE_UNSPECIFIED BatchTranslateDocumentMetadata_State = 0 257 // Request is being processed. 258 BatchTranslateDocumentMetadata_RUNNING BatchTranslateDocumentMetadata_State = 1 259 // The batch is processed, and at least one item was successfully processed. 260 BatchTranslateDocumentMetadata_SUCCEEDED BatchTranslateDocumentMetadata_State = 2 261 // The batch is done and no item was successfully processed. 262 BatchTranslateDocumentMetadata_FAILED BatchTranslateDocumentMetadata_State = 3 263 // Request is in the process of being canceled after caller invoked 264 // longrunning.Operations.CancelOperation on the request id. 265 BatchTranslateDocumentMetadata_CANCELLING BatchTranslateDocumentMetadata_State = 4 266 // The batch is done after the user has called the 267 // longrunning.Operations.CancelOperation. Any records processed before the 268 // cancel command are output as specified in the request. 269 BatchTranslateDocumentMetadata_CANCELLED BatchTranslateDocumentMetadata_State = 5 270) 271 272// Enum value maps for BatchTranslateDocumentMetadata_State. 273var ( 274 BatchTranslateDocumentMetadata_State_name = map[int32]string{ 275 0: "STATE_UNSPECIFIED", 276 1: "RUNNING", 277 2: "SUCCEEDED", 278 3: "FAILED", 279 4: "CANCELLING", 280 5: "CANCELLED", 281 } 282 BatchTranslateDocumentMetadata_State_value = map[string]int32{ 283 "STATE_UNSPECIFIED": 0, 284 "RUNNING": 1, 285 "SUCCEEDED": 2, 286 "FAILED": 3, 287 "CANCELLING": 4, 288 "CANCELLED": 5, 289 } 290) 291 292func (x BatchTranslateDocumentMetadata_State) Enum() *BatchTranslateDocumentMetadata_State { 293 p := new(BatchTranslateDocumentMetadata_State) 294 *p = x 295 return p 296} 297 298func (x BatchTranslateDocumentMetadata_State) String() string { 299 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 300} 301 302func (BatchTranslateDocumentMetadata_State) Descriptor() protoreflect.EnumDescriptor { 303 return file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[3].Descriptor() 304} 305 306func (BatchTranslateDocumentMetadata_State) Type() protoreflect.EnumType { 307 return &file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes[3] 308} 309 310func (x BatchTranslateDocumentMetadata_State) Number() protoreflect.EnumNumber { 311 return protoreflect.EnumNumber(x) 312} 313 314// Deprecated: Use BatchTranslateDocumentMetadata_State.Descriptor instead. 315func (BatchTranslateDocumentMetadata_State) EnumDescriptor() ([]byte, []int) { 316 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{36, 0} 317} 318 319// Configures which glossary should be used for a specific target language, 320// and defines options for applying that glossary. 321type TranslateTextGlossaryConfig struct { 322 state protoimpl.MessageState 323 sizeCache protoimpl.SizeCache 324 unknownFields protoimpl.UnknownFields 325 326 // Required. Specifies the glossary used for this translation. Use 327 // this format: projects/*/locations/*/glossaries/* 328 Glossary string `protobuf:"bytes,1,opt,name=glossary,proto3" json:"glossary,omitempty"` 329 // Optional. Indicates match is case-insensitive. 330 // Default value is false if missing. 331 IgnoreCase bool `protobuf:"varint,2,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"` 332} 333 334func (x *TranslateTextGlossaryConfig) Reset() { 335 *x = TranslateTextGlossaryConfig{} 336 if protoimpl.UnsafeEnabled { 337 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0] 338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 339 ms.StoreMessageInfo(mi) 340 } 341} 342 343func (x *TranslateTextGlossaryConfig) String() string { 344 return protoimpl.X.MessageStringOf(x) 345} 346 347func (*TranslateTextGlossaryConfig) ProtoMessage() {} 348 349func (x *TranslateTextGlossaryConfig) ProtoReflect() protoreflect.Message { 350 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0] 351 if protoimpl.UnsafeEnabled && x != nil { 352 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 353 if ms.LoadMessageInfo() == nil { 354 ms.StoreMessageInfo(mi) 355 } 356 return ms 357 } 358 return mi.MessageOf(x) 359} 360 361// Deprecated: Use TranslateTextGlossaryConfig.ProtoReflect.Descriptor instead. 362func (*TranslateTextGlossaryConfig) Descriptor() ([]byte, []int) { 363 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{0} 364} 365 366func (x *TranslateTextGlossaryConfig) GetGlossary() string { 367 if x != nil { 368 return x.Glossary 369 } 370 return "" 371} 372 373func (x *TranslateTextGlossaryConfig) GetIgnoreCase() bool { 374 if x != nil { 375 return x.IgnoreCase 376 } 377 return false 378} 379 380// The request message for synchronous translation. 381type TranslateTextRequest struct { 382 state protoimpl.MessageState 383 sizeCache protoimpl.SizeCache 384 unknownFields protoimpl.UnknownFields 385 386 // Required. The content of the input in string format. 387 // We recommend the total content be less than 30k codepoints. The max length 388 // of this field is 1024. 389 // Use BatchTranslateText for larger text. 390 Contents []string `protobuf:"bytes,1,rep,name=contents,proto3" json:"contents,omitempty"` 391 // Optional. The format of the source text, for example, "text/html", 392 // "text/plain". If left blank, the MIME type defaults to "text/html". 393 MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 394 // Optional. The BCP-47 language code of the input text if 395 // known, for example, "en-US" or "sr-Latn". Supported language codes are 396 // listed in Language Support. If the source language isn't specified, the API 397 // attempts to identify the source language automatically and returns the 398 // source language within the response. 399 SourceLanguageCode string `protobuf:"bytes,4,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 400 // Required. The BCP-47 language code to use for translation of the input 401 // text, set to one of the language codes listed in Language Support. 402 TargetLanguageCode string `protobuf:"bytes,5,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` 403 // Required. Project or location to make a call. Must refer to a caller's 404 // project. 405 // 406 // Format: `projects/{project-number-or-id}` or 407 // `projects/{project-number-or-id}/locations/{location-id}`. 408 // 409 // For global calls, use `projects/{project-number-or-id}/locations/global` or 410 // `projects/{project-number-or-id}`. 411 // 412 // Non-global location is required for requests using AutoML models or 413 // custom glossaries. 414 // 415 // Models and glossaries must be within the same region (have same 416 // location-id), otherwise an INVALID_ARGUMENT (400) error is returned. 417 Parent string `protobuf:"bytes,8,opt,name=parent,proto3" json:"parent,omitempty"` 418 // Optional. The `model` type requested for this translation. 419 // 420 // The format depends on model type: 421 // 422 // - AutoML Translation models: 423 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 424 // 425 // - General (built-in) models: 426 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 427 // `projects/{project-number-or-id}/locations/{location-id}/models/general/base` 428 // 429 // 430 // For global (non-regionalized) requests, use `location-id` `global`. 431 // For example, 432 // `projects/{project-number-or-id}/locations/global/models/general/nmt`. 433 // 434 // If missing, the system decides which google base model to use. 435 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"` 436 // Optional. Glossary to be applied. The glossary must be 437 // within the same region (have the same location-id) as the model, otherwise 438 // an INVALID_ARGUMENT (400) error is returned. 439 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 440 // Optional. The labels with user-defined metadata for the request. 441 // 442 // Label keys and values can be no longer than 63 characters 443 // (Unicode codepoints), can only contain lowercase letters, numeric 444 // characters, underscores and dashes. International characters are allowed. 445 // Label values are optional. Label keys must start with a letter. 446 // 447 // See https://cloud.google.com/translate/docs/labels for more information. 448 Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 449} 450 451func (x *TranslateTextRequest) Reset() { 452 *x = TranslateTextRequest{} 453 if protoimpl.UnsafeEnabled { 454 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1] 455 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 456 ms.StoreMessageInfo(mi) 457 } 458} 459 460func (x *TranslateTextRequest) String() string { 461 return protoimpl.X.MessageStringOf(x) 462} 463 464func (*TranslateTextRequest) ProtoMessage() {} 465 466func (x *TranslateTextRequest) ProtoReflect() protoreflect.Message { 467 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1] 468 if protoimpl.UnsafeEnabled && x != nil { 469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 470 if ms.LoadMessageInfo() == nil { 471 ms.StoreMessageInfo(mi) 472 } 473 return ms 474 } 475 return mi.MessageOf(x) 476} 477 478// Deprecated: Use TranslateTextRequest.ProtoReflect.Descriptor instead. 479func (*TranslateTextRequest) Descriptor() ([]byte, []int) { 480 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{1} 481} 482 483func (x *TranslateTextRequest) GetContents() []string { 484 if x != nil { 485 return x.Contents 486 } 487 return nil 488} 489 490func (x *TranslateTextRequest) GetMimeType() string { 491 if x != nil { 492 return x.MimeType 493 } 494 return "" 495} 496 497func (x *TranslateTextRequest) GetSourceLanguageCode() string { 498 if x != nil { 499 return x.SourceLanguageCode 500 } 501 return "" 502} 503 504func (x *TranslateTextRequest) GetTargetLanguageCode() string { 505 if x != nil { 506 return x.TargetLanguageCode 507 } 508 return "" 509} 510 511func (x *TranslateTextRequest) GetParent() string { 512 if x != nil { 513 return x.Parent 514 } 515 return "" 516} 517 518func (x *TranslateTextRequest) GetModel() string { 519 if x != nil { 520 return x.Model 521 } 522 return "" 523} 524 525func (x *TranslateTextRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig { 526 if x != nil { 527 return x.GlossaryConfig 528 } 529 return nil 530} 531 532func (x *TranslateTextRequest) GetLabels() map[string]string { 533 if x != nil { 534 return x.Labels 535 } 536 return nil 537} 538 539type TranslateTextResponse struct { 540 state protoimpl.MessageState 541 sizeCache protoimpl.SizeCache 542 unknownFields protoimpl.UnknownFields 543 544 // Text translation responses with no glossary applied. 545 // This field has the same length as 546 // [`contents`][google.cloud.translation.v3beta1.TranslateTextRequest.contents]. 547 Translations []*Translation `protobuf:"bytes,1,rep,name=translations,proto3" json:"translations,omitempty"` 548 // Text translation responses if a glossary is provided in the request. 549 // This can be the same as 550 // [`translations`][google.cloud.translation.v3beta1.TranslateTextResponse.translations] 551 // if no terms apply. This field has the same length as 552 // [`contents`][google.cloud.translation.v3beta1.TranslateTextRequest.contents]. 553 GlossaryTranslations []*Translation `protobuf:"bytes,3,rep,name=glossary_translations,json=glossaryTranslations,proto3" json:"glossary_translations,omitempty"` 554} 555 556func (x *TranslateTextResponse) Reset() { 557 *x = TranslateTextResponse{} 558 if protoimpl.UnsafeEnabled { 559 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2] 560 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 561 ms.StoreMessageInfo(mi) 562 } 563} 564 565func (x *TranslateTextResponse) String() string { 566 return protoimpl.X.MessageStringOf(x) 567} 568 569func (*TranslateTextResponse) ProtoMessage() {} 570 571func (x *TranslateTextResponse) ProtoReflect() protoreflect.Message { 572 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2] 573 if protoimpl.UnsafeEnabled && x != nil { 574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 575 if ms.LoadMessageInfo() == nil { 576 ms.StoreMessageInfo(mi) 577 } 578 return ms 579 } 580 return mi.MessageOf(x) 581} 582 583// Deprecated: Use TranslateTextResponse.ProtoReflect.Descriptor instead. 584func (*TranslateTextResponse) Descriptor() ([]byte, []int) { 585 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{2} 586} 587 588func (x *TranslateTextResponse) GetTranslations() []*Translation { 589 if x != nil { 590 return x.Translations 591 } 592 return nil 593} 594 595func (x *TranslateTextResponse) GetGlossaryTranslations() []*Translation { 596 if x != nil { 597 return x.GlossaryTranslations 598 } 599 return nil 600} 601 602// A single translation response. 603type Translation struct { 604 state protoimpl.MessageState 605 sizeCache protoimpl.SizeCache 606 unknownFields protoimpl.UnknownFields 607 608 // Text translated into the target language. 609 TranslatedText string `protobuf:"bytes,1,opt,name=translated_text,json=translatedText,proto3" json:"translated_text,omitempty"` 610 // Only present when `model` is present in the request. 611 // `model` here is normalized to have project number. 612 // 613 // For example: 614 // If the `model` requested in TranslationTextRequest is 615 // `projects/{project-id}/locations/{location-id}/models/general/nmt` then 616 // `model` here would be normalized to 617 // `projects/{project-number}/locations/{location-id}/models/general/nmt`. 618 Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` 619 // The BCP-47 language code of source text in the initial request, detected 620 // automatically, if no source language was passed within the initial 621 // request. If the source language was passed, auto-detection of the language 622 // does not occur and this field is empty. 623 DetectedLanguageCode string `protobuf:"bytes,4,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"` 624 // The `glossary_config` used for this translation. 625 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,3,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 626} 627 628func (x *Translation) Reset() { 629 *x = Translation{} 630 if protoimpl.UnsafeEnabled { 631 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3] 632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 633 ms.StoreMessageInfo(mi) 634 } 635} 636 637func (x *Translation) String() string { 638 return protoimpl.X.MessageStringOf(x) 639} 640 641func (*Translation) ProtoMessage() {} 642 643func (x *Translation) ProtoReflect() protoreflect.Message { 644 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3] 645 if protoimpl.UnsafeEnabled && x != nil { 646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 647 if ms.LoadMessageInfo() == nil { 648 ms.StoreMessageInfo(mi) 649 } 650 return ms 651 } 652 return mi.MessageOf(x) 653} 654 655// Deprecated: Use Translation.ProtoReflect.Descriptor instead. 656func (*Translation) Descriptor() ([]byte, []int) { 657 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{3} 658} 659 660func (x *Translation) GetTranslatedText() string { 661 if x != nil { 662 return x.TranslatedText 663 } 664 return "" 665} 666 667func (x *Translation) GetModel() string { 668 if x != nil { 669 return x.Model 670 } 671 return "" 672} 673 674func (x *Translation) GetDetectedLanguageCode() string { 675 if x != nil { 676 return x.DetectedLanguageCode 677 } 678 return "" 679} 680 681func (x *Translation) GetGlossaryConfig() *TranslateTextGlossaryConfig { 682 if x != nil { 683 return x.GlossaryConfig 684 } 685 return nil 686} 687 688// The request message for language detection. 689type DetectLanguageRequest struct { 690 state protoimpl.MessageState 691 sizeCache protoimpl.SizeCache 692 unknownFields protoimpl.UnknownFields 693 694 // Required. Project or location to make a call. Must refer to a caller's 695 // project. 696 // 697 // Format: `projects/{project-number-or-id}/locations/{location-id}` or 698 // `projects/{project-number-or-id}`. 699 // 700 // For global calls, use `projects/{project-number-or-id}/locations/global` or 701 // `projects/{project-number-or-id}`. 702 // 703 // Only models within the same region, which have the same location-id, can be used. 704 // Otherwise an INVALID_ARGUMENT (400) error is returned. 705 Parent string `protobuf:"bytes,5,opt,name=parent,proto3" json:"parent,omitempty"` 706 // Optional. The language detection model to be used. 707 // 708 // Format: 709 // `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/{model-id}` 710 // 711 // Only one language detection model is currently supported: 712 // `projects/{project-number-or-id}/locations/{location-id}/models/language-detection/default`. 713 // 714 // If not specified, the default model is used. 715 Model string `protobuf:"bytes,4,opt,name=model,proto3" json:"model,omitempty"` 716 // Required. The source of the document from which to detect the language. 717 // 718 // Types that are assignable to Source: 719 // *DetectLanguageRequest_Content 720 Source isDetectLanguageRequest_Source `protobuf_oneof:"source"` 721 // Optional. The format of the source text, for example, "text/html", 722 // "text/plain". If left blank, the MIME type defaults to "text/html". 723 MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 724 // Optional. The labels with user-defined metadata for the request. 725 // 726 // Label keys and values can be no longer than 63 characters 727 // (Unicode codepoints), can only contain lowercase letters, numeric 728 // characters, underscores and dashes. International characters are allowed. 729 // Label values are optional. Label keys must start with a letter. 730 // 731 // See https://cloud.google.com/translate/docs/labels for more information. 732 Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 733} 734 735func (x *DetectLanguageRequest) Reset() { 736 *x = DetectLanguageRequest{} 737 if protoimpl.UnsafeEnabled { 738 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4] 739 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 740 ms.StoreMessageInfo(mi) 741 } 742} 743 744func (x *DetectLanguageRequest) String() string { 745 return protoimpl.X.MessageStringOf(x) 746} 747 748func (*DetectLanguageRequest) ProtoMessage() {} 749 750func (x *DetectLanguageRequest) ProtoReflect() protoreflect.Message { 751 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4] 752 if protoimpl.UnsafeEnabled && x != nil { 753 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 754 if ms.LoadMessageInfo() == nil { 755 ms.StoreMessageInfo(mi) 756 } 757 return ms 758 } 759 return mi.MessageOf(x) 760} 761 762// Deprecated: Use DetectLanguageRequest.ProtoReflect.Descriptor instead. 763func (*DetectLanguageRequest) Descriptor() ([]byte, []int) { 764 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{4} 765} 766 767func (x *DetectLanguageRequest) GetParent() string { 768 if x != nil { 769 return x.Parent 770 } 771 return "" 772} 773 774func (x *DetectLanguageRequest) GetModel() string { 775 if x != nil { 776 return x.Model 777 } 778 return "" 779} 780 781func (m *DetectLanguageRequest) GetSource() isDetectLanguageRequest_Source { 782 if m != nil { 783 return m.Source 784 } 785 return nil 786} 787 788func (x *DetectLanguageRequest) GetContent() string { 789 if x, ok := x.GetSource().(*DetectLanguageRequest_Content); ok { 790 return x.Content 791 } 792 return "" 793} 794 795func (x *DetectLanguageRequest) GetMimeType() string { 796 if x != nil { 797 return x.MimeType 798 } 799 return "" 800} 801 802func (x *DetectLanguageRequest) GetLabels() map[string]string { 803 if x != nil { 804 return x.Labels 805 } 806 return nil 807} 808 809type isDetectLanguageRequest_Source interface { 810 isDetectLanguageRequest_Source() 811} 812 813type DetectLanguageRequest_Content struct { 814 // The content of the input stored as a string. 815 Content string `protobuf:"bytes,1,opt,name=content,proto3,oneof"` 816} 817 818func (*DetectLanguageRequest_Content) isDetectLanguageRequest_Source() {} 819 820// The response message for language detection. 821type DetectedLanguage struct { 822 state protoimpl.MessageState 823 sizeCache protoimpl.SizeCache 824 unknownFields protoimpl.UnknownFields 825 826 // The BCP-47 language code of source content in the request, detected 827 // automatically. 828 LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 829 // The confidence of the detection result for this language. 830 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 831} 832 833func (x *DetectedLanguage) Reset() { 834 *x = DetectedLanguage{} 835 if protoimpl.UnsafeEnabled { 836 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5] 837 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 838 ms.StoreMessageInfo(mi) 839 } 840} 841 842func (x *DetectedLanguage) String() string { 843 return protoimpl.X.MessageStringOf(x) 844} 845 846func (*DetectedLanguage) ProtoMessage() {} 847 848func (x *DetectedLanguage) ProtoReflect() protoreflect.Message { 849 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5] 850 if protoimpl.UnsafeEnabled && x != nil { 851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 852 if ms.LoadMessageInfo() == nil { 853 ms.StoreMessageInfo(mi) 854 } 855 return ms 856 } 857 return mi.MessageOf(x) 858} 859 860// Deprecated: Use DetectedLanguage.ProtoReflect.Descriptor instead. 861func (*DetectedLanguage) Descriptor() ([]byte, []int) { 862 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{5} 863} 864 865func (x *DetectedLanguage) GetLanguageCode() string { 866 if x != nil { 867 return x.LanguageCode 868 } 869 return "" 870} 871 872func (x *DetectedLanguage) GetConfidence() float32 { 873 if x != nil { 874 return x.Confidence 875 } 876 return 0 877} 878 879// The response message for language detection. 880type DetectLanguageResponse struct { 881 state protoimpl.MessageState 882 sizeCache protoimpl.SizeCache 883 unknownFields protoimpl.UnknownFields 884 885 // A list of detected languages sorted by detection confidence in descending 886 // order. The most probable language first. 887 Languages []*DetectedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"` 888} 889 890func (x *DetectLanguageResponse) Reset() { 891 *x = DetectLanguageResponse{} 892 if protoimpl.UnsafeEnabled { 893 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6] 894 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 895 ms.StoreMessageInfo(mi) 896 } 897} 898 899func (x *DetectLanguageResponse) String() string { 900 return protoimpl.X.MessageStringOf(x) 901} 902 903func (*DetectLanguageResponse) ProtoMessage() {} 904 905func (x *DetectLanguageResponse) ProtoReflect() protoreflect.Message { 906 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6] 907 if protoimpl.UnsafeEnabled && x != nil { 908 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 909 if ms.LoadMessageInfo() == nil { 910 ms.StoreMessageInfo(mi) 911 } 912 return ms 913 } 914 return mi.MessageOf(x) 915} 916 917// Deprecated: Use DetectLanguageResponse.ProtoReflect.Descriptor instead. 918func (*DetectLanguageResponse) Descriptor() ([]byte, []int) { 919 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{6} 920} 921 922func (x *DetectLanguageResponse) GetLanguages() []*DetectedLanguage { 923 if x != nil { 924 return x.Languages 925 } 926 return nil 927} 928 929// The request message for discovering supported languages. 930type GetSupportedLanguagesRequest struct { 931 state protoimpl.MessageState 932 sizeCache protoimpl.SizeCache 933 unknownFields protoimpl.UnknownFields 934 935 // Required. Project or location to make a call. Must refer to a caller's 936 // project. 937 // 938 // Format: `projects/{project-number-or-id}` or 939 // `projects/{project-number-or-id}/locations/{location-id}`. 940 // 941 // For global calls, use `projects/{project-number-or-id}/locations/global` or 942 // `projects/{project-number-or-id}`. 943 // 944 // Non-global location is required for AutoML models. 945 // 946 // Only models within the same region (have same location-id) can be used, 947 // otherwise an INVALID_ARGUMENT (400) error is returned. 948 Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"` 949 // Optional. The language to use to return localized, human readable names 950 // of supported languages. If missing, then display names are not returned 951 // in a response. 952 DisplayLanguageCode string `protobuf:"bytes,1,opt,name=display_language_code,json=displayLanguageCode,proto3" json:"display_language_code,omitempty"` 953 // Optional. Get supported languages of this model. 954 // 955 // The format depends on model type: 956 // 957 // - AutoML Translation models: 958 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 959 // 960 // - General (built-in) models: 961 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 962 // `projects/{project-number-or-id}/locations/{location-id}/models/general/base` 963 // 964 // 965 // Returns languages supported by the specified model. 966 // If missing, we get supported languages of Google general base (PBMT) model. 967 Model string `protobuf:"bytes,2,opt,name=model,proto3" json:"model,omitempty"` 968} 969 970func (x *GetSupportedLanguagesRequest) Reset() { 971 *x = GetSupportedLanguagesRequest{} 972 if protoimpl.UnsafeEnabled { 973 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7] 974 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 975 ms.StoreMessageInfo(mi) 976 } 977} 978 979func (x *GetSupportedLanguagesRequest) String() string { 980 return protoimpl.X.MessageStringOf(x) 981} 982 983func (*GetSupportedLanguagesRequest) ProtoMessage() {} 984 985func (x *GetSupportedLanguagesRequest) ProtoReflect() protoreflect.Message { 986 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7] 987 if protoimpl.UnsafeEnabled && x != nil { 988 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 989 if ms.LoadMessageInfo() == nil { 990 ms.StoreMessageInfo(mi) 991 } 992 return ms 993 } 994 return mi.MessageOf(x) 995} 996 997// Deprecated: Use GetSupportedLanguagesRequest.ProtoReflect.Descriptor instead. 998func (*GetSupportedLanguagesRequest) Descriptor() ([]byte, []int) { 999 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{7} 1000} 1001 1002func (x *GetSupportedLanguagesRequest) GetParent() string { 1003 if x != nil { 1004 return x.Parent 1005 } 1006 return "" 1007} 1008 1009func (x *GetSupportedLanguagesRequest) GetDisplayLanguageCode() string { 1010 if x != nil { 1011 return x.DisplayLanguageCode 1012 } 1013 return "" 1014} 1015 1016func (x *GetSupportedLanguagesRequest) GetModel() string { 1017 if x != nil { 1018 return x.Model 1019 } 1020 return "" 1021} 1022 1023// The response message for discovering supported languages. 1024type SupportedLanguages struct { 1025 state protoimpl.MessageState 1026 sizeCache protoimpl.SizeCache 1027 unknownFields protoimpl.UnknownFields 1028 1029 // A list of supported language responses. This list contains an entry 1030 // for each language the Translation API supports. 1031 Languages []*SupportedLanguage `protobuf:"bytes,1,rep,name=languages,proto3" json:"languages,omitempty"` 1032} 1033 1034func (x *SupportedLanguages) Reset() { 1035 *x = SupportedLanguages{} 1036 if protoimpl.UnsafeEnabled { 1037 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8] 1038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1039 ms.StoreMessageInfo(mi) 1040 } 1041} 1042 1043func (x *SupportedLanguages) String() string { 1044 return protoimpl.X.MessageStringOf(x) 1045} 1046 1047func (*SupportedLanguages) ProtoMessage() {} 1048 1049func (x *SupportedLanguages) ProtoReflect() protoreflect.Message { 1050 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8] 1051 if protoimpl.UnsafeEnabled && x != nil { 1052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1053 if ms.LoadMessageInfo() == nil { 1054 ms.StoreMessageInfo(mi) 1055 } 1056 return ms 1057 } 1058 return mi.MessageOf(x) 1059} 1060 1061// Deprecated: Use SupportedLanguages.ProtoReflect.Descriptor instead. 1062func (*SupportedLanguages) Descriptor() ([]byte, []int) { 1063 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{8} 1064} 1065 1066func (x *SupportedLanguages) GetLanguages() []*SupportedLanguage { 1067 if x != nil { 1068 return x.Languages 1069 } 1070 return nil 1071} 1072 1073// A single supported language response corresponds to information related 1074// to one supported language. 1075type SupportedLanguage struct { 1076 state protoimpl.MessageState 1077 sizeCache protoimpl.SizeCache 1078 unknownFields protoimpl.UnknownFields 1079 1080 // Supported language code, generally consisting of its ISO 639-1 1081 // identifier, for example, 'en', 'ja'. In certain cases, BCP-47 codes 1082 // including language and region identifiers are returned (for example, 1083 // 'zh-TW' and 'zh-CN') 1084 LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1085 // Human readable name of the language localized in the display language 1086 // specified in the request. 1087 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 1088 // Can be used as source language. 1089 SupportSource bool `protobuf:"varint,3,opt,name=support_source,json=supportSource,proto3" json:"support_source,omitempty"` 1090 // Can be used as target language. 1091 SupportTarget bool `protobuf:"varint,4,opt,name=support_target,json=supportTarget,proto3" json:"support_target,omitempty"` 1092} 1093 1094func (x *SupportedLanguage) Reset() { 1095 *x = SupportedLanguage{} 1096 if protoimpl.UnsafeEnabled { 1097 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9] 1098 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1099 ms.StoreMessageInfo(mi) 1100 } 1101} 1102 1103func (x *SupportedLanguage) String() string { 1104 return protoimpl.X.MessageStringOf(x) 1105} 1106 1107func (*SupportedLanguage) ProtoMessage() {} 1108 1109func (x *SupportedLanguage) ProtoReflect() protoreflect.Message { 1110 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9] 1111 if protoimpl.UnsafeEnabled && 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 SupportedLanguage.ProtoReflect.Descriptor instead. 1122func (*SupportedLanguage) Descriptor() ([]byte, []int) { 1123 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{9} 1124} 1125 1126func (x *SupportedLanguage) GetLanguageCode() string { 1127 if x != nil { 1128 return x.LanguageCode 1129 } 1130 return "" 1131} 1132 1133func (x *SupportedLanguage) GetDisplayName() string { 1134 if x != nil { 1135 return x.DisplayName 1136 } 1137 return "" 1138} 1139 1140func (x *SupportedLanguage) GetSupportSource() bool { 1141 if x != nil { 1142 return x.SupportSource 1143 } 1144 return false 1145} 1146 1147func (x *SupportedLanguage) GetSupportTarget() bool { 1148 if x != nil { 1149 return x.SupportTarget 1150 } 1151 return false 1152} 1153 1154// The Google Cloud Storage location for the input content. 1155type GcsSource struct { 1156 state protoimpl.MessageState 1157 sizeCache protoimpl.SizeCache 1158 unknownFields protoimpl.UnknownFields 1159 1160 // Required. Source data URI. For example, `gs://my_bucket/my_object`. 1161 InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"` 1162} 1163 1164func (x *GcsSource) Reset() { 1165 *x = GcsSource{} 1166 if protoimpl.UnsafeEnabled { 1167 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10] 1168 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1169 ms.StoreMessageInfo(mi) 1170 } 1171} 1172 1173func (x *GcsSource) String() string { 1174 return protoimpl.X.MessageStringOf(x) 1175} 1176 1177func (*GcsSource) ProtoMessage() {} 1178 1179func (x *GcsSource) ProtoReflect() protoreflect.Message { 1180 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10] 1181 if protoimpl.UnsafeEnabled && x != nil { 1182 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1183 if ms.LoadMessageInfo() == nil { 1184 ms.StoreMessageInfo(mi) 1185 } 1186 return ms 1187 } 1188 return mi.MessageOf(x) 1189} 1190 1191// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead. 1192func (*GcsSource) Descriptor() ([]byte, []int) { 1193 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{10} 1194} 1195 1196func (x *GcsSource) GetInputUri() string { 1197 if x != nil { 1198 return x.InputUri 1199 } 1200 return "" 1201} 1202 1203// Input configuration for BatchTranslateText request. 1204type InputConfig struct { 1205 state protoimpl.MessageState 1206 sizeCache protoimpl.SizeCache 1207 unknownFields protoimpl.UnknownFields 1208 1209 // Optional. Can be "text/plain" or "text/html". 1210 // For `.tsv`, "text/html" is used if mime_type is missing. 1211 // For `.html`, this field must be "text/html" or empty. 1212 // For `.txt`, this field must be "text/plain" or empty. 1213 MimeType string `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1214 // Required. Specify the input. 1215 // 1216 // Types that are assignable to Source: 1217 // *InputConfig_GcsSource 1218 Source isInputConfig_Source `protobuf_oneof:"source"` 1219} 1220 1221func (x *InputConfig) Reset() { 1222 *x = InputConfig{} 1223 if protoimpl.UnsafeEnabled { 1224 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11] 1225 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1226 ms.StoreMessageInfo(mi) 1227 } 1228} 1229 1230func (x *InputConfig) String() string { 1231 return protoimpl.X.MessageStringOf(x) 1232} 1233 1234func (*InputConfig) ProtoMessage() {} 1235 1236func (x *InputConfig) ProtoReflect() protoreflect.Message { 1237 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11] 1238 if protoimpl.UnsafeEnabled && x != nil { 1239 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1240 if ms.LoadMessageInfo() == nil { 1241 ms.StoreMessageInfo(mi) 1242 } 1243 return ms 1244 } 1245 return mi.MessageOf(x) 1246} 1247 1248// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead. 1249func (*InputConfig) Descriptor() ([]byte, []int) { 1250 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{11} 1251} 1252 1253func (x *InputConfig) GetMimeType() string { 1254 if x != nil { 1255 return x.MimeType 1256 } 1257 return "" 1258} 1259 1260func (m *InputConfig) GetSource() isInputConfig_Source { 1261 if m != nil { 1262 return m.Source 1263 } 1264 return nil 1265} 1266 1267func (x *InputConfig) GetGcsSource() *GcsSource { 1268 if x, ok := x.GetSource().(*InputConfig_GcsSource); ok { 1269 return x.GcsSource 1270 } 1271 return nil 1272} 1273 1274type isInputConfig_Source interface { 1275 isInputConfig_Source() 1276} 1277 1278type InputConfig_GcsSource struct { 1279 // Required. Google Cloud Storage location for the source input. 1280 // This can be a single file (for example, 1281 // `gs://translation-test/input.tsv`) or a wildcard (for example, 1282 // `gs://translation-test/*`). If a file extension is `.tsv`, it can 1283 // contain either one or two columns. The first column (optional) is the id 1284 // of the text request. If the first column is missing, we use the row 1285 // number (0-based) from the input file as the ID in the output file. The 1286 // second column is the actual text to be 1287 // translated. We recommend each row be <= 10K Unicode codepoints, 1288 // otherwise an error might be returned. 1289 // Note that the input tsv must be RFC 4180 compliant. 1290 // 1291 // You could use https://github.com/Clever/csvlint to check potential 1292 // formatting errors in your tsv file. 1293 // csvlint --delimiter='\t' your_input_file.tsv 1294 // 1295 // The other supported file extensions are `.txt` or `.html`, which is 1296 // treated as a single large chunk of text. 1297 GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 1298} 1299 1300func (*InputConfig_GcsSource) isInputConfig_Source() {} 1301 1302// The Google Cloud Storage location for the output content. 1303type GcsDestination struct { 1304 state protoimpl.MessageState 1305 sizeCache protoimpl.SizeCache 1306 unknownFields protoimpl.UnknownFields 1307 1308 // Required. There must be no files under 'output_uri_prefix'. 1309 // 'output_uri_prefix' must end with "/" and start with "gs://", otherwise an 1310 // INVALID_ARGUMENT (400) error is returned. 1311 OutputUriPrefix string `protobuf:"bytes,1,opt,name=output_uri_prefix,json=outputUriPrefix,proto3" json:"output_uri_prefix,omitempty"` 1312} 1313 1314func (x *GcsDestination) Reset() { 1315 *x = GcsDestination{} 1316 if protoimpl.UnsafeEnabled { 1317 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12] 1318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1319 ms.StoreMessageInfo(mi) 1320 } 1321} 1322 1323func (x *GcsDestination) String() string { 1324 return protoimpl.X.MessageStringOf(x) 1325} 1326 1327func (*GcsDestination) ProtoMessage() {} 1328 1329func (x *GcsDestination) ProtoReflect() protoreflect.Message { 1330 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12] 1331 if protoimpl.UnsafeEnabled && x != nil { 1332 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1333 if ms.LoadMessageInfo() == nil { 1334 ms.StoreMessageInfo(mi) 1335 } 1336 return ms 1337 } 1338 return mi.MessageOf(x) 1339} 1340 1341// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead. 1342func (*GcsDestination) Descriptor() ([]byte, []int) { 1343 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{12} 1344} 1345 1346func (x *GcsDestination) GetOutputUriPrefix() string { 1347 if x != nil { 1348 return x.OutputUriPrefix 1349 } 1350 return "" 1351} 1352 1353// Output configuration for BatchTranslateText request. 1354type OutputConfig struct { 1355 state protoimpl.MessageState 1356 sizeCache protoimpl.SizeCache 1357 unknownFields protoimpl.UnknownFields 1358 1359 // Required. The destination of output. 1360 // 1361 // Types that are assignable to Destination: 1362 // *OutputConfig_GcsDestination 1363 Destination isOutputConfig_Destination `protobuf_oneof:"destination"` 1364} 1365 1366func (x *OutputConfig) Reset() { 1367 *x = OutputConfig{} 1368 if protoimpl.UnsafeEnabled { 1369 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13] 1370 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1371 ms.StoreMessageInfo(mi) 1372 } 1373} 1374 1375func (x *OutputConfig) String() string { 1376 return protoimpl.X.MessageStringOf(x) 1377} 1378 1379func (*OutputConfig) ProtoMessage() {} 1380 1381func (x *OutputConfig) ProtoReflect() protoreflect.Message { 1382 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13] 1383 if protoimpl.UnsafeEnabled && x != nil { 1384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1385 if ms.LoadMessageInfo() == nil { 1386 ms.StoreMessageInfo(mi) 1387 } 1388 return ms 1389 } 1390 return mi.MessageOf(x) 1391} 1392 1393// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead. 1394func (*OutputConfig) Descriptor() ([]byte, []int) { 1395 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{13} 1396} 1397 1398func (m *OutputConfig) GetDestination() isOutputConfig_Destination { 1399 if m != nil { 1400 return m.Destination 1401 } 1402 return nil 1403} 1404 1405func (x *OutputConfig) GetGcsDestination() *GcsDestination { 1406 if x, ok := x.GetDestination().(*OutputConfig_GcsDestination); ok { 1407 return x.GcsDestination 1408 } 1409 return nil 1410} 1411 1412type isOutputConfig_Destination interface { 1413 isOutputConfig_Destination() 1414} 1415 1416type OutputConfig_GcsDestination struct { 1417 // Google Cloud Storage destination for output content. 1418 // For every single input file (for example, gs://a/b/c.[extension]), we 1419 // generate at most 2 * n output files. (n is the # of target_language_codes 1420 // in the BatchTranslateTextRequest). 1421 // 1422 // Output files (tsv) generated are compliant with RFC 4180 except that 1423 // record delimiters are '\n' instead of '\r\n'. We don't provide any way to 1424 // change record delimiters. 1425 // 1426 // While the input files are being processed, we write/update an index file 1427 // 'index.csv' under 'output_uri_prefix' (for example, 1428 // gs://translation-test/index.csv) The index file is generated/updated as 1429 // new files are being translated. The format is: 1430 // 1431 // input_file,target_language_code,translations_file,errors_file, 1432 // glossary_translations_file,glossary_errors_file 1433 // 1434 // input_file is one file we matched using gcs_source.input_uri. 1435 // target_language_code is provided in the request. 1436 // translations_file contains the translations. (details provided below) 1437 // errors_file contains the errors during processing of the file. (details 1438 // below). Both translations_file and errors_file could be empty 1439 // strings if we have no content to output. 1440 // glossary_translations_file and glossary_errors_file are always empty 1441 // strings if the input_file is tsv. They could also be empty if we have no 1442 // content to output. 1443 // 1444 // Once a row is present in index.csv, the input/output matching never 1445 // changes. Callers should also expect the contents in the input_file are 1446 // processed and ready to be consumed (that is, no partial output file is 1447 // written). 1448 // 1449 // Since index.csv will be updated during the process, please make 1450 // sure there is no custom retention policy applied on the output bucket 1451 // that may prevent file updating. 1452 // (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy) 1453 // 1454 // The format of translations_file (for target language code 'trg') is: 1455 // gs://translation_test/a_b_c_'trg'_translations.[extension] 1456 // 1457 // If the input file extension is tsv, the output has the following 1458 // columns: 1459 // Column 1: ID of the request provided in the input, if it's not 1460 // provided in the input, then the input row number is used (0-based). 1461 // Column 2: source sentence. 1462 // Column 3: translation without applying a glossary. Empty string if there 1463 // is an error. 1464 // Column 4 (only present if a glossary is provided in the request): 1465 // translation after applying the glossary. Empty string if there is an 1466 // error applying the glossary. Could be same string as column 3 if there is 1467 // no glossary applied. 1468 // 1469 // If input file extension is a txt or html, the translation is directly 1470 // written to the output file. If glossary is requested, a separate 1471 // glossary_translations_file has format of 1472 // gs://translation_test/a_b_c_'trg'_glossary_translations.[extension] 1473 // 1474 // The format of errors file (for target language code 'trg') is: 1475 // gs://translation_test/a_b_c_'trg'_errors.[extension] 1476 // 1477 // If the input file extension is tsv, errors_file contains the following: 1478 // Column 1: ID of the request provided in the input, if it's not 1479 // provided in the input, then the input row number is used (0-based). 1480 // Column 2: source sentence. 1481 // Column 3: Error detail for the translation. Could be empty. 1482 // Column 4 (only present if a glossary is provided in the request): 1483 // Error when applying the glossary. 1484 // 1485 // If the input file extension is txt or html, glossary_error_file will be 1486 // generated that contains error details. glossary_error_file has format of 1487 // gs://translation_test/a_b_c_'trg'_glossary_errors.[extension] 1488 GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 1489} 1490 1491func (*OutputConfig_GcsDestination) isOutputConfig_Destination() {} 1492 1493// A document translation request input config. 1494type DocumentInputConfig struct { 1495 state protoimpl.MessageState 1496 sizeCache protoimpl.SizeCache 1497 unknownFields protoimpl.UnknownFields 1498 1499 // Specifies the source for the document's content. 1500 // The input file size should be <= 20MB for 1501 // - application/vnd.openxmlformats-officedocument.wordprocessingml.document 1502 // - application/vnd.openxmlformats-officedocument.presentationml.presentation 1503 // - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 1504 // The input file size should be <= 20MB and the maximum page limit is 20 for 1505 // - application/pdf 1506 // 1507 // Types that are assignable to Source: 1508 // *DocumentInputConfig_Content 1509 // *DocumentInputConfig_GcsSource 1510 Source isDocumentInputConfig_Source `protobuf_oneof:"source"` 1511 // Specifies the input document's mime_type. 1512 // 1513 // If not specified it will be determined using the file extension for 1514 // gcs_source provided files. For a file provided through bytes content the 1515 // mime_type must be provided. 1516 // Currently supported mime types are: 1517 // - application/pdf 1518 // - application/vnd.openxmlformats-officedocument.wordprocessingml.document 1519 // - application/vnd.openxmlformats-officedocument.presentationml.presentation 1520 // - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 1521 MimeType string `protobuf:"bytes,4,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1522} 1523 1524func (x *DocumentInputConfig) Reset() { 1525 *x = DocumentInputConfig{} 1526 if protoimpl.UnsafeEnabled { 1527 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14] 1528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1529 ms.StoreMessageInfo(mi) 1530 } 1531} 1532 1533func (x *DocumentInputConfig) String() string { 1534 return protoimpl.X.MessageStringOf(x) 1535} 1536 1537func (*DocumentInputConfig) ProtoMessage() {} 1538 1539func (x *DocumentInputConfig) ProtoReflect() protoreflect.Message { 1540 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14] 1541 if protoimpl.UnsafeEnabled && x != nil { 1542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1543 if ms.LoadMessageInfo() == nil { 1544 ms.StoreMessageInfo(mi) 1545 } 1546 return ms 1547 } 1548 return mi.MessageOf(x) 1549} 1550 1551// Deprecated: Use DocumentInputConfig.ProtoReflect.Descriptor instead. 1552func (*DocumentInputConfig) Descriptor() ([]byte, []int) { 1553 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{14} 1554} 1555 1556func (m *DocumentInputConfig) GetSource() isDocumentInputConfig_Source { 1557 if m != nil { 1558 return m.Source 1559 } 1560 return nil 1561} 1562 1563func (x *DocumentInputConfig) GetContent() []byte { 1564 if x, ok := x.GetSource().(*DocumentInputConfig_Content); ok { 1565 return x.Content 1566 } 1567 return nil 1568} 1569 1570func (x *DocumentInputConfig) GetGcsSource() *GcsSource { 1571 if x, ok := x.GetSource().(*DocumentInputConfig_GcsSource); ok { 1572 return x.GcsSource 1573 } 1574 return nil 1575} 1576 1577func (x *DocumentInputConfig) GetMimeType() string { 1578 if x != nil { 1579 return x.MimeType 1580 } 1581 return "" 1582} 1583 1584type isDocumentInputConfig_Source interface { 1585 isDocumentInputConfig_Source() 1586} 1587 1588type DocumentInputConfig_Content struct { 1589 // Document's content represented as a stream of bytes. 1590 Content []byte `protobuf:"bytes,1,opt,name=content,proto3,oneof"` 1591} 1592 1593type DocumentInputConfig_GcsSource struct { 1594 // Google Cloud Storage location. This must be a single file. 1595 // For example: gs://example_bucket/example_file.pdf 1596 GcsSource *GcsSource `protobuf:"bytes,2,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 1597} 1598 1599func (*DocumentInputConfig_Content) isDocumentInputConfig_Source() {} 1600 1601func (*DocumentInputConfig_GcsSource) isDocumentInputConfig_Source() {} 1602 1603// A document translation request output config. 1604type DocumentOutputConfig struct { 1605 state protoimpl.MessageState 1606 sizeCache protoimpl.SizeCache 1607 unknownFields protoimpl.UnknownFields 1608 1609 // A URI destination for the translated document. 1610 // It is optional to provide a destination. If provided the results from 1611 // TranslateDocument will be stored in the destination. 1612 // Whether a destination is provided or not, the translated documents will be 1613 // returned within TranslateDocumentResponse.document_translation and 1614 // TranslateDocumentResponse.glossary_document_translation. 1615 // 1616 // Types that are assignable to Destination: 1617 // *DocumentOutputConfig_GcsDestination 1618 Destination isDocumentOutputConfig_Destination `protobuf_oneof:"destination"` 1619 // Optional. Specifies the translated document's mime_type. 1620 // If not specified, the translated file's mime type will be the same as the 1621 // input file's mime type. 1622 // Currently only support the output mime type to be the same as input mime 1623 // type. 1624 // - application/pdf 1625 // - application/vnd.openxmlformats-officedocument.wordprocessingml.document 1626 // - application/vnd.openxmlformats-officedocument.presentationml.presentation 1627 // - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 1628 MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1629} 1630 1631func (x *DocumentOutputConfig) Reset() { 1632 *x = DocumentOutputConfig{} 1633 if protoimpl.UnsafeEnabled { 1634 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15] 1635 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1636 ms.StoreMessageInfo(mi) 1637 } 1638} 1639 1640func (x *DocumentOutputConfig) String() string { 1641 return protoimpl.X.MessageStringOf(x) 1642} 1643 1644func (*DocumentOutputConfig) ProtoMessage() {} 1645 1646func (x *DocumentOutputConfig) ProtoReflect() protoreflect.Message { 1647 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15] 1648 if protoimpl.UnsafeEnabled && x != nil { 1649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1650 if ms.LoadMessageInfo() == nil { 1651 ms.StoreMessageInfo(mi) 1652 } 1653 return ms 1654 } 1655 return mi.MessageOf(x) 1656} 1657 1658// Deprecated: Use DocumentOutputConfig.ProtoReflect.Descriptor instead. 1659func (*DocumentOutputConfig) Descriptor() ([]byte, []int) { 1660 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{15} 1661} 1662 1663func (m *DocumentOutputConfig) GetDestination() isDocumentOutputConfig_Destination { 1664 if m != nil { 1665 return m.Destination 1666 } 1667 return nil 1668} 1669 1670func (x *DocumentOutputConfig) GetGcsDestination() *GcsDestination { 1671 if x, ok := x.GetDestination().(*DocumentOutputConfig_GcsDestination); ok { 1672 return x.GcsDestination 1673 } 1674 return nil 1675} 1676 1677func (x *DocumentOutputConfig) GetMimeType() string { 1678 if x != nil { 1679 return x.MimeType 1680 } 1681 return "" 1682} 1683 1684type isDocumentOutputConfig_Destination interface { 1685 isDocumentOutputConfig_Destination() 1686} 1687 1688type DocumentOutputConfig_GcsDestination struct { 1689 // Optional. Google Cloud Storage destination for the translation output, 1690 // e.g., `gs://my_bucket/my_directory/`. 1691 // 1692 // The destination directory provided does not have to be empty, but the 1693 // bucket must exist. If a file with the same name as the output file 1694 // already exists in the destination an error will be returned. 1695 // 1696 // For a DocumentInputConfig.contents provided document, the output file 1697 // will have the name "output_[trg]_translations.[ext]", where 1698 // - [trg] corresponds to the translated file's language code, 1699 // - [ext] corresponds to the translated file's extension according to its 1700 // mime type. 1701 // 1702 // 1703 // For a DocumentInputConfig.gcs_uri provided document, the output file will 1704 // have a name according to its URI. For example: an input file with URI: 1705 // "gs://a/b/c.[extension]" stored in a gcs_destination bucket with name 1706 // "my_bucket" will have an output URI: 1707 // "gs://my_bucket/a_b_c_[trg]_translations.[ext]", where 1708 // - [trg] corresponds to the translated file's language code, 1709 // - [ext] corresponds to the translated file's extension according to its 1710 // mime type. 1711 // 1712 // 1713 // If the document was directly provided through the request, then the 1714 // output document will have the format: 1715 // "gs://my_bucket/translated_document_[trg]_translations.[ext], where 1716 // - [trg] corresponds to the translated file's language code, 1717 // - [ext] corresponds to the translated file's extension according to its 1718 // mime type. 1719 // 1720 // If a glossary was provided, then the output URI for the glossary 1721 // translation will be equal to the default output URI but have 1722 // `glossary_translations` instead of `translations`. For the previous 1723 // example, its glossary URI would be: 1724 // "gs://my_bucket/a_b_c_[trg]_glossary_translations.[ext]". 1725 // 1726 // Thus the max number of output files will be 2 (Translated document, 1727 // Glossary translated document). 1728 // 1729 // Callers should expect no partial outputs. If there is any error during 1730 // document translation, no output will be stored in the Cloud Storage 1731 // bucket. 1732 GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 1733} 1734 1735func (*DocumentOutputConfig_GcsDestination) isDocumentOutputConfig_Destination() {} 1736 1737// A document translation request. 1738type TranslateDocumentRequest struct { 1739 state protoimpl.MessageState 1740 sizeCache protoimpl.SizeCache 1741 unknownFields protoimpl.UnknownFields 1742 1743 // Required. Location to make a regional call. 1744 // 1745 // Format: `projects/{project-number-or-id}/locations/{location-id}`. 1746 // 1747 // For global calls, use `projects/{project-number-or-id}/locations/global` or 1748 // `projects/{project-number-or-id}`. 1749 // 1750 // Non-global location is required for requests using AutoML models or custom 1751 // glossaries. 1752 // 1753 // Models and glossaries must be within the same region (have the same 1754 // location-id), otherwise an INVALID_ARGUMENT (400) error is returned. 1755 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 1756 // Optional. The BCP-47 language code of the input document if known, for 1757 // example, "en-US" or "sr-Latn". Supported language codes are listed in 1758 // Language Support. If the source language isn't specified, the API attempts 1759 // to identify the source language automatically and returns the source 1760 // language within the response. Source language must be specified if the 1761 // request contains a glossary or a custom model. 1762 SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 1763 // Required. The BCP-47 language code to use for translation of the input 1764 // document, set to one of the language codes listed in Language Support. 1765 TargetLanguageCode string `protobuf:"bytes,3,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` 1766 // Required. Input configurations. 1767 DocumentInputConfig *DocumentInputConfig `protobuf:"bytes,4,opt,name=document_input_config,json=documentInputConfig,proto3" json:"document_input_config,omitempty"` 1768 // Optional. Output configurations. 1769 // Defines if the output file should be stored within Cloud Storage as well 1770 // as the desired output format. If not provided the translated file will 1771 // only be returned through a byte-stream and its output mime type will be 1772 // the same as the input file's mime type. 1773 DocumentOutputConfig *DocumentOutputConfig `protobuf:"bytes,5,opt,name=document_output_config,json=documentOutputConfig,proto3" json:"document_output_config,omitempty"` 1774 // Optional. The `model` type requested for this translation. 1775 // 1776 // The format depends on model type: 1777 // 1778 // - AutoML Translation models: 1779 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 1780 // 1781 // - General (built-in) models: 1782 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 1783 // `projects/{project-number-or-id}/locations/{location-id}/models/general/base` 1784 // 1785 // 1786 // If not provided, the default Google model (NMT) will be used for 1787 // translation. 1788 Model string `protobuf:"bytes,6,opt,name=model,proto3" json:"model,omitempty"` 1789 // Optional. Glossary to be applied. The glossary must be within the same 1790 // region (have the same location-id) as the model, otherwise an 1791 // INVALID_ARGUMENT (400) error is returned. 1792 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,7,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 1793 // Optional. The labels with user-defined metadata for the request. 1794 // 1795 // Label keys and values can be no longer than 63 characters (Unicode 1796 // codepoints), can only contain lowercase letters, numeric characters, 1797 // underscores and dashes. International characters are allowed. Label values 1798 // are optional. Label keys must start with a letter. 1799 // 1800 // See https://cloud.google.com/translate/docs/advanced/labels for more 1801 // information. 1802 Labels map[string]string `protobuf:"bytes,8,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1803} 1804 1805func (x *TranslateDocumentRequest) Reset() { 1806 *x = TranslateDocumentRequest{} 1807 if protoimpl.UnsafeEnabled { 1808 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16] 1809 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1810 ms.StoreMessageInfo(mi) 1811 } 1812} 1813 1814func (x *TranslateDocumentRequest) String() string { 1815 return protoimpl.X.MessageStringOf(x) 1816} 1817 1818func (*TranslateDocumentRequest) ProtoMessage() {} 1819 1820func (x *TranslateDocumentRequest) ProtoReflect() protoreflect.Message { 1821 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16] 1822 if protoimpl.UnsafeEnabled && x != nil { 1823 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1824 if ms.LoadMessageInfo() == nil { 1825 ms.StoreMessageInfo(mi) 1826 } 1827 return ms 1828 } 1829 return mi.MessageOf(x) 1830} 1831 1832// Deprecated: Use TranslateDocumentRequest.ProtoReflect.Descriptor instead. 1833func (*TranslateDocumentRequest) Descriptor() ([]byte, []int) { 1834 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{16} 1835} 1836 1837func (x *TranslateDocumentRequest) GetParent() string { 1838 if x != nil { 1839 return x.Parent 1840 } 1841 return "" 1842} 1843 1844func (x *TranslateDocumentRequest) GetSourceLanguageCode() string { 1845 if x != nil { 1846 return x.SourceLanguageCode 1847 } 1848 return "" 1849} 1850 1851func (x *TranslateDocumentRequest) GetTargetLanguageCode() string { 1852 if x != nil { 1853 return x.TargetLanguageCode 1854 } 1855 return "" 1856} 1857 1858func (x *TranslateDocumentRequest) GetDocumentInputConfig() *DocumentInputConfig { 1859 if x != nil { 1860 return x.DocumentInputConfig 1861 } 1862 return nil 1863} 1864 1865func (x *TranslateDocumentRequest) GetDocumentOutputConfig() *DocumentOutputConfig { 1866 if x != nil { 1867 return x.DocumentOutputConfig 1868 } 1869 return nil 1870} 1871 1872func (x *TranslateDocumentRequest) GetModel() string { 1873 if x != nil { 1874 return x.Model 1875 } 1876 return "" 1877} 1878 1879func (x *TranslateDocumentRequest) GetGlossaryConfig() *TranslateTextGlossaryConfig { 1880 if x != nil { 1881 return x.GlossaryConfig 1882 } 1883 return nil 1884} 1885 1886func (x *TranslateDocumentRequest) GetLabels() map[string]string { 1887 if x != nil { 1888 return x.Labels 1889 } 1890 return nil 1891} 1892 1893// A translated document message. 1894type DocumentTranslation struct { 1895 state protoimpl.MessageState 1896 sizeCache protoimpl.SizeCache 1897 unknownFields protoimpl.UnknownFields 1898 1899 // The array of translated documents. It is expected to be size 1 for now. We 1900 // may produce multiple translated documents in the future for other type of 1901 // file formats. 1902 ByteStreamOutputs [][]byte `protobuf:"bytes,1,rep,name=byte_stream_outputs,json=byteStreamOutputs,proto3" json:"byte_stream_outputs,omitempty"` 1903 // The translated document's mime type. 1904 MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` 1905 // The detected language for the input document. 1906 // If the user did not provide the source language for the input document, 1907 // this field will have the language code automatically detected. If the 1908 // source language was passed, auto-detection of the language does not occur 1909 // and this field is empty. 1910 DetectedLanguageCode string `protobuf:"bytes,3,opt,name=detected_language_code,json=detectedLanguageCode,proto3" json:"detected_language_code,omitempty"` 1911} 1912 1913func (x *DocumentTranslation) Reset() { 1914 *x = DocumentTranslation{} 1915 if protoimpl.UnsafeEnabled { 1916 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17] 1917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1918 ms.StoreMessageInfo(mi) 1919 } 1920} 1921 1922func (x *DocumentTranslation) String() string { 1923 return protoimpl.X.MessageStringOf(x) 1924} 1925 1926func (*DocumentTranslation) ProtoMessage() {} 1927 1928func (x *DocumentTranslation) ProtoReflect() protoreflect.Message { 1929 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17] 1930 if protoimpl.UnsafeEnabled && x != nil { 1931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1932 if ms.LoadMessageInfo() == nil { 1933 ms.StoreMessageInfo(mi) 1934 } 1935 return ms 1936 } 1937 return mi.MessageOf(x) 1938} 1939 1940// Deprecated: Use DocumentTranslation.ProtoReflect.Descriptor instead. 1941func (*DocumentTranslation) Descriptor() ([]byte, []int) { 1942 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{17} 1943} 1944 1945func (x *DocumentTranslation) GetByteStreamOutputs() [][]byte { 1946 if x != nil { 1947 return x.ByteStreamOutputs 1948 } 1949 return nil 1950} 1951 1952func (x *DocumentTranslation) GetMimeType() string { 1953 if x != nil { 1954 return x.MimeType 1955 } 1956 return "" 1957} 1958 1959func (x *DocumentTranslation) GetDetectedLanguageCode() string { 1960 if x != nil { 1961 return x.DetectedLanguageCode 1962 } 1963 return "" 1964} 1965 1966// A translated document response message. 1967type TranslateDocumentResponse struct { 1968 state protoimpl.MessageState 1969 sizeCache protoimpl.SizeCache 1970 unknownFields protoimpl.UnknownFields 1971 1972 // Translated document. 1973 DocumentTranslation *DocumentTranslation `protobuf:"bytes,1,opt,name=document_translation,json=documentTranslation,proto3" json:"document_translation,omitempty"` 1974 // The document's translation output if a glossary is provided in the request. 1975 // This can be the same as [TranslateDocumentResponse.document_translation] 1976 // if no glossary terms apply. 1977 GlossaryDocumentTranslation *DocumentTranslation `protobuf:"bytes,2,opt,name=glossary_document_translation,json=glossaryDocumentTranslation,proto3" json:"glossary_document_translation,omitempty"` 1978 // Only present when 'model' is present in the request. 1979 // 'model' is normalized to have a project number. 1980 // 1981 // For example: 1982 // If the 'model' field in TranslateDocumentRequest is: 1983 // `projects/{project-id}/locations/{location-id}/models/general/nmt` then 1984 // `model` here would be normalized to 1985 // `projects/{project-number}/locations/{location-id}/models/general/nmt`. 1986 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 1987 // The `glossary_config` used for this translation. 1988 GlossaryConfig *TranslateTextGlossaryConfig `protobuf:"bytes,4,opt,name=glossary_config,json=glossaryConfig,proto3" json:"glossary_config,omitempty"` 1989} 1990 1991func (x *TranslateDocumentResponse) Reset() { 1992 *x = TranslateDocumentResponse{} 1993 if protoimpl.UnsafeEnabled { 1994 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18] 1995 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1996 ms.StoreMessageInfo(mi) 1997 } 1998} 1999 2000func (x *TranslateDocumentResponse) String() string { 2001 return protoimpl.X.MessageStringOf(x) 2002} 2003 2004func (*TranslateDocumentResponse) ProtoMessage() {} 2005 2006func (x *TranslateDocumentResponse) ProtoReflect() protoreflect.Message { 2007 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18] 2008 if protoimpl.UnsafeEnabled && x != nil { 2009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2010 if ms.LoadMessageInfo() == nil { 2011 ms.StoreMessageInfo(mi) 2012 } 2013 return ms 2014 } 2015 return mi.MessageOf(x) 2016} 2017 2018// Deprecated: Use TranslateDocumentResponse.ProtoReflect.Descriptor instead. 2019func (*TranslateDocumentResponse) Descriptor() ([]byte, []int) { 2020 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{18} 2021} 2022 2023func (x *TranslateDocumentResponse) GetDocumentTranslation() *DocumentTranslation { 2024 if x != nil { 2025 return x.DocumentTranslation 2026 } 2027 return nil 2028} 2029 2030func (x *TranslateDocumentResponse) GetGlossaryDocumentTranslation() *DocumentTranslation { 2031 if x != nil { 2032 return x.GlossaryDocumentTranslation 2033 } 2034 return nil 2035} 2036 2037func (x *TranslateDocumentResponse) GetModel() string { 2038 if x != nil { 2039 return x.Model 2040 } 2041 return "" 2042} 2043 2044func (x *TranslateDocumentResponse) GetGlossaryConfig() *TranslateTextGlossaryConfig { 2045 if x != nil { 2046 return x.GlossaryConfig 2047 } 2048 return nil 2049} 2050 2051// The batch translation request. 2052type BatchTranslateTextRequest struct { 2053 state protoimpl.MessageState 2054 sizeCache protoimpl.SizeCache 2055 unknownFields protoimpl.UnknownFields 2056 2057 // Required. Location to make a call. Must refer to a caller's project. 2058 // 2059 // Format: `projects/{project-number-or-id}/locations/{location-id}`. 2060 // 2061 // The `global` location is not supported for batch translation. 2062 // 2063 // Only AutoML Translation models or glossaries within the same region (have 2064 // the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) 2065 // error is returned. 2066 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2067 // Required. Source language code. 2068 SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 2069 // Required. Specify up to 10 language codes here. 2070 TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"` 2071 // Optional. The models to use for translation. Map's key is target language 2072 // code. Map's value is the model name. Value can be a built-in general model, 2073 // or an AutoML Translation model. 2074 // 2075 // The value format depends on model type: 2076 // 2077 // - AutoML Translation models: 2078 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 2079 // 2080 // - General (built-in) models: 2081 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 2082 // `projects/{project-number-or-id}/locations/{location-id}/models/general/base` 2083 // 2084 // 2085 // If the map is empty or a specific model is 2086 // not requested for a language pair, then default google model (nmt) is used. 2087 Models map[string]string `protobuf:"bytes,4,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2088 // Required. Input configurations. 2089 // The total number of files matched should be <= 100. 2090 // The total content size should be <= 100M Unicode codepoints. 2091 // The files must use UTF-8 encoding. 2092 InputConfigs []*InputConfig `protobuf:"bytes,5,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"` 2093 // Required. Output configuration. 2094 // If 2 input configs match to the same file (that is, same input path), 2095 // we don't generate output for duplicate inputs. 2096 OutputConfig *OutputConfig `protobuf:"bytes,6,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 2097 // Optional. Glossaries to be applied for translation. 2098 // It's keyed by target language code. 2099 Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2100 // Optional. The labels with user-defined metadata for the request. 2101 // 2102 // Label keys and values can be no longer than 63 characters 2103 // (Unicode codepoints), can only contain lowercase letters, numeric 2104 // characters, underscores and dashes. International characters are allowed. 2105 // Label values are optional. Label keys must start with a letter. 2106 // 2107 // See https://cloud.google.com/translate/docs/labels for more information. 2108 Labels map[string]string `protobuf:"bytes,9,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 2109} 2110 2111func (x *BatchTranslateTextRequest) Reset() { 2112 *x = BatchTranslateTextRequest{} 2113 if protoimpl.UnsafeEnabled { 2114 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19] 2115 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2116 ms.StoreMessageInfo(mi) 2117 } 2118} 2119 2120func (x *BatchTranslateTextRequest) String() string { 2121 return protoimpl.X.MessageStringOf(x) 2122} 2123 2124func (*BatchTranslateTextRequest) ProtoMessage() {} 2125 2126func (x *BatchTranslateTextRequest) ProtoReflect() protoreflect.Message { 2127 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19] 2128 if protoimpl.UnsafeEnabled && x != nil { 2129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2130 if ms.LoadMessageInfo() == nil { 2131 ms.StoreMessageInfo(mi) 2132 } 2133 return ms 2134 } 2135 return mi.MessageOf(x) 2136} 2137 2138// Deprecated: Use BatchTranslateTextRequest.ProtoReflect.Descriptor instead. 2139func (*BatchTranslateTextRequest) Descriptor() ([]byte, []int) { 2140 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{19} 2141} 2142 2143func (x *BatchTranslateTextRequest) GetParent() string { 2144 if x != nil { 2145 return x.Parent 2146 } 2147 return "" 2148} 2149 2150func (x *BatchTranslateTextRequest) GetSourceLanguageCode() string { 2151 if x != nil { 2152 return x.SourceLanguageCode 2153 } 2154 return "" 2155} 2156 2157func (x *BatchTranslateTextRequest) GetTargetLanguageCodes() []string { 2158 if x != nil { 2159 return x.TargetLanguageCodes 2160 } 2161 return nil 2162} 2163 2164func (x *BatchTranslateTextRequest) GetModels() map[string]string { 2165 if x != nil { 2166 return x.Models 2167 } 2168 return nil 2169} 2170 2171func (x *BatchTranslateTextRequest) GetInputConfigs() []*InputConfig { 2172 if x != nil { 2173 return x.InputConfigs 2174 } 2175 return nil 2176} 2177 2178func (x *BatchTranslateTextRequest) GetOutputConfig() *OutputConfig { 2179 if x != nil { 2180 return x.OutputConfig 2181 } 2182 return nil 2183} 2184 2185func (x *BatchTranslateTextRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig { 2186 if x != nil { 2187 return x.Glossaries 2188 } 2189 return nil 2190} 2191 2192func (x *BatchTranslateTextRequest) GetLabels() map[string]string { 2193 if x != nil { 2194 return x.Labels 2195 } 2196 return nil 2197} 2198 2199// State metadata for the batch translation operation. 2200type BatchTranslateMetadata struct { 2201 state protoimpl.MessageState 2202 sizeCache protoimpl.SizeCache 2203 unknownFields protoimpl.UnknownFields 2204 2205 // The state of the operation. 2206 State BatchTranslateMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.BatchTranslateMetadata_State" json:"state,omitempty"` 2207 // Number of successfully translated characters so far (Unicode codepoints). 2208 TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 2209 // Number of characters that have failed to process so far (Unicode 2210 // codepoints). 2211 FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 2212 // Total number of characters (Unicode codepoints). 2213 // This is the total number of codepoints from input files times the number of 2214 // target languages and appears here shortly after the call is submitted. 2215 TotalCharacters int64 `protobuf:"varint,4,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 2216 // Time when the operation was submitted. 2217 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2218} 2219 2220func (x *BatchTranslateMetadata) Reset() { 2221 *x = BatchTranslateMetadata{} 2222 if protoimpl.UnsafeEnabled { 2223 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20] 2224 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2225 ms.StoreMessageInfo(mi) 2226 } 2227} 2228 2229func (x *BatchTranslateMetadata) String() string { 2230 return protoimpl.X.MessageStringOf(x) 2231} 2232 2233func (*BatchTranslateMetadata) ProtoMessage() {} 2234 2235func (x *BatchTranslateMetadata) ProtoReflect() protoreflect.Message { 2236 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20] 2237 if protoimpl.UnsafeEnabled && x != nil { 2238 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2239 if ms.LoadMessageInfo() == nil { 2240 ms.StoreMessageInfo(mi) 2241 } 2242 return ms 2243 } 2244 return mi.MessageOf(x) 2245} 2246 2247// Deprecated: Use BatchTranslateMetadata.ProtoReflect.Descriptor instead. 2248func (*BatchTranslateMetadata) Descriptor() ([]byte, []int) { 2249 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{20} 2250} 2251 2252func (x *BatchTranslateMetadata) GetState() BatchTranslateMetadata_State { 2253 if x != nil { 2254 return x.State 2255 } 2256 return BatchTranslateMetadata_STATE_UNSPECIFIED 2257} 2258 2259func (x *BatchTranslateMetadata) GetTranslatedCharacters() int64 { 2260 if x != nil { 2261 return x.TranslatedCharacters 2262 } 2263 return 0 2264} 2265 2266func (x *BatchTranslateMetadata) GetFailedCharacters() int64 { 2267 if x != nil { 2268 return x.FailedCharacters 2269 } 2270 return 0 2271} 2272 2273func (x *BatchTranslateMetadata) GetTotalCharacters() int64 { 2274 if x != nil { 2275 return x.TotalCharacters 2276 } 2277 return 0 2278} 2279 2280func (x *BatchTranslateMetadata) GetSubmitTime() *timestamppb.Timestamp { 2281 if x != nil { 2282 return x.SubmitTime 2283 } 2284 return nil 2285} 2286 2287// Stored in the 2288// [google.longrunning.Operation.response][google.longrunning.Operation.response] 2289// field returned by BatchTranslateText if at least one sentence is translated 2290// successfully. 2291type BatchTranslateResponse struct { 2292 state protoimpl.MessageState 2293 sizeCache protoimpl.SizeCache 2294 unknownFields protoimpl.UnknownFields 2295 2296 // Total number of characters (Unicode codepoints). 2297 TotalCharacters int64 `protobuf:"varint,1,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 2298 // Number of successfully translated characters (Unicode codepoints). 2299 TranslatedCharacters int64 `protobuf:"varint,2,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 2300 // Number of characters that have failed to process (Unicode codepoints). 2301 FailedCharacters int64 `protobuf:"varint,3,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 2302 // Time when the operation was submitted. 2303 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2304 // The time when the operation is finished and 2305 // [google.longrunning.Operation.done][google.longrunning.Operation.done] is 2306 // set to true. 2307 EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2308} 2309 2310func (x *BatchTranslateResponse) Reset() { 2311 *x = BatchTranslateResponse{} 2312 if protoimpl.UnsafeEnabled { 2313 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21] 2314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2315 ms.StoreMessageInfo(mi) 2316 } 2317} 2318 2319func (x *BatchTranslateResponse) String() string { 2320 return protoimpl.X.MessageStringOf(x) 2321} 2322 2323func (*BatchTranslateResponse) ProtoMessage() {} 2324 2325func (x *BatchTranslateResponse) ProtoReflect() protoreflect.Message { 2326 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21] 2327 if protoimpl.UnsafeEnabled && x != nil { 2328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2329 if ms.LoadMessageInfo() == nil { 2330 ms.StoreMessageInfo(mi) 2331 } 2332 return ms 2333 } 2334 return mi.MessageOf(x) 2335} 2336 2337// Deprecated: Use BatchTranslateResponse.ProtoReflect.Descriptor instead. 2338func (*BatchTranslateResponse) Descriptor() ([]byte, []int) { 2339 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{21} 2340} 2341 2342func (x *BatchTranslateResponse) GetTotalCharacters() int64 { 2343 if x != nil { 2344 return x.TotalCharacters 2345 } 2346 return 0 2347} 2348 2349func (x *BatchTranslateResponse) GetTranslatedCharacters() int64 { 2350 if x != nil { 2351 return x.TranslatedCharacters 2352 } 2353 return 0 2354} 2355 2356func (x *BatchTranslateResponse) GetFailedCharacters() int64 { 2357 if x != nil { 2358 return x.FailedCharacters 2359 } 2360 return 0 2361} 2362 2363func (x *BatchTranslateResponse) GetSubmitTime() *timestamppb.Timestamp { 2364 if x != nil { 2365 return x.SubmitTime 2366 } 2367 return nil 2368} 2369 2370func (x *BatchTranslateResponse) GetEndTime() *timestamppb.Timestamp { 2371 if x != nil { 2372 return x.EndTime 2373 } 2374 return nil 2375} 2376 2377// Input configuration for glossaries. 2378type GlossaryInputConfig struct { 2379 state protoimpl.MessageState 2380 sizeCache protoimpl.SizeCache 2381 unknownFields protoimpl.UnknownFields 2382 2383 // Required. Specify the input. 2384 // 2385 // Types that are assignable to Source: 2386 // *GlossaryInputConfig_GcsSource 2387 Source isGlossaryInputConfig_Source `protobuf_oneof:"source"` 2388} 2389 2390func (x *GlossaryInputConfig) Reset() { 2391 *x = GlossaryInputConfig{} 2392 if protoimpl.UnsafeEnabled { 2393 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22] 2394 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2395 ms.StoreMessageInfo(mi) 2396 } 2397} 2398 2399func (x *GlossaryInputConfig) String() string { 2400 return protoimpl.X.MessageStringOf(x) 2401} 2402 2403func (*GlossaryInputConfig) ProtoMessage() {} 2404 2405func (x *GlossaryInputConfig) ProtoReflect() protoreflect.Message { 2406 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22] 2407 if protoimpl.UnsafeEnabled && x != nil { 2408 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2409 if ms.LoadMessageInfo() == nil { 2410 ms.StoreMessageInfo(mi) 2411 } 2412 return ms 2413 } 2414 return mi.MessageOf(x) 2415} 2416 2417// Deprecated: Use GlossaryInputConfig.ProtoReflect.Descriptor instead. 2418func (*GlossaryInputConfig) Descriptor() ([]byte, []int) { 2419 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{22} 2420} 2421 2422func (m *GlossaryInputConfig) GetSource() isGlossaryInputConfig_Source { 2423 if m != nil { 2424 return m.Source 2425 } 2426 return nil 2427} 2428 2429func (x *GlossaryInputConfig) GetGcsSource() *GcsSource { 2430 if x, ok := x.GetSource().(*GlossaryInputConfig_GcsSource); ok { 2431 return x.GcsSource 2432 } 2433 return nil 2434} 2435 2436type isGlossaryInputConfig_Source interface { 2437 isGlossaryInputConfig_Source() 2438} 2439 2440type GlossaryInputConfig_GcsSource struct { 2441 // Required. Google Cloud Storage location of glossary data. 2442 // File format is determined based on the filename extension. API returns 2443 // [google.rpc.Code.INVALID_ARGUMENT] for unsupported URI-s and file 2444 // formats. Wildcards are not allowed. This must be a single file in one of 2445 // the following formats: 2446 // 2447 // For unidirectional glossaries: 2448 // 2449 // - TSV/CSV (`.tsv`/`.csv`): 2 column file, tab- or comma-separated. 2450 // The first column is source text. The second column is target text. 2451 // The file must not contain headers. That is, the first row is data, not 2452 // column names. 2453 // 2454 // - TMX (`.tmx`): TMX file with parallel data defining source/target term 2455 // pairs. 2456 // 2457 // For equivalent term sets glossaries: 2458 // 2459 // - CSV (`.csv`): Multi-column CSV file defining equivalent glossary terms 2460 // in multiple languages. The format is defined for Google Translation 2461 // Toolkit and documented in [Use a 2462 // glossary](https://support.google.com/translatortoolkit/answer/6306379?hl=en). 2463 GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 2464} 2465 2466func (*GlossaryInputConfig_GcsSource) isGlossaryInputConfig_Source() {} 2467 2468// Represents a glossary built from user provided data. 2469type Glossary struct { 2470 state protoimpl.MessageState 2471 sizeCache protoimpl.SizeCache 2472 unknownFields protoimpl.UnknownFields 2473 2474 // Required. The resource name of the glossary. Glossary names have the form 2475 // `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`. 2476 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2477 // Languages supported by the glossary. 2478 // 2479 // Types that are assignable to Languages: 2480 // *Glossary_LanguagePair 2481 // *Glossary_LanguageCodesSet_ 2482 Languages isGlossary_Languages `protobuf_oneof:"languages"` 2483 // Required. Provides examples to build the glossary from. 2484 // Total glossary must not exceed 10M Unicode codepoints. 2485 InputConfig *GlossaryInputConfig `protobuf:"bytes,5,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"` 2486 // Output only. The number of entries defined in the glossary. 2487 EntryCount int32 `protobuf:"varint,6,opt,name=entry_count,json=entryCount,proto3" json:"entry_count,omitempty"` 2488 // Output only. When CreateGlossary was called. 2489 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2490 // Output only. When the glossary creation was finished. 2491 EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 2492} 2493 2494func (x *Glossary) Reset() { 2495 *x = Glossary{} 2496 if protoimpl.UnsafeEnabled { 2497 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23] 2498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2499 ms.StoreMessageInfo(mi) 2500 } 2501} 2502 2503func (x *Glossary) String() string { 2504 return protoimpl.X.MessageStringOf(x) 2505} 2506 2507func (*Glossary) ProtoMessage() {} 2508 2509func (x *Glossary) ProtoReflect() protoreflect.Message { 2510 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23] 2511 if protoimpl.UnsafeEnabled && x != nil { 2512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2513 if ms.LoadMessageInfo() == nil { 2514 ms.StoreMessageInfo(mi) 2515 } 2516 return ms 2517 } 2518 return mi.MessageOf(x) 2519} 2520 2521// Deprecated: Use Glossary.ProtoReflect.Descriptor instead. 2522func (*Glossary) Descriptor() ([]byte, []int) { 2523 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23} 2524} 2525 2526func (x *Glossary) GetName() string { 2527 if x != nil { 2528 return x.Name 2529 } 2530 return "" 2531} 2532 2533func (m *Glossary) GetLanguages() isGlossary_Languages { 2534 if m != nil { 2535 return m.Languages 2536 } 2537 return nil 2538} 2539 2540func (x *Glossary) GetLanguagePair() *Glossary_LanguageCodePair { 2541 if x, ok := x.GetLanguages().(*Glossary_LanguagePair); ok { 2542 return x.LanguagePair 2543 } 2544 return nil 2545} 2546 2547func (x *Glossary) GetLanguageCodesSet() *Glossary_LanguageCodesSet { 2548 if x, ok := x.GetLanguages().(*Glossary_LanguageCodesSet_); ok { 2549 return x.LanguageCodesSet 2550 } 2551 return nil 2552} 2553 2554func (x *Glossary) GetInputConfig() *GlossaryInputConfig { 2555 if x != nil { 2556 return x.InputConfig 2557 } 2558 return nil 2559} 2560 2561func (x *Glossary) GetEntryCount() int32 { 2562 if x != nil { 2563 return x.EntryCount 2564 } 2565 return 0 2566} 2567 2568func (x *Glossary) GetSubmitTime() *timestamppb.Timestamp { 2569 if x != nil { 2570 return x.SubmitTime 2571 } 2572 return nil 2573} 2574 2575func (x *Glossary) GetEndTime() *timestamppb.Timestamp { 2576 if x != nil { 2577 return x.EndTime 2578 } 2579 return nil 2580} 2581 2582type isGlossary_Languages interface { 2583 isGlossary_Languages() 2584} 2585 2586type Glossary_LanguagePair struct { 2587 // Used with unidirectional glossaries. 2588 LanguagePair *Glossary_LanguageCodePair `protobuf:"bytes,3,opt,name=language_pair,json=languagePair,proto3,oneof"` 2589} 2590 2591type Glossary_LanguageCodesSet_ struct { 2592 // Used with equivalent term set glossaries. 2593 LanguageCodesSet *Glossary_LanguageCodesSet `protobuf:"bytes,4,opt,name=language_codes_set,json=languageCodesSet,proto3,oneof"` 2594} 2595 2596func (*Glossary_LanguagePair) isGlossary_Languages() {} 2597 2598func (*Glossary_LanguageCodesSet_) isGlossary_Languages() {} 2599 2600// Request message for CreateGlossary. 2601type CreateGlossaryRequest struct { 2602 state protoimpl.MessageState 2603 sizeCache protoimpl.SizeCache 2604 unknownFields protoimpl.UnknownFields 2605 2606 // Required. The project name. 2607 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2608 // Required. The glossary to create. 2609 Glossary *Glossary `protobuf:"bytes,2,opt,name=glossary,proto3" json:"glossary,omitempty"` 2610} 2611 2612func (x *CreateGlossaryRequest) Reset() { 2613 *x = CreateGlossaryRequest{} 2614 if protoimpl.UnsafeEnabled { 2615 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24] 2616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2617 ms.StoreMessageInfo(mi) 2618 } 2619} 2620 2621func (x *CreateGlossaryRequest) String() string { 2622 return protoimpl.X.MessageStringOf(x) 2623} 2624 2625func (*CreateGlossaryRequest) ProtoMessage() {} 2626 2627func (x *CreateGlossaryRequest) ProtoReflect() protoreflect.Message { 2628 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24] 2629 if protoimpl.UnsafeEnabled && x != nil { 2630 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2631 if ms.LoadMessageInfo() == nil { 2632 ms.StoreMessageInfo(mi) 2633 } 2634 return ms 2635 } 2636 return mi.MessageOf(x) 2637} 2638 2639// Deprecated: Use CreateGlossaryRequest.ProtoReflect.Descriptor instead. 2640func (*CreateGlossaryRequest) Descriptor() ([]byte, []int) { 2641 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{24} 2642} 2643 2644func (x *CreateGlossaryRequest) GetParent() string { 2645 if x != nil { 2646 return x.Parent 2647 } 2648 return "" 2649} 2650 2651func (x *CreateGlossaryRequest) GetGlossary() *Glossary { 2652 if x != nil { 2653 return x.Glossary 2654 } 2655 return nil 2656} 2657 2658// Request message for GetGlossary. 2659type GetGlossaryRequest struct { 2660 state protoimpl.MessageState 2661 sizeCache protoimpl.SizeCache 2662 unknownFields protoimpl.UnknownFields 2663 2664 // Required. The name of the glossary to retrieve. 2665 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2666} 2667 2668func (x *GetGlossaryRequest) Reset() { 2669 *x = GetGlossaryRequest{} 2670 if protoimpl.UnsafeEnabled { 2671 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25] 2672 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2673 ms.StoreMessageInfo(mi) 2674 } 2675} 2676 2677func (x *GetGlossaryRequest) String() string { 2678 return protoimpl.X.MessageStringOf(x) 2679} 2680 2681func (*GetGlossaryRequest) ProtoMessage() {} 2682 2683func (x *GetGlossaryRequest) ProtoReflect() protoreflect.Message { 2684 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25] 2685 if protoimpl.UnsafeEnabled && x != nil { 2686 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2687 if ms.LoadMessageInfo() == nil { 2688 ms.StoreMessageInfo(mi) 2689 } 2690 return ms 2691 } 2692 return mi.MessageOf(x) 2693} 2694 2695// Deprecated: Use GetGlossaryRequest.ProtoReflect.Descriptor instead. 2696func (*GetGlossaryRequest) Descriptor() ([]byte, []int) { 2697 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{25} 2698} 2699 2700func (x *GetGlossaryRequest) GetName() string { 2701 if x != nil { 2702 return x.Name 2703 } 2704 return "" 2705} 2706 2707// Request message for DeleteGlossary. 2708type DeleteGlossaryRequest struct { 2709 state protoimpl.MessageState 2710 sizeCache protoimpl.SizeCache 2711 unknownFields protoimpl.UnknownFields 2712 2713 // Required. The name of the glossary to delete. 2714 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2715} 2716 2717func (x *DeleteGlossaryRequest) Reset() { 2718 *x = DeleteGlossaryRequest{} 2719 if protoimpl.UnsafeEnabled { 2720 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26] 2721 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2722 ms.StoreMessageInfo(mi) 2723 } 2724} 2725 2726func (x *DeleteGlossaryRequest) String() string { 2727 return protoimpl.X.MessageStringOf(x) 2728} 2729 2730func (*DeleteGlossaryRequest) ProtoMessage() {} 2731 2732func (x *DeleteGlossaryRequest) ProtoReflect() protoreflect.Message { 2733 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26] 2734 if protoimpl.UnsafeEnabled && x != nil { 2735 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2736 if ms.LoadMessageInfo() == nil { 2737 ms.StoreMessageInfo(mi) 2738 } 2739 return ms 2740 } 2741 return mi.MessageOf(x) 2742} 2743 2744// Deprecated: Use DeleteGlossaryRequest.ProtoReflect.Descriptor instead. 2745func (*DeleteGlossaryRequest) Descriptor() ([]byte, []int) { 2746 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{26} 2747} 2748 2749func (x *DeleteGlossaryRequest) GetName() string { 2750 if x != nil { 2751 return x.Name 2752 } 2753 return "" 2754} 2755 2756// Request message for ListGlossaries. 2757type ListGlossariesRequest struct { 2758 state protoimpl.MessageState 2759 sizeCache protoimpl.SizeCache 2760 unknownFields protoimpl.UnknownFields 2761 2762 // Required. The name of the project from which to list all of the glossaries. 2763 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 2764 // Optional. Requested page size. The server may return fewer glossaries than 2765 // requested. If unspecified, the server picks an appropriate default. 2766 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` 2767 // Optional. A token identifying a page of results the server should return. 2768 // Typically, this is the value of [ListGlossariesResponse.next_page_token] 2769 // returned from the previous call to `ListGlossaries` method. 2770 // The first page is returned if `page_token`is empty or missing. 2771 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` 2772 // Optional. Filter specifying constraints of a list operation. 2773 // Specify the constraint by the format of "key=value", where key must be 2774 // "src" or "tgt", and the value must be a valid language code. 2775 // For multiple restrictions, concatenate them by "AND" (uppercase only), 2776 // such as: "src=en-US AND tgt=zh-CN". Notice that the exact match is used 2777 // here, which means using 'en-US' and 'en' can lead to different results, 2778 // which depends on the language code you used when you create the glossary. 2779 // For the unidirectional glossaries, the "src" and "tgt" add restrictions 2780 // on the source and target language code separately. 2781 // For the equivalent term set glossaries, the "src" and/or "tgt" add 2782 // restrictions on the term set. 2783 // For example: "src=en-US AND tgt=zh-CN" will only pick the unidirectional 2784 // glossaries which exactly match the source language code as "en-US" and the 2785 // target language code "zh-CN", but all equivalent term set glossaries which 2786 // contain "en-US" and "zh-CN" in their language set will be picked. 2787 // If missing, no filtering is performed. 2788 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` 2789} 2790 2791func (x *ListGlossariesRequest) Reset() { 2792 *x = ListGlossariesRequest{} 2793 if protoimpl.UnsafeEnabled { 2794 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27] 2795 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2796 ms.StoreMessageInfo(mi) 2797 } 2798} 2799 2800func (x *ListGlossariesRequest) String() string { 2801 return protoimpl.X.MessageStringOf(x) 2802} 2803 2804func (*ListGlossariesRequest) ProtoMessage() {} 2805 2806func (x *ListGlossariesRequest) ProtoReflect() protoreflect.Message { 2807 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27] 2808 if protoimpl.UnsafeEnabled && x != nil { 2809 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2810 if ms.LoadMessageInfo() == nil { 2811 ms.StoreMessageInfo(mi) 2812 } 2813 return ms 2814 } 2815 return mi.MessageOf(x) 2816} 2817 2818// Deprecated: Use ListGlossariesRequest.ProtoReflect.Descriptor instead. 2819func (*ListGlossariesRequest) Descriptor() ([]byte, []int) { 2820 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{27} 2821} 2822 2823func (x *ListGlossariesRequest) GetParent() string { 2824 if x != nil { 2825 return x.Parent 2826 } 2827 return "" 2828} 2829 2830func (x *ListGlossariesRequest) GetPageSize() int32 { 2831 if x != nil { 2832 return x.PageSize 2833 } 2834 return 0 2835} 2836 2837func (x *ListGlossariesRequest) GetPageToken() string { 2838 if x != nil { 2839 return x.PageToken 2840 } 2841 return "" 2842} 2843 2844func (x *ListGlossariesRequest) GetFilter() string { 2845 if x != nil { 2846 return x.Filter 2847 } 2848 return "" 2849} 2850 2851// Response message for ListGlossaries. 2852type ListGlossariesResponse struct { 2853 state protoimpl.MessageState 2854 sizeCache protoimpl.SizeCache 2855 unknownFields protoimpl.UnknownFields 2856 2857 // The list of glossaries for a project. 2858 Glossaries []*Glossary `protobuf:"bytes,1,rep,name=glossaries,proto3" json:"glossaries,omitempty"` 2859 // A token to retrieve a page of results. Pass this value in the 2860 // [ListGlossariesRequest.page_token] field in the subsequent call to 2861 // `ListGlossaries` method to retrieve the next page of results. 2862 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` 2863} 2864 2865func (x *ListGlossariesResponse) Reset() { 2866 *x = ListGlossariesResponse{} 2867 if protoimpl.UnsafeEnabled { 2868 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28] 2869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2870 ms.StoreMessageInfo(mi) 2871 } 2872} 2873 2874func (x *ListGlossariesResponse) String() string { 2875 return protoimpl.X.MessageStringOf(x) 2876} 2877 2878func (*ListGlossariesResponse) ProtoMessage() {} 2879 2880func (x *ListGlossariesResponse) ProtoReflect() protoreflect.Message { 2881 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28] 2882 if protoimpl.UnsafeEnabled && x != nil { 2883 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2884 if ms.LoadMessageInfo() == nil { 2885 ms.StoreMessageInfo(mi) 2886 } 2887 return ms 2888 } 2889 return mi.MessageOf(x) 2890} 2891 2892// Deprecated: Use ListGlossariesResponse.ProtoReflect.Descriptor instead. 2893func (*ListGlossariesResponse) Descriptor() ([]byte, []int) { 2894 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{28} 2895} 2896 2897func (x *ListGlossariesResponse) GetGlossaries() []*Glossary { 2898 if x != nil { 2899 return x.Glossaries 2900 } 2901 return nil 2902} 2903 2904func (x *ListGlossariesResponse) GetNextPageToken() string { 2905 if x != nil { 2906 return x.NextPageToken 2907 } 2908 return "" 2909} 2910 2911// Stored in the 2912// [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata] 2913// field returned by CreateGlossary. 2914type CreateGlossaryMetadata struct { 2915 state protoimpl.MessageState 2916 sizeCache protoimpl.SizeCache 2917 unknownFields protoimpl.UnknownFields 2918 2919 // The name of the glossary that is being created. 2920 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2921 // The current state of the glossary creation operation. 2922 State CreateGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.CreateGlossaryMetadata_State" json:"state,omitempty"` 2923 // The time when the operation was submitted to the server. 2924 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2925} 2926 2927func (x *CreateGlossaryMetadata) Reset() { 2928 *x = CreateGlossaryMetadata{} 2929 if protoimpl.UnsafeEnabled { 2930 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29] 2931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2932 ms.StoreMessageInfo(mi) 2933 } 2934} 2935 2936func (x *CreateGlossaryMetadata) String() string { 2937 return protoimpl.X.MessageStringOf(x) 2938} 2939 2940func (*CreateGlossaryMetadata) ProtoMessage() {} 2941 2942func (x *CreateGlossaryMetadata) ProtoReflect() protoreflect.Message { 2943 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29] 2944 if protoimpl.UnsafeEnabled && x != nil { 2945 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2946 if ms.LoadMessageInfo() == nil { 2947 ms.StoreMessageInfo(mi) 2948 } 2949 return ms 2950 } 2951 return mi.MessageOf(x) 2952} 2953 2954// Deprecated: Use CreateGlossaryMetadata.ProtoReflect.Descriptor instead. 2955func (*CreateGlossaryMetadata) Descriptor() ([]byte, []int) { 2956 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{29} 2957} 2958 2959func (x *CreateGlossaryMetadata) GetName() string { 2960 if x != nil { 2961 return x.Name 2962 } 2963 return "" 2964} 2965 2966func (x *CreateGlossaryMetadata) GetState() CreateGlossaryMetadata_State { 2967 if x != nil { 2968 return x.State 2969 } 2970 return CreateGlossaryMetadata_STATE_UNSPECIFIED 2971} 2972 2973func (x *CreateGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp { 2974 if x != nil { 2975 return x.SubmitTime 2976 } 2977 return nil 2978} 2979 2980// Stored in the 2981// [google.longrunning.Operation.metadata][google.longrunning.Operation.metadata] 2982// field returned by DeleteGlossary. 2983type DeleteGlossaryMetadata struct { 2984 state protoimpl.MessageState 2985 sizeCache protoimpl.SizeCache 2986 unknownFields protoimpl.UnknownFields 2987 2988 // The name of the glossary that is being deleted. 2989 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2990 // The current state of the glossary deletion operation. 2991 State DeleteGlossaryMetadata_State `protobuf:"varint,2,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.DeleteGlossaryMetadata_State" json:"state,omitempty"` 2992 // The time when the operation was submitted to the server. 2993 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 2994} 2995 2996func (x *DeleteGlossaryMetadata) Reset() { 2997 *x = DeleteGlossaryMetadata{} 2998 if protoimpl.UnsafeEnabled { 2999 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30] 3000 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3001 ms.StoreMessageInfo(mi) 3002 } 3003} 3004 3005func (x *DeleteGlossaryMetadata) String() string { 3006 return protoimpl.X.MessageStringOf(x) 3007} 3008 3009func (*DeleteGlossaryMetadata) ProtoMessage() {} 3010 3011func (x *DeleteGlossaryMetadata) ProtoReflect() protoreflect.Message { 3012 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30] 3013 if protoimpl.UnsafeEnabled && x != nil { 3014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3015 if ms.LoadMessageInfo() == nil { 3016 ms.StoreMessageInfo(mi) 3017 } 3018 return ms 3019 } 3020 return mi.MessageOf(x) 3021} 3022 3023// Deprecated: Use DeleteGlossaryMetadata.ProtoReflect.Descriptor instead. 3024func (*DeleteGlossaryMetadata) Descriptor() ([]byte, []int) { 3025 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{30} 3026} 3027 3028func (x *DeleteGlossaryMetadata) GetName() string { 3029 if x != nil { 3030 return x.Name 3031 } 3032 return "" 3033} 3034 3035func (x *DeleteGlossaryMetadata) GetState() DeleteGlossaryMetadata_State { 3036 if x != nil { 3037 return x.State 3038 } 3039 return DeleteGlossaryMetadata_STATE_UNSPECIFIED 3040} 3041 3042func (x *DeleteGlossaryMetadata) GetSubmitTime() *timestamppb.Timestamp { 3043 if x != nil { 3044 return x.SubmitTime 3045 } 3046 return nil 3047} 3048 3049// Stored in the 3050// [google.longrunning.Operation.response][google.longrunning.Operation.response] 3051// field returned by DeleteGlossary. 3052type DeleteGlossaryResponse struct { 3053 state protoimpl.MessageState 3054 sizeCache protoimpl.SizeCache 3055 unknownFields protoimpl.UnknownFields 3056 3057 // The name of the deleted glossary. 3058 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 3059 // The time when the operation was submitted to the server. 3060 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 3061 // The time when the glossary deletion is finished and 3062 // [google.longrunning.Operation.done][google.longrunning.Operation.done] is 3063 // set to true. 3064 EndTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3065} 3066 3067func (x *DeleteGlossaryResponse) Reset() { 3068 *x = DeleteGlossaryResponse{} 3069 if protoimpl.UnsafeEnabled { 3070 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31] 3071 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3072 ms.StoreMessageInfo(mi) 3073 } 3074} 3075 3076func (x *DeleteGlossaryResponse) String() string { 3077 return protoimpl.X.MessageStringOf(x) 3078} 3079 3080func (*DeleteGlossaryResponse) ProtoMessage() {} 3081 3082func (x *DeleteGlossaryResponse) ProtoReflect() protoreflect.Message { 3083 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31] 3084 if protoimpl.UnsafeEnabled && x != nil { 3085 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3086 if ms.LoadMessageInfo() == nil { 3087 ms.StoreMessageInfo(mi) 3088 } 3089 return ms 3090 } 3091 return mi.MessageOf(x) 3092} 3093 3094// Deprecated: Use DeleteGlossaryResponse.ProtoReflect.Descriptor instead. 3095func (*DeleteGlossaryResponse) Descriptor() ([]byte, []int) { 3096 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{31} 3097} 3098 3099func (x *DeleteGlossaryResponse) GetName() string { 3100 if x != nil { 3101 return x.Name 3102 } 3103 return "" 3104} 3105 3106func (x *DeleteGlossaryResponse) GetSubmitTime() *timestamppb.Timestamp { 3107 if x != nil { 3108 return x.SubmitTime 3109 } 3110 return nil 3111} 3112 3113func (x *DeleteGlossaryResponse) GetEndTime() *timestamppb.Timestamp { 3114 if x != nil { 3115 return x.EndTime 3116 } 3117 return nil 3118} 3119 3120// The BatchTranslateDocument request. 3121type BatchTranslateDocumentRequest struct { 3122 state protoimpl.MessageState 3123 sizeCache protoimpl.SizeCache 3124 unknownFields protoimpl.UnknownFields 3125 3126 // Required. Location to make a regional call. 3127 // 3128 // Format: `projects/{project-number-or-id}/locations/{location-id}`. 3129 // 3130 // The `global` location is not supported for batch translation. 3131 // 3132 // Only AutoML Translation models or glossaries within the same region (have 3133 // the same location-id) can be used, otherwise an INVALID_ARGUMENT (400) 3134 // error is returned. 3135 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 3136 // Required. The BCP-47 language code of the input document if known, for 3137 // example, "en-US" or "sr-Latn". Supported language codes are listed in 3138 // Language Support (https://cloud.google.com/translate/docs/languages). 3139 SourceLanguageCode string `protobuf:"bytes,2,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 3140 // Required. The BCP-47 language code to use for translation of the input 3141 // document. Specify up to 10 language codes here. 3142 TargetLanguageCodes []string `protobuf:"bytes,3,rep,name=target_language_codes,json=targetLanguageCodes,proto3" json:"target_language_codes,omitempty"` 3143 // Required. Input configurations. 3144 // The total number of files matched should be <= 100. 3145 // The total content size to translate should be <= 100M Unicode codepoints. 3146 // The files must use UTF-8 encoding. 3147 InputConfigs []*BatchDocumentInputConfig `protobuf:"bytes,4,rep,name=input_configs,json=inputConfigs,proto3" json:"input_configs,omitempty"` 3148 // Required. Output configuration. 3149 // If 2 input configs match to the same file (that is, same input path), 3150 // we don't generate output for duplicate inputs. 3151 OutputConfig *BatchDocumentOutputConfig `protobuf:"bytes,5,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"` 3152 // Optional. The models to use for translation. Map's key is target language 3153 // code. Map's value is the model name. Value can be a built-in general model, 3154 // or an AutoML Translation model. 3155 // 3156 // The value format depends on model type: 3157 // 3158 // - AutoML Translation models: 3159 // `projects/{project-number-or-id}/locations/{location-id}/models/{model-id}` 3160 // 3161 // - General (built-in) models: 3162 // `projects/{project-number-or-id}/locations/{location-id}/models/general/nmt`, 3163 // `projects/{project-number-or-id}/locations/{location-id}/models/general/base` 3164 // 3165 // 3166 // If the map is empty or a specific model is not requested for a language 3167 // pair, then default google model (nmt) is used. 3168 Models map[string]string `protobuf:"bytes,6,rep,name=models,proto3" json:"models,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 3169 // Optional. Glossaries to be applied. It's keyed by target language code. 3170 Glossaries map[string]*TranslateTextGlossaryConfig `protobuf:"bytes,7,rep,name=glossaries,proto3" json:"glossaries,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 3171} 3172 3173func (x *BatchTranslateDocumentRequest) Reset() { 3174 *x = BatchTranslateDocumentRequest{} 3175 if protoimpl.UnsafeEnabled { 3176 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32] 3177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3178 ms.StoreMessageInfo(mi) 3179 } 3180} 3181 3182func (x *BatchTranslateDocumentRequest) String() string { 3183 return protoimpl.X.MessageStringOf(x) 3184} 3185 3186func (*BatchTranslateDocumentRequest) ProtoMessage() {} 3187 3188func (x *BatchTranslateDocumentRequest) ProtoReflect() protoreflect.Message { 3189 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32] 3190 if protoimpl.UnsafeEnabled && x != nil { 3191 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3192 if ms.LoadMessageInfo() == nil { 3193 ms.StoreMessageInfo(mi) 3194 } 3195 return ms 3196 } 3197 return mi.MessageOf(x) 3198} 3199 3200// Deprecated: Use BatchTranslateDocumentRequest.ProtoReflect.Descriptor instead. 3201func (*BatchTranslateDocumentRequest) Descriptor() ([]byte, []int) { 3202 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{32} 3203} 3204 3205func (x *BatchTranslateDocumentRequest) GetParent() string { 3206 if x != nil { 3207 return x.Parent 3208 } 3209 return "" 3210} 3211 3212func (x *BatchTranslateDocumentRequest) GetSourceLanguageCode() string { 3213 if x != nil { 3214 return x.SourceLanguageCode 3215 } 3216 return "" 3217} 3218 3219func (x *BatchTranslateDocumentRequest) GetTargetLanguageCodes() []string { 3220 if x != nil { 3221 return x.TargetLanguageCodes 3222 } 3223 return nil 3224} 3225 3226func (x *BatchTranslateDocumentRequest) GetInputConfigs() []*BatchDocumentInputConfig { 3227 if x != nil { 3228 return x.InputConfigs 3229 } 3230 return nil 3231} 3232 3233func (x *BatchTranslateDocumentRequest) GetOutputConfig() *BatchDocumentOutputConfig { 3234 if x != nil { 3235 return x.OutputConfig 3236 } 3237 return nil 3238} 3239 3240func (x *BatchTranslateDocumentRequest) GetModels() map[string]string { 3241 if x != nil { 3242 return x.Models 3243 } 3244 return nil 3245} 3246 3247func (x *BatchTranslateDocumentRequest) GetGlossaries() map[string]*TranslateTextGlossaryConfig { 3248 if x != nil { 3249 return x.Glossaries 3250 } 3251 return nil 3252} 3253 3254// Input configuration for BatchTranslateDocument request. 3255type BatchDocumentInputConfig struct { 3256 state protoimpl.MessageState 3257 sizeCache protoimpl.SizeCache 3258 unknownFields protoimpl.UnknownFields 3259 3260 // Specify the input. 3261 // 3262 // Types that are assignable to Source: 3263 // *BatchDocumentInputConfig_GcsSource 3264 Source isBatchDocumentInputConfig_Source `protobuf_oneof:"source"` 3265} 3266 3267func (x *BatchDocumentInputConfig) Reset() { 3268 *x = BatchDocumentInputConfig{} 3269 if protoimpl.UnsafeEnabled { 3270 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33] 3271 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3272 ms.StoreMessageInfo(mi) 3273 } 3274} 3275 3276func (x *BatchDocumentInputConfig) String() string { 3277 return protoimpl.X.MessageStringOf(x) 3278} 3279 3280func (*BatchDocumentInputConfig) ProtoMessage() {} 3281 3282func (x *BatchDocumentInputConfig) ProtoReflect() protoreflect.Message { 3283 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33] 3284 if protoimpl.UnsafeEnabled && x != nil { 3285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3286 if ms.LoadMessageInfo() == nil { 3287 ms.StoreMessageInfo(mi) 3288 } 3289 return ms 3290 } 3291 return mi.MessageOf(x) 3292} 3293 3294// Deprecated: Use BatchDocumentInputConfig.ProtoReflect.Descriptor instead. 3295func (*BatchDocumentInputConfig) Descriptor() ([]byte, []int) { 3296 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{33} 3297} 3298 3299func (m *BatchDocumentInputConfig) GetSource() isBatchDocumentInputConfig_Source { 3300 if m != nil { 3301 return m.Source 3302 } 3303 return nil 3304} 3305 3306func (x *BatchDocumentInputConfig) GetGcsSource() *GcsSource { 3307 if x, ok := x.GetSource().(*BatchDocumentInputConfig_GcsSource); ok { 3308 return x.GcsSource 3309 } 3310 return nil 3311} 3312 3313type isBatchDocumentInputConfig_Source interface { 3314 isBatchDocumentInputConfig_Source() 3315} 3316 3317type BatchDocumentInputConfig_GcsSource struct { 3318 // Google Cloud Storage location for the source input. 3319 // This can be a single file (for example, 3320 // `gs://translation-test/input.docx`) or a wildcard (for example, 3321 // `gs://translation-test/*`). 3322 // 3323 // File mime type is determined based on extension. Supported mime type 3324 // includes: 3325 // - `pdf`, application/pdf 3326 // - `docx`, 3327 // application/vnd.openxmlformats-officedocument.wordprocessingml.document 3328 // - `pptx`, 3329 // application/vnd.openxmlformats-officedocument.presentationml.presentation 3330 // - `xlsx`, 3331 // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 3332 // 3333 // The max file size supported for `.docx`, `.pptx` and `.xlsx` is 100MB. 3334 // The max file size supported for `.pdf` is 1GB and the max page limit is 3335 // 1000 pages. 3336 // The max file size supported for all input documents is 1GB. 3337 GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3,oneof"` 3338} 3339 3340func (*BatchDocumentInputConfig_GcsSource) isBatchDocumentInputConfig_Source() {} 3341 3342// Output configuration for BatchTranslateDocument request. 3343type BatchDocumentOutputConfig struct { 3344 state protoimpl.MessageState 3345 sizeCache protoimpl.SizeCache 3346 unknownFields protoimpl.UnknownFields 3347 3348 // The destination of output. The destination directory provided must exist 3349 // and be empty. 3350 // 3351 // Types that are assignable to Destination: 3352 // *BatchDocumentOutputConfig_GcsDestination 3353 Destination isBatchDocumentOutputConfig_Destination `protobuf_oneof:"destination"` 3354} 3355 3356func (x *BatchDocumentOutputConfig) Reset() { 3357 *x = BatchDocumentOutputConfig{} 3358 if protoimpl.UnsafeEnabled { 3359 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34] 3360 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3361 ms.StoreMessageInfo(mi) 3362 } 3363} 3364 3365func (x *BatchDocumentOutputConfig) String() string { 3366 return protoimpl.X.MessageStringOf(x) 3367} 3368 3369func (*BatchDocumentOutputConfig) ProtoMessage() {} 3370 3371func (x *BatchDocumentOutputConfig) ProtoReflect() protoreflect.Message { 3372 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34] 3373 if protoimpl.UnsafeEnabled && x != nil { 3374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3375 if ms.LoadMessageInfo() == nil { 3376 ms.StoreMessageInfo(mi) 3377 } 3378 return ms 3379 } 3380 return mi.MessageOf(x) 3381} 3382 3383// Deprecated: Use BatchDocumentOutputConfig.ProtoReflect.Descriptor instead. 3384func (*BatchDocumentOutputConfig) Descriptor() ([]byte, []int) { 3385 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{34} 3386} 3387 3388func (m *BatchDocumentOutputConfig) GetDestination() isBatchDocumentOutputConfig_Destination { 3389 if m != nil { 3390 return m.Destination 3391 } 3392 return nil 3393} 3394 3395func (x *BatchDocumentOutputConfig) GetGcsDestination() *GcsDestination { 3396 if x, ok := x.GetDestination().(*BatchDocumentOutputConfig_GcsDestination); ok { 3397 return x.GcsDestination 3398 } 3399 return nil 3400} 3401 3402type isBatchDocumentOutputConfig_Destination interface { 3403 isBatchDocumentOutputConfig_Destination() 3404} 3405 3406type BatchDocumentOutputConfig_GcsDestination struct { 3407 // Google Cloud Storage destination for output content. 3408 // For every single input document (for example, gs://a/b/c.[extension]), we 3409 // generate at most 2 * n output files. (n is the # of target_language_codes 3410 // in the BatchTranslateDocumentRequest). 3411 // 3412 // While the input documents are being processed, we write/update an index 3413 // file `index.csv` under `gcs_destination.output_uri_prefix` (for example, 3414 // gs://translation_output/index.csv) The index file is generated/updated as 3415 // new files are being translated. The format is: 3416 // 3417 // input_document,target_language_code,translation_output,error_output, 3418 // glossary_translation_output,glossary_error_output 3419 // 3420 // `input_document` is one file we matched using gcs_source.input_uri. 3421 // `target_language_code` is provided in the request. 3422 // `translation_output` contains the translations. (details provided below) 3423 // `error_output` contains the error message during processing of the file. 3424 // Both translations_file and errors_file could be empty strings if we have 3425 // no content to output. 3426 // `glossary_translation_output` and `glossary_error_output` are the 3427 // translated output/error when we apply glossaries. They could also be 3428 // empty if we have no content to output. 3429 // 3430 // Once a row is present in index.csv, the input/output matching never 3431 // changes. Callers should also expect all the content in input_file are 3432 // processed and ready to be consumed (that is, no partial output file is 3433 // written). 3434 // 3435 // Since index.csv will be keeping updated during the process, please make 3436 // sure there is no custom retention policy applied on the output bucket 3437 // that may avoid file updating. 3438 // (https://cloud.google.com/storage/docs/bucket-lock?hl=en#retention-policy) 3439 // 3440 // The naming format of translation output files follows (for target 3441 // language code [trg]): `translation_output`: 3442 // gs://translation_output/a_b_c_[trg]_translation.[extension] 3443 // `glossary_translation_output`: 3444 // gs://translation_test/a_b_c_[trg]_glossary_translation.[extension] The 3445 // output document will maintain the same file format as the input document. 3446 // 3447 // The naming format of error output files follows (for target language code 3448 // [trg]): `error_output`: gs://translation_test/a_b_c_[trg]_errors.txt 3449 // `glossary_error_output`: 3450 // gs://translation_test/a_b_c_[trg]_glossary_translation.txt The error 3451 // output is a txt file containing error details. 3452 GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3,oneof"` 3453} 3454 3455func (*BatchDocumentOutputConfig_GcsDestination) isBatchDocumentOutputConfig_Destination() {} 3456 3457// Stored in the 3458// [google.longrunning.Operation.response][google.longrunning.Operation.response] 3459// field returned by BatchTranslateDocument if at least one document is 3460// translated successfully. 3461type BatchTranslateDocumentResponse struct { 3462 state protoimpl.MessageState 3463 sizeCache protoimpl.SizeCache 3464 unknownFields protoimpl.UnknownFields 3465 3466 // Total number of pages to translate in all documents. Documents without a 3467 // clear page definition (such as XLSX) are not counted. 3468 TotalPages int64 `protobuf:"varint,1,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"` 3469 // Number of successfully translated pages in all documents. Documents without 3470 // a clear page definition (such as XLSX) are not counted. 3471 TranslatedPages int64 `protobuf:"varint,2,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"` 3472 // Number of pages that failed to process in all documents. Documents without 3473 // a clear page definition (such as XLSX) are not counted. 3474 FailedPages int64 `protobuf:"varint,3,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"` 3475 // Number of billable pages in documents with clear page definition (such as 3476 // PDF, DOCX, PPTX) 3477 TotalBillablePages int64 `protobuf:"varint,4,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"` 3478 // Total number of characters (Unicode codepoints) in all documents. 3479 TotalCharacters int64 `protobuf:"varint,5,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 3480 // Number of successfully translated characters (Unicode codepoints) in all 3481 // documents. 3482 TranslatedCharacters int64 `protobuf:"varint,6,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 3483 // Number of characters that have failed to process (Unicode codepoints) in 3484 // all documents. 3485 FailedCharacters int64 `protobuf:"varint,7,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 3486 // Number of billable characters (Unicode codepoints) in documents without 3487 // clear page definition, such as XLSX. 3488 TotalBillableCharacters int64 `protobuf:"varint,8,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"` 3489 // Time when the operation was submitted. 3490 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 3491 // The time when the operation is finished and 3492 // [google.longrunning.Operation.done][google.longrunning.Operation.done] is 3493 // set to true. 3494 EndTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 3495} 3496 3497func (x *BatchTranslateDocumentResponse) Reset() { 3498 *x = BatchTranslateDocumentResponse{} 3499 if protoimpl.UnsafeEnabled { 3500 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35] 3501 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3502 ms.StoreMessageInfo(mi) 3503 } 3504} 3505 3506func (x *BatchTranslateDocumentResponse) String() string { 3507 return protoimpl.X.MessageStringOf(x) 3508} 3509 3510func (*BatchTranslateDocumentResponse) ProtoMessage() {} 3511 3512func (x *BatchTranslateDocumentResponse) ProtoReflect() protoreflect.Message { 3513 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35] 3514 if protoimpl.UnsafeEnabled && x != nil { 3515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3516 if ms.LoadMessageInfo() == nil { 3517 ms.StoreMessageInfo(mi) 3518 } 3519 return ms 3520 } 3521 return mi.MessageOf(x) 3522} 3523 3524// Deprecated: Use BatchTranslateDocumentResponse.ProtoReflect.Descriptor instead. 3525func (*BatchTranslateDocumentResponse) Descriptor() ([]byte, []int) { 3526 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{35} 3527} 3528 3529func (x *BatchTranslateDocumentResponse) GetTotalPages() int64 { 3530 if x != nil { 3531 return x.TotalPages 3532 } 3533 return 0 3534} 3535 3536func (x *BatchTranslateDocumentResponse) GetTranslatedPages() int64 { 3537 if x != nil { 3538 return x.TranslatedPages 3539 } 3540 return 0 3541} 3542 3543func (x *BatchTranslateDocumentResponse) GetFailedPages() int64 { 3544 if x != nil { 3545 return x.FailedPages 3546 } 3547 return 0 3548} 3549 3550func (x *BatchTranslateDocumentResponse) GetTotalBillablePages() int64 { 3551 if x != nil { 3552 return x.TotalBillablePages 3553 } 3554 return 0 3555} 3556 3557func (x *BatchTranslateDocumentResponse) GetTotalCharacters() int64 { 3558 if x != nil { 3559 return x.TotalCharacters 3560 } 3561 return 0 3562} 3563 3564func (x *BatchTranslateDocumentResponse) GetTranslatedCharacters() int64 { 3565 if x != nil { 3566 return x.TranslatedCharacters 3567 } 3568 return 0 3569} 3570 3571func (x *BatchTranslateDocumentResponse) GetFailedCharacters() int64 { 3572 if x != nil { 3573 return x.FailedCharacters 3574 } 3575 return 0 3576} 3577 3578func (x *BatchTranslateDocumentResponse) GetTotalBillableCharacters() int64 { 3579 if x != nil { 3580 return x.TotalBillableCharacters 3581 } 3582 return 0 3583} 3584 3585func (x *BatchTranslateDocumentResponse) GetSubmitTime() *timestamppb.Timestamp { 3586 if x != nil { 3587 return x.SubmitTime 3588 } 3589 return nil 3590} 3591 3592func (x *BatchTranslateDocumentResponse) GetEndTime() *timestamppb.Timestamp { 3593 if x != nil { 3594 return x.EndTime 3595 } 3596 return nil 3597} 3598 3599// State metadata for the batch translation operation. 3600type BatchTranslateDocumentMetadata struct { 3601 state protoimpl.MessageState 3602 sizeCache protoimpl.SizeCache 3603 unknownFields protoimpl.UnknownFields 3604 3605 // The state of the operation. 3606 State BatchTranslateDocumentMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata_State" json:"state,omitempty"` 3607 // Total number of pages to translate in all documents so far. Documents 3608 // without clear page definition (such as XLSX) are not counted. 3609 TotalPages int64 `protobuf:"varint,2,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"` 3610 // Number of successfully translated pages in all documents so far. Documents 3611 // without clear page definition (such as XLSX) are not counted. 3612 TranslatedPages int64 `protobuf:"varint,3,opt,name=translated_pages,json=translatedPages,proto3" json:"translated_pages,omitempty"` 3613 // Number of pages that failed to process in all documents so far. Documents 3614 // without clear page definition (such as XLSX) are not counted. 3615 FailedPages int64 `protobuf:"varint,4,opt,name=failed_pages,json=failedPages,proto3" json:"failed_pages,omitempty"` 3616 // Number of billable pages in documents with clear page definition (such as 3617 // PDF, DOCX, PPTX) so far. 3618 TotalBillablePages int64 `protobuf:"varint,5,opt,name=total_billable_pages,json=totalBillablePages,proto3" json:"total_billable_pages,omitempty"` 3619 // Total number of characters (Unicode codepoints) in all documents so far. 3620 TotalCharacters int64 `protobuf:"varint,6,opt,name=total_characters,json=totalCharacters,proto3" json:"total_characters,omitempty"` 3621 // Number of successfully translated characters (Unicode codepoints) in all 3622 // documents so far. 3623 TranslatedCharacters int64 `protobuf:"varint,7,opt,name=translated_characters,json=translatedCharacters,proto3" json:"translated_characters,omitempty"` 3624 // Number of characters that have failed to process (Unicode codepoints) in 3625 // all documents so far. 3626 FailedCharacters int64 `protobuf:"varint,8,opt,name=failed_characters,json=failedCharacters,proto3" json:"failed_characters,omitempty"` 3627 // Number of billable characters (Unicode codepoints) in documents without 3628 // clear page definition (such as XLSX) so far. 3629 TotalBillableCharacters int64 `protobuf:"varint,9,opt,name=total_billable_characters,json=totalBillableCharacters,proto3" json:"total_billable_characters,omitempty"` 3630 // Time when the operation was submitted. 3631 SubmitTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=submit_time,json=submitTime,proto3" json:"submit_time,omitempty"` 3632} 3633 3634func (x *BatchTranslateDocumentMetadata) Reset() { 3635 *x = BatchTranslateDocumentMetadata{} 3636 if protoimpl.UnsafeEnabled { 3637 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36] 3638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3639 ms.StoreMessageInfo(mi) 3640 } 3641} 3642 3643func (x *BatchTranslateDocumentMetadata) String() string { 3644 return protoimpl.X.MessageStringOf(x) 3645} 3646 3647func (*BatchTranslateDocumentMetadata) ProtoMessage() {} 3648 3649func (x *BatchTranslateDocumentMetadata) ProtoReflect() protoreflect.Message { 3650 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36] 3651 if protoimpl.UnsafeEnabled && x != nil { 3652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3653 if ms.LoadMessageInfo() == nil { 3654 ms.StoreMessageInfo(mi) 3655 } 3656 return ms 3657 } 3658 return mi.MessageOf(x) 3659} 3660 3661// Deprecated: Use BatchTranslateDocumentMetadata.ProtoReflect.Descriptor instead. 3662func (*BatchTranslateDocumentMetadata) Descriptor() ([]byte, []int) { 3663 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{36} 3664} 3665 3666func (x *BatchTranslateDocumentMetadata) GetState() BatchTranslateDocumentMetadata_State { 3667 if x != nil { 3668 return x.State 3669 } 3670 return BatchTranslateDocumentMetadata_STATE_UNSPECIFIED 3671} 3672 3673func (x *BatchTranslateDocumentMetadata) GetTotalPages() int64 { 3674 if x != nil { 3675 return x.TotalPages 3676 } 3677 return 0 3678} 3679 3680func (x *BatchTranslateDocumentMetadata) GetTranslatedPages() int64 { 3681 if x != nil { 3682 return x.TranslatedPages 3683 } 3684 return 0 3685} 3686 3687func (x *BatchTranslateDocumentMetadata) GetFailedPages() int64 { 3688 if x != nil { 3689 return x.FailedPages 3690 } 3691 return 0 3692} 3693 3694func (x *BatchTranslateDocumentMetadata) GetTotalBillablePages() int64 { 3695 if x != nil { 3696 return x.TotalBillablePages 3697 } 3698 return 0 3699} 3700 3701func (x *BatchTranslateDocumentMetadata) GetTotalCharacters() int64 { 3702 if x != nil { 3703 return x.TotalCharacters 3704 } 3705 return 0 3706} 3707 3708func (x *BatchTranslateDocumentMetadata) GetTranslatedCharacters() int64 { 3709 if x != nil { 3710 return x.TranslatedCharacters 3711 } 3712 return 0 3713} 3714 3715func (x *BatchTranslateDocumentMetadata) GetFailedCharacters() int64 { 3716 if x != nil { 3717 return x.FailedCharacters 3718 } 3719 return 0 3720} 3721 3722func (x *BatchTranslateDocumentMetadata) GetTotalBillableCharacters() int64 { 3723 if x != nil { 3724 return x.TotalBillableCharacters 3725 } 3726 return 0 3727} 3728 3729func (x *BatchTranslateDocumentMetadata) GetSubmitTime() *timestamppb.Timestamp { 3730 if x != nil { 3731 return x.SubmitTime 3732 } 3733 return nil 3734} 3735 3736// Used with unidirectional glossaries. 3737type Glossary_LanguageCodePair struct { 3738 state protoimpl.MessageState 3739 sizeCache protoimpl.SizeCache 3740 unknownFields protoimpl.UnknownFields 3741 3742 // Required. The BCP-47 language code of the input text, for example, 3743 // "en-US". Expected to be an exact match for GlossaryTerm.language_code. 3744 SourceLanguageCode string `protobuf:"bytes,1,opt,name=source_language_code,json=sourceLanguageCode,proto3" json:"source_language_code,omitempty"` 3745 // Required. The BCP-47 language code for translation output, for example, 3746 // "zh-CN". Expected to be an exact match for GlossaryTerm.language_code. 3747 TargetLanguageCode string `protobuf:"bytes,2,opt,name=target_language_code,json=targetLanguageCode,proto3" json:"target_language_code,omitempty"` 3748} 3749 3750func (x *Glossary_LanguageCodePair) Reset() { 3751 *x = Glossary_LanguageCodePair{} 3752 if protoimpl.UnsafeEnabled { 3753 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43] 3754 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3755 ms.StoreMessageInfo(mi) 3756 } 3757} 3758 3759func (x *Glossary_LanguageCodePair) String() string { 3760 return protoimpl.X.MessageStringOf(x) 3761} 3762 3763func (*Glossary_LanguageCodePair) ProtoMessage() {} 3764 3765func (x *Glossary_LanguageCodePair) ProtoReflect() protoreflect.Message { 3766 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43] 3767 if protoimpl.UnsafeEnabled && x != nil { 3768 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3769 if ms.LoadMessageInfo() == nil { 3770 ms.StoreMessageInfo(mi) 3771 } 3772 return ms 3773 } 3774 return mi.MessageOf(x) 3775} 3776 3777// Deprecated: Use Glossary_LanguageCodePair.ProtoReflect.Descriptor instead. 3778func (*Glossary_LanguageCodePair) Descriptor() ([]byte, []int) { 3779 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23, 0} 3780} 3781 3782func (x *Glossary_LanguageCodePair) GetSourceLanguageCode() string { 3783 if x != nil { 3784 return x.SourceLanguageCode 3785 } 3786 return "" 3787} 3788 3789func (x *Glossary_LanguageCodePair) GetTargetLanguageCode() string { 3790 if x != nil { 3791 return x.TargetLanguageCode 3792 } 3793 return "" 3794} 3795 3796// Used with equivalent term set glossaries. 3797type Glossary_LanguageCodesSet struct { 3798 state protoimpl.MessageState 3799 sizeCache protoimpl.SizeCache 3800 unknownFields protoimpl.UnknownFields 3801 3802 // The BCP-47 language code(s) for terms defined in the glossary. 3803 // All entries are unique. The list contains at least two entries. 3804 // Expected to be an exact match for GlossaryTerm.language_code. 3805 LanguageCodes []string `protobuf:"bytes,1,rep,name=language_codes,json=languageCodes,proto3" json:"language_codes,omitempty"` 3806} 3807 3808func (x *Glossary_LanguageCodesSet) Reset() { 3809 *x = Glossary_LanguageCodesSet{} 3810 if protoimpl.UnsafeEnabled { 3811 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44] 3812 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3813 ms.StoreMessageInfo(mi) 3814 } 3815} 3816 3817func (x *Glossary_LanguageCodesSet) String() string { 3818 return protoimpl.X.MessageStringOf(x) 3819} 3820 3821func (*Glossary_LanguageCodesSet) ProtoMessage() {} 3822 3823func (x *Glossary_LanguageCodesSet) ProtoReflect() protoreflect.Message { 3824 mi := &file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44] 3825 if protoimpl.UnsafeEnabled && x != nil { 3826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3827 if ms.LoadMessageInfo() == nil { 3828 ms.StoreMessageInfo(mi) 3829 } 3830 return ms 3831 } 3832 return mi.MessageOf(x) 3833} 3834 3835// Deprecated: Use Glossary_LanguageCodesSet.ProtoReflect.Descriptor instead. 3836func (*Glossary_LanguageCodesSet) Descriptor() ([]byte, []int) { 3837 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP(), []int{23, 1} 3838} 3839 3840func (x *Glossary_LanguageCodesSet) GetLanguageCodes() []string { 3841 if x != nil { 3842 return x.LanguageCodes 3843 } 3844 return nil 3845} 3846 3847var File_google_cloud_translate_v3beta1_translation_service_proto protoreflect.FileDescriptor 3848 3849var file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc = []byte{ 3850 0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 3851 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 3852 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x72, 3853 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 3854 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3855 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 3856 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 3857 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 3858 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 3859 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 3860 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 3861 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 3862 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3863 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 3864 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 3865 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 3866 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 3867 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x1b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 3868 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 3869 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 3870 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f, 3871 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 3872 0x63, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 3873 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x61, 0x73, 0x65, 0x22, 0xae, 0x04, 0x0a, 0x14, 3874 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 3875 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 3876 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 3877 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 3878 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 3879 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 3880 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 3881 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 3882 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 3883 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 3884 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 3885 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 3886 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 3887 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 3888 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 3889 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 3890 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 3891 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 3892 0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 3893 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 3894 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 3895 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3896 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 3897 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 3898 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3899 0x12, 0x5f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 3900 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3901 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 3902 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 3903 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 3904 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 3905 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 3906 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 3907 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 3908 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a, 3909 0x15, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 3910 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 3911 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 3912 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 3913 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 3914 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 3915 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x15, 0x67, 0x6c, 0x6f, 3916 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 3917 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 3918 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 3919 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 3920 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 3921 0x79, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xea, 0x01, 3922 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 3923 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 3924 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 3925 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 3926 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x16, 3927 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 3928 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 3929 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 3930 0x64, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 3931 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 3932 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 3933 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 3934 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 3935 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 3936 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x15, 0x44, 3937 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 3938 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x05, 3939 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 3940 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 3941 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 3942 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3943 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 3944 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 3945 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x20, 3946 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3947 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 3948 0x12, 0x60, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 3949 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 3950 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 3951 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 3952 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 3953 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 3954 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 3955 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 3956 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 3957 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 3958 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x10, 0x44, 0x65, 0x74, 0x65, 0x63, 3959 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 3960 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 3961 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 3962 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 3963 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 3964 0x22, 0x6a, 0x0a, 0x16, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 3965 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x09, 0x6c, 0x61, 3966 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 3967 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 3968 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 3969 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 3970 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xb5, 0x01, 0x0a, 3971 0x1c, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 3972 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 3973 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 3974 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 3975 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 3976 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 3977 0x12, 0x37, 0x0a, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 3978 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 3979 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4c, 0x61, 0x6e, 3980 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 3981 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 3982 0x6f, 0x64, 0x65, 0x6c, 0x22, 0x67, 0x0a, 0x12, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 3983 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x09, 0x6c, 0x61, 3984 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 3985 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 3986 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 3987 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 3988 0x67, 0x65, 0x52, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0xa9, 0x01, 3989 0x0a, 0x11, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 3990 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 3991 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 3992 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 3993 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 3994 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 3995 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 3996 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x6f, 0x75, 0x72, 3997 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x61, 3998 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 3999 0x6f, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x2d, 0x0a, 0x09, 0x47, 0x63, 0x73, 4000 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 4001 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 4002 0x69, 0x6e, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x22, 0x87, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 4003 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 4004 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 4005 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 4006 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 4007 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4008 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4009 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 4010 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 4011 0x63, 0x65, 0x22, 0x41, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 4012 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 4013 0x72, 0x69, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 4014 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x69, 0x50, 4015 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x7a, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 4016 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 4017 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 4018 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4019 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4020 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4021 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 4022 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 4023 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 4024 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 4025 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 4026 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 4027 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 4028 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4029 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 4030 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 4031 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 4032 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 4033 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x44, 4034 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 4035 0x66, 0x69, 0x67, 0x12, 0x60, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 4036 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 4037 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4038 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4039 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 4040 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 4041 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 4042 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 4043 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 4044 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x05, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x6e, 0x73, 4045 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 4046 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 4047 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 4048 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 4049 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 4050 0xe0, 0x41, 0x01, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 4051 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 4052 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 4053 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 4054 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x6e, 4055 0x0a, 0x15, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 4056 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 4057 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 4058 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 4059 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 4060 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 4061 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 4062 0x0a, 0x16, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 4063 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 4064 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4065 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4066 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 4067 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x64, 0x6f, 0x63, 4068 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 4069 0x67, 0x12, 0x19, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 4070 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x6b, 0x0a, 0x0f, 4071 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 4072 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4073 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4074 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4075 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 0x6f, 4076 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 4077 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x63, 0x0a, 0x06, 0x6c, 0x61, 0x62, 4078 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 4079 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4080 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 4081 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 4082 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 4083 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 4084 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 4085 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 4086 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 4087 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x98, 0x01, 0x0a, 0x13, 0x44, 0x6f, 4088 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4089 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 4090 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x11, 4091 0x62, 0x79, 0x74, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 4092 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 4093 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 4094 0x0a, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 4095 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 4096 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4097 0x43, 0x6f, 0x64, 0x65, 0x22, 0xfe, 0x02, 0x0a, 0x19, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4098 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 4099 0x73, 0x65, 0x12, 0x68, 0x0a, 0x14, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 4100 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 4101 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 4102 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 4103 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 4104 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 4105 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x1d, 4106 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 4107 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 4108 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4109 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4110 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 4111 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1b, 0x67, 0x6c, 0x6f, 0x73, 4112 0x73, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 4113 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 4114 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x66, 0x0a, 4115 0x0f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 4116 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4117 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4118 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4119 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 4120 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 4121 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb3, 0x07, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 4122 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 4123 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 4124 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 4125 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 4126 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 4127 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 4128 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 4129 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 4130 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 4131 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 4132 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 4133 0x02, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 4134 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 4135 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4136 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4137 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 4138 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 4139 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 4140 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x57, 0x0a, 0x0d, 4141 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 4142 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4143 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4144 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 4145 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 4146 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x58, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 4147 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 4148 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4149 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4150 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 4151 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 4152 0x70, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 4153 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4154 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4155 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4156 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 4157 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 4158 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 4159 0x73, 0x12, 0x64, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 4160 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4161 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4162 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4163 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 4164 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 4165 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 4166 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 4167 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 4168 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 4169 0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 4170 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 4171 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 4172 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4173 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4174 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4175 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x43, 4176 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 4177 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 4178 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 4179 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 4180 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x03, 0x0a, 0x16, 4181 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 4182 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 4183 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4184 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4185 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 4186 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 4187 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x15, 4188 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 4189 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 4190 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 4191 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 4192 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 4193 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 4194 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 4195 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 4196 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 4197 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 4198 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 4199 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 4200 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 4201 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 4202 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 4203 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 4204 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 4205 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 4206 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0x99, 0x02, 4207 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4208 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 4209 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 4210 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 4211 0x65, 0x72, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4212 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 4213 0x28, 0x03, 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 4214 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 4215 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 4216 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 4217 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 4218 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 4219 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 4220 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 4221 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 4222 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 4223 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 4224 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x47, 0x6c, 0x6f, 4225 0x73, 0x73, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 4226 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 4227 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4228 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 4229 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 4230 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 4231 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x99, 0x06, 0x0a, 0x08, 0x47, 0x6c, 0x6f, 4232 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 4233 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 4234 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x18, 4235 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4236 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4237 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4238 0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61, 4239 0x69, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x50, 0x61, 4240 0x69, 0x72, 0x12, 0x6b, 0x0a, 0x12, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 4241 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 4242 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 4243 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 4244 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x2e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 4245 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 4246 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 4247 0x58, 0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 4248 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4249 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4250 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4251 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e, 4252 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 4253 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 4254 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 4255 0x40, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 4256 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 4257 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 4258 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 4259 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 4260 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 4261 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 4262 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x76, 0x0a, 4263 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, 4264 0x72, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 4265 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 4266 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 4267 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 4268 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 4269 0x09, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 4270 0x65, 0x43, 0x6f, 0x64, 0x65, 0x1a, 0x39, 0x0a, 0x10, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 4271 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x53, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x6e, 4272 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 4273 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 4274 0x3a, 0x65, 0xea, 0x41, 0x62, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4275 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 4276 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 4277 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 4278 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4279 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x67, 0x6c, 4280 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x7d, 0x42, 0x0b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x75, 4281 0x61, 0x67, 0x65, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 4282 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 4283 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 4284 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4285 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 4286 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 4287 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 4288 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4289 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4290 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x42, 4291 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x22, 0x53, 4292 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 4293 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 4294 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 4295 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 4296 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 0x6e, 4297 0x61, 0x6d, 0x65, 0x22, 0x56, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 4298 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x04, 4299 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 4300 0x41, 0x23, 0x0a, 0x21, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 4301 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6c, 0x6f, 4302 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbd, 0x01, 0x0a, 0x15, 4303 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 4304 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 4305 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x6c, 4306 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 4307 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4308 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 4309 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 4310 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 4311 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 4312 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 4313 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 4314 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x8c, 0x01, 0x0a, 0x16, 4315 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 4316 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 4317 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 4318 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4319 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 4320 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 4321 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 4322 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 4323 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa6, 0x02, 0x0a, 0x16, 0x43, 4324 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 4325 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 4326 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 4327 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4328 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4329 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 4330 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 4331 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 4332 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 4333 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 4334 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 4335 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 4336 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 4337 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 4338 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 4339 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 4340 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 4341 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 4342 0x44, 0x10, 0x05, 0x22, 0xa6, 0x02, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 4343 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 4344 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 4345 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 4346 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4347 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4348 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 4349 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 4350 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 4351 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 4352 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 4353 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 4354 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 4355 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 4356 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 4357 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 4358 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 4359 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 4360 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x22, 0xa0, 0x01, 0x0a, 4361 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 4362 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 4363 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 4364 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 4365 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 4366 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x73, 0x75, 4367 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 4368 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 4369 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 4370 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 4371 0x92, 0x06, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4372 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 4373 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 4374 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x35, 4375 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 4376 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 4377 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 4378 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 4379 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 4380 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 4381 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x64, 4382 0x0a, 0x0d, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 4383 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4384 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4385 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 4386 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 4387 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 4388 0x66, 0x69, 0x67, 0x73, 0x12, 0x65, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 4389 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 4390 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 4391 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 4392 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 4393 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 4394 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x68, 0x0a, 0x06, 0x6d, 4395 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 4396 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 4397 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 4398 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 4399 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x64, 4400 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6d, 4401 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x74, 0x0a, 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4402 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 4403 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4404 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 4405 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 4406 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 4407 0x61, 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 4408 0x0a, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 4409 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 4410 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 4411 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 4412 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7c, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 4413 0x72, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 4414 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x05, 0x76, 4415 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 4416 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4417 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 4418 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 4419 0x61, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 4420 0x3a, 0x02, 0x38, 0x01, 0x22, 0x72, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x6f, 0x63, 4421 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 4422 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 4423 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 4424 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 4425 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 4426 0x65, 0x48, 0x00, 0x52, 0x09, 0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 4427 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 4428 0x63, 0x68, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 4429 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5b, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 4430 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 4431 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4432 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 4433 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 4434 0x6e, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 4435 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 4436 0x6f, 0x6e, 0x22, 0xfe, 0x03, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4437 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 4438 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 4439 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 4440 0x6c, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4441 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 4442 0x52, 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 4443 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 4444 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 4445 0x61, 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 4446 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 4447 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 4448 0x65, 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 4449 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 4450 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 4451 0x73, 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 4452 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 4453 0x52, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 4454 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 4455 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 4456 0x03, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 4457 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 4458 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 4459 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 4460 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 4461 0x3b, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 4462 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 4463 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 4464 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 4465 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 4466 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 4467 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 4468 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x05, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 4469 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 4470 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 4471 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4472 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4473 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 4474 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 4475 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 4476 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 4477 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 4478 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4479 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 4480 0x0f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x50, 0x61, 0x67, 0x65, 0x73, 4481 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 4482 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x61, 4483 0x67, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 4484 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 4485 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 4486 0x50, 0x61, 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 4487 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 4488 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 4489 0x12, 0x33, 0x0a, 0x15, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 4490 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 4491 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 4492 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 4493 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 4494 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 4495 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6c, 0x6c, 4496 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 4497 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x69, 0x6c, 0x6c, 4498 0x61, 0x62, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3b, 4499 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 4500 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 4501 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 4502 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x05, 0x53, 4503 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 4504 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 4505 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 4506 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 4507 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x49, 0x4e, 4508 0x47, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 4509 0x10, 0x05, 0x32, 0xf2, 0x13, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 4510 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xf4, 0x01, 0x0a, 0x0d, 0x54, 0x72, 4511 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 4512 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 4513 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 4514 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 4515 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4516 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4517 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4518 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x82, 0xd3, 4519 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x36, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 4520 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 4521 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 4522 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 4523 0x2f, 0x22, 0x2a, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 4524 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 4525 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x3a, 0x01, 0x2a, 4526 0x12, 0x93, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 4527 0x61, 0x67, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4528 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4529 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 4530 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 4531 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 4532 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 4533 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x52, 0x65, 4534 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x22, 4535 0x37, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 4536 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 4537 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 4538 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x30, 0x22, 0x2b, 0x2f, 4539 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 4540 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 4541 0x63, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 4542 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2c, 0x6d, 0x69, 0x6d, 4543 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0xab, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x75, 4544 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 4545 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 4546 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 4547 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 4548 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 4549 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 4550 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 4551 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 4552 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x12, 4553 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 4554 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 4555 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 4556 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x5a, 0x31, 0x12, 0x2f, 4557 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 4558 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x75, 0x70, 4559 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0xda, 4560 0x41, 0x22, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 4561 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x2c, 0x6d, 4562 0x6f, 0x64, 0x65, 0x6c, 0x12, 0xd3, 0x01, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4563 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 4564 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4565 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 4566 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 4567 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4568 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4569 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4570 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 4571 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3a, 0x2f, 0x76, 0x33, 4572 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 4573 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 4574 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 4575 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0xeb, 0x01, 0x0a, 0x12, 0x42, 4576 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 4577 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 4578 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 4579 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4580 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 4581 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 4582 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x82, 4583 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x22, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 4584 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 4585 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 4586 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x65, 4587 0x78, 0x74, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 4588 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 4589 0x12, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4590 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x88, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 4591 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 4592 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 4593 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 4594 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4595 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 4596 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 4597 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 4598 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x22, 0x3f, 0x2f, 0x76, 4599 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 4600 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 4601 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 4602 0x73, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 4603 0xca, 0x41, 0x40, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4604 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 4605 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 4606 0x61, 0x74, 0x65, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 4607 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 4608 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 4609 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 4610 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 4611 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 4612 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 4613 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 4614 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 4615 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 4616 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 4617 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x67, 0x6c, 0x6f, 4618 0x73, 0x73, 0x61, 0x72, 0x79, 0xda, 0x41, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x67, 4619 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0xca, 0x41, 0x22, 0x0a, 0x08, 0x47, 0x6c, 0x6f, 0x73, 4620 0x73, 0x61, 0x72, 0x79, 0x12, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 4621 0x73, 0x61, 0x72, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xd0, 0x01, 0x0a, 4622 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 4623 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4624 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 4625 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 4626 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4627 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4628 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 4629 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 4630 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x33, 0x62, 4631 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 4632 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4633 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0xda, 4634 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 4635 0xb3, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 4636 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 4637 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 4638 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 4639 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 4640 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4641 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 4642 0x79, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 4643 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 4644 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 4645 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 4646 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdf, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 4647 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4648 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 4649 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 4650 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 4651 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 4652 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 4653 0x22, 0x75, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x2a, 0x33, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 4654 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 4655 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 4656 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 4657 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x30, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 4658 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 4659 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x4d, 4660 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x7e, 0xca, 0x41, 0x18, 0x74, 0x72, 0x61, 0x6e, 4661 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 4662 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x60, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 4663 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 4664 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 4665 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 4666 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 4667 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x74, 0x72, 0x61, 0x6e, 4668 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xf1, 0x01, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 4669 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x74, 0x72, 0x61, 4670 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 4671 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 4672 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x47, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 4673 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 4674 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 4675 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 4676 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4677 0x74, 0x65, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 4678 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x56, 4679 0x33, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 4680 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x5c, 4681 0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 4682 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 4683 0x74, 0x65, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 4684 0x74, 0x6f, 0x33, 4685} 4686 4687var ( 4688 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescOnce sync.Once 4689 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData = file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc 4690) 4691 4692func file_google_cloud_translate_v3beta1_translation_service_proto_rawDescGZIP() []byte { 4693 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescOnce.Do(func() { 4694 file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData) 4695 }) 4696 return file_google_cloud_translate_v3beta1_translation_service_proto_rawDescData 4697} 4698 4699var file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes = make([]protoimpl.EnumInfo, 4) 4700var file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 47) 4701var file_google_cloud_translate_v3beta1_translation_service_proto_goTypes = []interface{}{ 4702 (BatchTranslateMetadata_State)(0), // 0: google.cloud.translation.v3beta1.BatchTranslateMetadata.State 4703 (CreateGlossaryMetadata_State)(0), // 1: google.cloud.translation.v3beta1.CreateGlossaryMetadata.State 4704 (DeleteGlossaryMetadata_State)(0), // 2: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.State 4705 (BatchTranslateDocumentMetadata_State)(0), // 3: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.State 4706 (*TranslateTextGlossaryConfig)(nil), // 4: google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4707 (*TranslateTextRequest)(nil), // 5: google.cloud.translation.v3beta1.TranslateTextRequest 4708 (*TranslateTextResponse)(nil), // 6: google.cloud.translation.v3beta1.TranslateTextResponse 4709 (*Translation)(nil), // 7: google.cloud.translation.v3beta1.Translation 4710 (*DetectLanguageRequest)(nil), // 8: google.cloud.translation.v3beta1.DetectLanguageRequest 4711 (*DetectedLanguage)(nil), // 9: google.cloud.translation.v3beta1.DetectedLanguage 4712 (*DetectLanguageResponse)(nil), // 10: google.cloud.translation.v3beta1.DetectLanguageResponse 4713 (*GetSupportedLanguagesRequest)(nil), // 11: google.cloud.translation.v3beta1.GetSupportedLanguagesRequest 4714 (*SupportedLanguages)(nil), // 12: google.cloud.translation.v3beta1.SupportedLanguages 4715 (*SupportedLanguage)(nil), // 13: google.cloud.translation.v3beta1.SupportedLanguage 4716 (*GcsSource)(nil), // 14: google.cloud.translation.v3beta1.GcsSource 4717 (*InputConfig)(nil), // 15: google.cloud.translation.v3beta1.InputConfig 4718 (*GcsDestination)(nil), // 16: google.cloud.translation.v3beta1.GcsDestination 4719 (*OutputConfig)(nil), // 17: google.cloud.translation.v3beta1.OutputConfig 4720 (*DocumentInputConfig)(nil), // 18: google.cloud.translation.v3beta1.DocumentInputConfig 4721 (*DocumentOutputConfig)(nil), // 19: google.cloud.translation.v3beta1.DocumentOutputConfig 4722 (*TranslateDocumentRequest)(nil), // 20: google.cloud.translation.v3beta1.TranslateDocumentRequest 4723 (*DocumentTranslation)(nil), // 21: google.cloud.translation.v3beta1.DocumentTranslation 4724 (*TranslateDocumentResponse)(nil), // 22: google.cloud.translation.v3beta1.TranslateDocumentResponse 4725 (*BatchTranslateTextRequest)(nil), // 23: google.cloud.translation.v3beta1.BatchTranslateTextRequest 4726 (*BatchTranslateMetadata)(nil), // 24: google.cloud.translation.v3beta1.BatchTranslateMetadata 4727 (*BatchTranslateResponse)(nil), // 25: google.cloud.translation.v3beta1.BatchTranslateResponse 4728 (*GlossaryInputConfig)(nil), // 26: google.cloud.translation.v3beta1.GlossaryInputConfig 4729 (*Glossary)(nil), // 27: google.cloud.translation.v3beta1.Glossary 4730 (*CreateGlossaryRequest)(nil), // 28: google.cloud.translation.v3beta1.CreateGlossaryRequest 4731 (*GetGlossaryRequest)(nil), // 29: google.cloud.translation.v3beta1.GetGlossaryRequest 4732 (*DeleteGlossaryRequest)(nil), // 30: google.cloud.translation.v3beta1.DeleteGlossaryRequest 4733 (*ListGlossariesRequest)(nil), // 31: google.cloud.translation.v3beta1.ListGlossariesRequest 4734 (*ListGlossariesResponse)(nil), // 32: google.cloud.translation.v3beta1.ListGlossariesResponse 4735 (*CreateGlossaryMetadata)(nil), // 33: google.cloud.translation.v3beta1.CreateGlossaryMetadata 4736 (*DeleteGlossaryMetadata)(nil), // 34: google.cloud.translation.v3beta1.DeleteGlossaryMetadata 4737 (*DeleteGlossaryResponse)(nil), // 35: google.cloud.translation.v3beta1.DeleteGlossaryResponse 4738 (*BatchTranslateDocumentRequest)(nil), // 36: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest 4739 (*BatchDocumentInputConfig)(nil), // 37: google.cloud.translation.v3beta1.BatchDocumentInputConfig 4740 (*BatchDocumentOutputConfig)(nil), // 38: google.cloud.translation.v3beta1.BatchDocumentOutputConfig 4741 (*BatchTranslateDocumentResponse)(nil), // 39: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse 4742 (*BatchTranslateDocumentMetadata)(nil), // 40: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata 4743 nil, // 41: google.cloud.translation.v3beta1.TranslateTextRequest.LabelsEntry 4744 nil, // 42: google.cloud.translation.v3beta1.DetectLanguageRequest.LabelsEntry 4745 nil, // 43: google.cloud.translation.v3beta1.TranslateDocumentRequest.LabelsEntry 4746 nil, // 44: google.cloud.translation.v3beta1.BatchTranslateTextRequest.ModelsEntry 4747 nil, // 45: google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry 4748 nil, // 46: google.cloud.translation.v3beta1.BatchTranslateTextRequest.LabelsEntry 4749 (*Glossary_LanguageCodePair)(nil), // 47: google.cloud.translation.v3beta1.Glossary.LanguageCodePair 4750 (*Glossary_LanguageCodesSet)(nil), // 48: google.cloud.translation.v3beta1.Glossary.LanguageCodesSet 4751 nil, // 49: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.ModelsEntry 4752 nil, // 50: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry 4753 (*timestamppb.Timestamp)(nil), // 51: google.protobuf.Timestamp 4754 (*longrunning.Operation)(nil), // 52: google.longrunning.Operation 4755} 4756var file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs = []int32{ 4757 4, // 0: google.cloud.translation.v3beta1.TranslateTextRequest.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4758 41, // 1: google.cloud.translation.v3beta1.TranslateTextRequest.labels:type_name -> google.cloud.translation.v3beta1.TranslateTextRequest.LabelsEntry 4759 7, // 2: google.cloud.translation.v3beta1.TranslateTextResponse.translations:type_name -> google.cloud.translation.v3beta1.Translation 4760 7, // 3: google.cloud.translation.v3beta1.TranslateTextResponse.glossary_translations:type_name -> google.cloud.translation.v3beta1.Translation 4761 4, // 4: google.cloud.translation.v3beta1.Translation.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4762 42, // 5: google.cloud.translation.v3beta1.DetectLanguageRequest.labels:type_name -> google.cloud.translation.v3beta1.DetectLanguageRequest.LabelsEntry 4763 9, // 6: google.cloud.translation.v3beta1.DetectLanguageResponse.languages:type_name -> google.cloud.translation.v3beta1.DetectedLanguage 4764 13, // 7: google.cloud.translation.v3beta1.SupportedLanguages.languages:type_name -> google.cloud.translation.v3beta1.SupportedLanguage 4765 14, // 8: google.cloud.translation.v3beta1.InputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4766 16, // 9: google.cloud.translation.v3beta1.OutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination 4767 14, // 10: google.cloud.translation.v3beta1.DocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4768 16, // 11: google.cloud.translation.v3beta1.DocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination 4769 18, // 12: google.cloud.translation.v3beta1.TranslateDocumentRequest.document_input_config:type_name -> google.cloud.translation.v3beta1.DocumentInputConfig 4770 19, // 13: google.cloud.translation.v3beta1.TranslateDocumentRequest.document_output_config:type_name -> google.cloud.translation.v3beta1.DocumentOutputConfig 4771 4, // 14: google.cloud.translation.v3beta1.TranslateDocumentRequest.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4772 43, // 15: google.cloud.translation.v3beta1.TranslateDocumentRequest.labels:type_name -> google.cloud.translation.v3beta1.TranslateDocumentRequest.LabelsEntry 4773 21, // 16: google.cloud.translation.v3beta1.TranslateDocumentResponse.document_translation:type_name -> google.cloud.translation.v3beta1.DocumentTranslation 4774 21, // 17: google.cloud.translation.v3beta1.TranslateDocumentResponse.glossary_document_translation:type_name -> google.cloud.translation.v3beta1.DocumentTranslation 4775 4, // 18: google.cloud.translation.v3beta1.TranslateDocumentResponse.glossary_config:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4776 44, // 19: google.cloud.translation.v3beta1.BatchTranslateTextRequest.models:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.ModelsEntry 4777 15, // 20: google.cloud.translation.v3beta1.BatchTranslateTextRequest.input_configs:type_name -> google.cloud.translation.v3beta1.InputConfig 4778 17, // 21: google.cloud.translation.v3beta1.BatchTranslateTextRequest.output_config:type_name -> google.cloud.translation.v3beta1.OutputConfig 4779 45, // 22: google.cloud.translation.v3beta1.BatchTranslateTextRequest.glossaries:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry 4780 46, // 23: google.cloud.translation.v3beta1.BatchTranslateTextRequest.labels:type_name -> google.cloud.translation.v3beta1.BatchTranslateTextRequest.LabelsEntry 4781 0, // 24: google.cloud.translation.v3beta1.BatchTranslateMetadata.state:type_name -> google.cloud.translation.v3beta1.BatchTranslateMetadata.State 4782 51, // 25: google.cloud.translation.v3beta1.BatchTranslateMetadata.submit_time:type_name -> google.protobuf.Timestamp 4783 51, // 26: google.cloud.translation.v3beta1.BatchTranslateResponse.submit_time:type_name -> google.protobuf.Timestamp 4784 51, // 27: google.cloud.translation.v3beta1.BatchTranslateResponse.end_time:type_name -> google.protobuf.Timestamp 4785 14, // 28: google.cloud.translation.v3beta1.GlossaryInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4786 47, // 29: google.cloud.translation.v3beta1.Glossary.language_pair:type_name -> google.cloud.translation.v3beta1.Glossary.LanguageCodePair 4787 48, // 30: google.cloud.translation.v3beta1.Glossary.language_codes_set:type_name -> google.cloud.translation.v3beta1.Glossary.LanguageCodesSet 4788 26, // 31: google.cloud.translation.v3beta1.Glossary.input_config:type_name -> google.cloud.translation.v3beta1.GlossaryInputConfig 4789 51, // 32: google.cloud.translation.v3beta1.Glossary.submit_time:type_name -> google.protobuf.Timestamp 4790 51, // 33: google.cloud.translation.v3beta1.Glossary.end_time:type_name -> google.protobuf.Timestamp 4791 27, // 34: google.cloud.translation.v3beta1.CreateGlossaryRequest.glossary:type_name -> google.cloud.translation.v3beta1.Glossary 4792 27, // 35: google.cloud.translation.v3beta1.ListGlossariesResponse.glossaries:type_name -> google.cloud.translation.v3beta1.Glossary 4793 1, // 36: google.cloud.translation.v3beta1.CreateGlossaryMetadata.state:type_name -> google.cloud.translation.v3beta1.CreateGlossaryMetadata.State 4794 51, // 37: google.cloud.translation.v3beta1.CreateGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp 4795 2, // 38: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.state:type_name -> google.cloud.translation.v3beta1.DeleteGlossaryMetadata.State 4796 51, // 39: google.cloud.translation.v3beta1.DeleteGlossaryMetadata.submit_time:type_name -> google.protobuf.Timestamp 4797 51, // 40: google.cloud.translation.v3beta1.DeleteGlossaryResponse.submit_time:type_name -> google.protobuf.Timestamp 4798 51, // 41: google.cloud.translation.v3beta1.DeleteGlossaryResponse.end_time:type_name -> google.protobuf.Timestamp 4799 37, // 42: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.input_configs:type_name -> google.cloud.translation.v3beta1.BatchDocumentInputConfig 4800 38, // 43: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.output_config:type_name -> google.cloud.translation.v3beta1.BatchDocumentOutputConfig 4801 49, // 44: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.models:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.ModelsEntry 4802 50, // 45: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.glossaries:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry 4803 14, // 46: google.cloud.translation.v3beta1.BatchDocumentInputConfig.gcs_source:type_name -> google.cloud.translation.v3beta1.GcsSource 4804 16, // 47: google.cloud.translation.v3beta1.BatchDocumentOutputConfig.gcs_destination:type_name -> google.cloud.translation.v3beta1.GcsDestination 4805 51, // 48: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse.submit_time:type_name -> google.protobuf.Timestamp 4806 51, // 49: google.cloud.translation.v3beta1.BatchTranslateDocumentResponse.end_time:type_name -> google.protobuf.Timestamp 4807 3, // 50: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.state:type_name -> google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.State 4808 51, // 51: google.cloud.translation.v3beta1.BatchTranslateDocumentMetadata.submit_time:type_name -> google.protobuf.Timestamp 4809 4, // 52: google.cloud.translation.v3beta1.BatchTranslateTextRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4810 4, // 53: google.cloud.translation.v3beta1.BatchTranslateDocumentRequest.GlossariesEntry.value:type_name -> google.cloud.translation.v3beta1.TranslateTextGlossaryConfig 4811 5, // 54: google.cloud.translation.v3beta1.TranslationService.TranslateText:input_type -> google.cloud.translation.v3beta1.TranslateTextRequest 4812 8, // 55: google.cloud.translation.v3beta1.TranslationService.DetectLanguage:input_type -> google.cloud.translation.v3beta1.DetectLanguageRequest 4813 11, // 56: google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages:input_type -> google.cloud.translation.v3beta1.GetSupportedLanguagesRequest 4814 20, // 57: google.cloud.translation.v3beta1.TranslationService.TranslateDocument:input_type -> google.cloud.translation.v3beta1.TranslateDocumentRequest 4815 23, // 58: google.cloud.translation.v3beta1.TranslationService.BatchTranslateText:input_type -> google.cloud.translation.v3beta1.BatchTranslateTextRequest 4816 36, // 59: google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument:input_type -> google.cloud.translation.v3beta1.BatchTranslateDocumentRequest 4817 28, // 60: google.cloud.translation.v3beta1.TranslationService.CreateGlossary:input_type -> google.cloud.translation.v3beta1.CreateGlossaryRequest 4818 31, // 61: google.cloud.translation.v3beta1.TranslationService.ListGlossaries:input_type -> google.cloud.translation.v3beta1.ListGlossariesRequest 4819 29, // 62: google.cloud.translation.v3beta1.TranslationService.GetGlossary:input_type -> google.cloud.translation.v3beta1.GetGlossaryRequest 4820 30, // 63: google.cloud.translation.v3beta1.TranslationService.DeleteGlossary:input_type -> google.cloud.translation.v3beta1.DeleteGlossaryRequest 4821 6, // 64: google.cloud.translation.v3beta1.TranslationService.TranslateText:output_type -> google.cloud.translation.v3beta1.TranslateTextResponse 4822 10, // 65: google.cloud.translation.v3beta1.TranslationService.DetectLanguage:output_type -> google.cloud.translation.v3beta1.DetectLanguageResponse 4823 12, // 66: google.cloud.translation.v3beta1.TranslationService.GetSupportedLanguages:output_type -> google.cloud.translation.v3beta1.SupportedLanguages 4824 22, // 67: google.cloud.translation.v3beta1.TranslationService.TranslateDocument:output_type -> google.cloud.translation.v3beta1.TranslateDocumentResponse 4825 52, // 68: google.cloud.translation.v3beta1.TranslationService.BatchTranslateText:output_type -> google.longrunning.Operation 4826 52, // 69: google.cloud.translation.v3beta1.TranslationService.BatchTranslateDocument:output_type -> google.longrunning.Operation 4827 52, // 70: google.cloud.translation.v3beta1.TranslationService.CreateGlossary:output_type -> google.longrunning.Operation 4828 32, // 71: google.cloud.translation.v3beta1.TranslationService.ListGlossaries:output_type -> google.cloud.translation.v3beta1.ListGlossariesResponse 4829 27, // 72: google.cloud.translation.v3beta1.TranslationService.GetGlossary:output_type -> google.cloud.translation.v3beta1.Glossary 4830 52, // 73: google.cloud.translation.v3beta1.TranslationService.DeleteGlossary:output_type -> google.longrunning.Operation 4831 64, // [64:74] is the sub-list for method output_type 4832 54, // [54:64] is the sub-list for method input_type 4833 54, // [54:54] is the sub-list for extension type_name 4834 54, // [54:54] is the sub-list for extension extendee 4835 0, // [0:54] is the sub-list for field type_name 4836} 4837 4838func init() { file_google_cloud_translate_v3beta1_translation_service_proto_init() } 4839func file_google_cloud_translate_v3beta1_translation_service_proto_init() { 4840 if File_google_cloud_translate_v3beta1_translation_service_proto != nil { 4841 return 4842 } 4843 if !protoimpl.UnsafeEnabled { 4844 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 4845 switch v := v.(*TranslateTextGlossaryConfig); i { 4846 case 0: 4847 return &v.state 4848 case 1: 4849 return &v.sizeCache 4850 case 2: 4851 return &v.unknownFields 4852 default: 4853 return nil 4854 } 4855 } 4856 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 4857 switch v := v.(*TranslateTextRequest); i { 4858 case 0: 4859 return &v.state 4860 case 1: 4861 return &v.sizeCache 4862 case 2: 4863 return &v.unknownFields 4864 default: 4865 return nil 4866 } 4867 } 4868 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 4869 switch v := v.(*TranslateTextResponse); i { 4870 case 0: 4871 return &v.state 4872 case 1: 4873 return &v.sizeCache 4874 case 2: 4875 return &v.unknownFields 4876 default: 4877 return nil 4878 } 4879 } 4880 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 4881 switch v := v.(*Translation); i { 4882 case 0: 4883 return &v.state 4884 case 1: 4885 return &v.sizeCache 4886 case 2: 4887 return &v.unknownFields 4888 default: 4889 return nil 4890 } 4891 } 4892 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 4893 switch v := v.(*DetectLanguageRequest); i { 4894 case 0: 4895 return &v.state 4896 case 1: 4897 return &v.sizeCache 4898 case 2: 4899 return &v.unknownFields 4900 default: 4901 return nil 4902 } 4903 } 4904 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 4905 switch v := v.(*DetectedLanguage); i { 4906 case 0: 4907 return &v.state 4908 case 1: 4909 return &v.sizeCache 4910 case 2: 4911 return &v.unknownFields 4912 default: 4913 return nil 4914 } 4915 } 4916 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 4917 switch v := v.(*DetectLanguageResponse); i { 4918 case 0: 4919 return &v.state 4920 case 1: 4921 return &v.sizeCache 4922 case 2: 4923 return &v.unknownFields 4924 default: 4925 return nil 4926 } 4927 } 4928 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 4929 switch v := v.(*GetSupportedLanguagesRequest); i { 4930 case 0: 4931 return &v.state 4932 case 1: 4933 return &v.sizeCache 4934 case 2: 4935 return &v.unknownFields 4936 default: 4937 return nil 4938 } 4939 } 4940 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 4941 switch v := v.(*SupportedLanguages); i { 4942 case 0: 4943 return &v.state 4944 case 1: 4945 return &v.sizeCache 4946 case 2: 4947 return &v.unknownFields 4948 default: 4949 return nil 4950 } 4951 } 4952 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 4953 switch v := v.(*SupportedLanguage); i { 4954 case 0: 4955 return &v.state 4956 case 1: 4957 return &v.sizeCache 4958 case 2: 4959 return &v.unknownFields 4960 default: 4961 return nil 4962 } 4963 } 4964 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 4965 switch v := v.(*GcsSource); i { 4966 case 0: 4967 return &v.state 4968 case 1: 4969 return &v.sizeCache 4970 case 2: 4971 return &v.unknownFields 4972 default: 4973 return nil 4974 } 4975 } 4976 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 4977 switch v := v.(*InputConfig); i { 4978 case 0: 4979 return &v.state 4980 case 1: 4981 return &v.sizeCache 4982 case 2: 4983 return &v.unknownFields 4984 default: 4985 return nil 4986 } 4987 } 4988 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 4989 switch v := v.(*GcsDestination); i { 4990 case 0: 4991 return &v.state 4992 case 1: 4993 return &v.sizeCache 4994 case 2: 4995 return &v.unknownFields 4996 default: 4997 return nil 4998 } 4999 } 5000 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 5001 switch v := v.(*OutputConfig); i { 5002 case 0: 5003 return &v.state 5004 case 1: 5005 return &v.sizeCache 5006 case 2: 5007 return &v.unknownFields 5008 default: 5009 return nil 5010 } 5011 } 5012 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 5013 switch v := v.(*DocumentInputConfig); i { 5014 case 0: 5015 return &v.state 5016 case 1: 5017 return &v.sizeCache 5018 case 2: 5019 return &v.unknownFields 5020 default: 5021 return nil 5022 } 5023 } 5024 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 5025 switch v := v.(*DocumentOutputConfig); i { 5026 case 0: 5027 return &v.state 5028 case 1: 5029 return &v.sizeCache 5030 case 2: 5031 return &v.unknownFields 5032 default: 5033 return nil 5034 } 5035 } 5036 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 5037 switch v := v.(*TranslateDocumentRequest); i { 5038 case 0: 5039 return &v.state 5040 case 1: 5041 return &v.sizeCache 5042 case 2: 5043 return &v.unknownFields 5044 default: 5045 return nil 5046 } 5047 } 5048 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 5049 switch v := v.(*DocumentTranslation); i { 5050 case 0: 5051 return &v.state 5052 case 1: 5053 return &v.sizeCache 5054 case 2: 5055 return &v.unknownFields 5056 default: 5057 return nil 5058 } 5059 } 5060 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 5061 switch v := v.(*TranslateDocumentResponse); i { 5062 case 0: 5063 return &v.state 5064 case 1: 5065 return &v.sizeCache 5066 case 2: 5067 return &v.unknownFields 5068 default: 5069 return nil 5070 } 5071 } 5072 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 5073 switch v := v.(*BatchTranslateTextRequest); i { 5074 case 0: 5075 return &v.state 5076 case 1: 5077 return &v.sizeCache 5078 case 2: 5079 return &v.unknownFields 5080 default: 5081 return nil 5082 } 5083 } 5084 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 5085 switch v := v.(*BatchTranslateMetadata); i { 5086 case 0: 5087 return &v.state 5088 case 1: 5089 return &v.sizeCache 5090 case 2: 5091 return &v.unknownFields 5092 default: 5093 return nil 5094 } 5095 } 5096 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 5097 switch v := v.(*BatchTranslateResponse); i { 5098 case 0: 5099 return &v.state 5100 case 1: 5101 return &v.sizeCache 5102 case 2: 5103 return &v.unknownFields 5104 default: 5105 return nil 5106 } 5107 } 5108 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 5109 switch v := v.(*GlossaryInputConfig); i { 5110 case 0: 5111 return &v.state 5112 case 1: 5113 return &v.sizeCache 5114 case 2: 5115 return &v.unknownFields 5116 default: 5117 return nil 5118 } 5119 } 5120 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 5121 switch v := v.(*Glossary); i { 5122 case 0: 5123 return &v.state 5124 case 1: 5125 return &v.sizeCache 5126 case 2: 5127 return &v.unknownFields 5128 default: 5129 return nil 5130 } 5131 } 5132 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 5133 switch v := v.(*CreateGlossaryRequest); i { 5134 case 0: 5135 return &v.state 5136 case 1: 5137 return &v.sizeCache 5138 case 2: 5139 return &v.unknownFields 5140 default: 5141 return nil 5142 } 5143 } 5144 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 5145 switch v := v.(*GetGlossaryRequest); i { 5146 case 0: 5147 return &v.state 5148 case 1: 5149 return &v.sizeCache 5150 case 2: 5151 return &v.unknownFields 5152 default: 5153 return nil 5154 } 5155 } 5156 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 5157 switch v := v.(*DeleteGlossaryRequest); i { 5158 case 0: 5159 return &v.state 5160 case 1: 5161 return &v.sizeCache 5162 case 2: 5163 return &v.unknownFields 5164 default: 5165 return nil 5166 } 5167 } 5168 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 5169 switch v := v.(*ListGlossariesRequest); i { 5170 case 0: 5171 return &v.state 5172 case 1: 5173 return &v.sizeCache 5174 case 2: 5175 return &v.unknownFields 5176 default: 5177 return nil 5178 } 5179 } 5180 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 5181 switch v := v.(*ListGlossariesResponse); i { 5182 case 0: 5183 return &v.state 5184 case 1: 5185 return &v.sizeCache 5186 case 2: 5187 return &v.unknownFields 5188 default: 5189 return nil 5190 } 5191 } 5192 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 5193 switch v := v.(*CreateGlossaryMetadata); i { 5194 case 0: 5195 return &v.state 5196 case 1: 5197 return &v.sizeCache 5198 case 2: 5199 return &v.unknownFields 5200 default: 5201 return nil 5202 } 5203 } 5204 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 5205 switch v := v.(*DeleteGlossaryMetadata); i { 5206 case 0: 5207 return &v.state 5208 case 1: 5209 return &v.sizeCache 5210 case 2: 5211 return &v.unknownFields 5212 default: 5213 return nil 5214 } 5215 } 5216 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 5217 switch v := v.(*DeleteGlossaryResponse); i { 5218 case 0: 5219 return &v.state 5220 case 1: 5221 return &v.sizeCache 5222 case 2: 5223 return &v.unknownFields 5224 default: 5225 return nil 5226 } 5227 } 5228 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 5229 switch v := v.(*BatchTranslateDocumentRequest); i { 5230 case 0: 5231 return &v.state 5232 case 1: 5233 return &v.sizeCache 5234 case 2: 5235 return &v.unknownFields 5236 default: 5237 return nil 5238 } 5239 } 5240 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 5241 switch v := v.(*BatchDocumentInputConfig); i { 5242 case 0: 5243 return &v.state 5244 case 1: 5245 return &v.sizeCache 5246 case 2: 5247 return &v.unknownFields 5248 default: 5249 return nil 5250 } 5251 } 5252 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 5253 switch v := v.(*BatchDocumentOutputConfig); i { 5254 case 0: 5255 return &v.state 5256 case 1: 5257 return &v.sizeCache 5258 case 2: 5259 return &v.unknownFields 5260 default: 5261 return nil 5262 } 5263 } 5264 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 5265 switch v := v.(*BatchTranslateDocumentResponse); i { 5266 case 0: 5267 return &v.state 5268 case 1: 5269 return &v.sizeCache 5270 case 2: 5271 return &v.unknownFields 5272 default: 5273 return nil 5274 } 5275 } 5276 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 5277 switch v := v.(*BatchTranslateDocumentMetadata); i { 5278 case 0: 5279 return &v.state 5280 case 1: 5281 return &v.sizeCache 5282 case 2: 5283 return &v.unknownFields 5284 default: 5285 return nil 5286 } 5287 } 5288 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 5289 switch v := v.(*Glossary_LanguageCodePair); i { 5290 case 0: 5291 return &v.state 5292 case 1: 5293 return &v.sizeCache 5294 case 2: 5295 return &v.unknownFields 5296 default: 5297 return nil 5298 } 5299 } 5300 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 5301 switch v := v.(*Glossary_LanguageCodesSet); i { 5302 case 0: 5303 return &v.state 5304 case 1: 5305 return &v.sizeCache 5306 case 2: 5307 return &v.unknownFields 5308 default: 5309 return nil 5310 } 5311 } 5312 } 5313 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[4].OneofWrappers = []interface{}{ 5314 (*DetectLanguageRequest_Content)(nil), 5315 } 5316 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[11].OneofWrappers = []interface{}{ 5317 (*InputConfig_GcsSource)(nil), 5318 } 5319 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[13].OneofWrappers = []interface{}{ 5320 (*OutputConfig_GcsDestination)(nil), 5321 } 5322 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[14].OneofWrappers = []interface{}{ 5323 (*DocumentInputConfig_Content)(nil), 5324 (*DocumentInputConfig_GcsSource)(nil), 5325 } 5326 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[15].OneofWrappers = []interface{}{ 5327 (*DocumentOutputConfig_GcsDestination)(nil), 5328 } 5329 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[22].OneofWrappers = []interface{}{ 5330 (*GlossaryInputConfig_GcsSource)(nil), 5331 } 5332 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[23].OneofWrappers = []interface{}{ 5333 (*Glossary_LanguagePair)(nil), 5334 (*Glossary_LanguageCodesSet_)(nil), 5335 } 5336 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[33].OneofWrappers = []interface{}{ 5337 (*BatchDocumentInputConfig_GcsSource)(nil), 5338 } 5339 file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes[34].OneofWrappers = []interface{}{ 5340 (*BatchDocumentOutputConfig_GcsDestination)(nil), 5341 } 5342 type x struct{} 5343 out := protoimpl.TypeBuilder{ 5344 File: protoimpl.DescBuilder{ 5345 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 5346 RawDescriptor: file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc, 5347 NumEnums: 4, 5348 NumMessages: 47, 5349 NumExtensions: 0, 5350 NumServices: 1, 5351 }, 5352 GoTypes: file_google_cloud_translate_v3beta1_translation_service_proto_goTypes, 5353 DependencyIndexes: file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs, 5354 EnumInfos: file_google_cloud_translate_v3beta1_translation_service_proto_enumTypes, 5355 MessageInfos: file_google_cloud_translate_v3beta1_translation_service_proto_msgTypes, 5356 }.Build() 5357 File_google_cloud_translate_v3beta1_translation_service_proto = out.File 5358 file_google_cloud_translate_v3beta1_translation_service_proto_rawDesc = nil 5359 file_google_cloud_translate_v3beta1_translation_service_proto_goTypes = nil 5360 file_google_cloud_translate_v3beta1_translation_service_proto_depIdxs = nil 5361} 5362 5363// Reference imports to suppress errors if they are not otherwise used. 5364var _ context.Context 5365var _ grpc.ClientConnInterface 5366 5367// This is a compile-time assertion to ensure that this generated file 5368// is compatible with the grpc package it is being compiled against. 5369const _ = grpc.SupportPackageIsVersion6 5370 5371// TranslationServiceClient is the client API for TranslationService service. 5372// 5373// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 5374type TranslationServiceClient interface { 5375 // Translates input text and returns translated text. 5376 TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error) 5377 // Detects the language of text within a request. 5378 DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error) 5379 // Returns a list of supported languages for translation. 5380 GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error) 5381 // Translates documents in synchronous mode. 5382 TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error) 5383 // Translates a large volume of text in asynchronous batch mode. 5384 // This function provides real-time output as the inputs are being processed. 5385 // If caller cancels a request, the partial results (for an input file, it's 5386 // all or nothing) may still be available on the specified output location. 5387 // 5388 // This call returns immediately and you can 5389 // use google.longrunning.Operation.name to poll the status of the call. 5390 BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5391 // Translates a large volume of documents in asynchronous batch mode. 5392 // This function provides real-time output as the inputs are being processed. 5393 // If caller cancels a request, the partial results (for an input file, it's 5394 // all or nothing) may still be available on the specified output location. 5395 // 5396 // This call returns immediately and you can use 5397 // google.longrunning.Operation.name to poll the status of the call. 5398 BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5399 // Creates a glossary and returns the long-running operation. Returns 5400 // NOT_FOUND, if the project doesn't exist. 5401 CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5402 // Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't 5403 // exist. 5404 ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error) 5405 // Gets a glossary. Returns NOT_FOUND, if the glossary doesn't 5406 // exist. 5407 GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error) 5408 // Deletes a glossary, or cancels glossary construction 5409 // if the glossary isn't created yet. 5410 // Returns NOT_FOUND, if the glossary doesn't exist. 5411 DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) 5412} 5413 5414type translationServiceClient struct { 5415 cc grpc.ClientConnInterface 5416} 5417 5418func NewTranslationServiceClient(cc grpc.ClientConnInterface) TranslationServiceClient { 5419 return &translationServiceClient{cc} 5420} 5421 5422func (c *translationServiceClient) TranslateText(ctx context.Context, in *TranslateTextRequest, opts ...grpc.CallOption) (*TranslateTextResponse, error) { 5423 out := new(TranslateTextResponse) 5424 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/TranslateText", in, out, opts...) 5425 if err != nil { 5426 return nil, err 5427 } 5428 return out, nil 5429} 5430 5431func (c *translationServiceClient) DetectLanguage(ctx context.Context, in *DetectLanguageRequest, opts ...grpc.CallOption) (*DetectLanguageResponse, error) { 5432 out := new(DetectLanguageResponse) 5433 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/DetectLanguage", in, out, opts...) 5434 if err != nil { 5435 return nil, err 5436 } 5437 return out, nil 5438} 5439 5440func (c *translationServiceClient) GetSupportedLanguages(ctx context.Context, in *GetSupportedLanguagesRequest, opts ...grpc.CallOption) (*SupportedLanguages, error) { 5441 out := new(SupportedLanguages) 5442 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages", in, out, opts...) 5443 if err != nil { 5444 return nil, err 5445 } 5446 return out, nil 5447} 5448 5449func (c *translationServiceClient) TranslateDocument(ctx context.Context, in *TranslateDocumentRequest, opts ...grpc.CallOption) (*TranslateDocumentResponse, error) { 5450 out := new(TranslateDocumentResponse) 5451 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/TranslateDocument", in, out, opts...) 5452 if err != nil { 5453 return nil, err 5454 } 5455 return out, nil 5456} 5457 5458func (c *translationServiceClient) BatchTranslateText(ctx context.Context, in *BatchTranslateTextRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5459 out := new(longrunning.Operation) 5460 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateText", in, out, opts...) 5461 if err != nil { 5462 return nil, err 5463 } 5464 return out, nil 5465} 5466 5467func (c *translationServiceClient) BatchTranslateDocument(ctx context.Context, in *BatchTranslateDocumentRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5468 out := new(longrunning.Operation) 5469 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument", in, out, opts...) 5470 if err != nil { 5471 return nil, err 5472 } 5473 return out, nil 5474} 5475 5476func (c *translationServiceClient) CreateGlossary(ctx context.Context, in *CreateGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5477 out := new(longrunning.Operation) 5478 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/CreateGlossary", in, out, opts...) 5479 if err != nil { 5480 return nil, err 5481 } 5482 return out, nil 5483} 5484 5485func (c *translationServiceClient) ListGlossaries(ctx context.Context, in *ListGlossariesRequest, opts ...grpc.CallOption) (*ListGlossariesResponse, error) { 5486 out := new(ListGlossariesResponse) 5487 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/ListGlossaries", in, out, opts...) 5488 if err != nil { 5489 return nil, err 5490 } 5491 return out, nil 5492} 5493 5494func (c *translationServiceClient) GetGlossary(ctx context.Context, in *GetGlossaryRequest, opts ...grpc.CallOption) (*Glossary, error) { 5495 out := new(Glossary) 5496 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/GetGlossary", in, out, opts...) 5497 if err != nil { 5498 return nil, err 5499 } 5500 return out, nil 5501} 5502 5503func (c *translationServiceClient) DeleteGlossary(ctx context.Context, in *DeleteGlossaryRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) { 5504 out := new(longrunning.Operation) 5505 err := c.cc.Invoke(ctx, "/google.cloud.translation.v3beta1.TranslationService/DeleteGlossary", in, out, opts...) 5506 if err != nil { 5507 return nil, err 5508 } 5509 return out, nil 5510} 5511 5512// TranslationServiceServer is the server API for TranslationService service. 5513type TranslationServiceServer interface { 5514 // Translates input text and returns translated text. 5515 TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error) 5516 // Detects the language of text within a request. 5517 DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error) 5518 // Returns a list of supported languages for translation. 5519 GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error) 5520 // Translates documents in synchronous mode. 5521 TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error) 5522 // Translates a large volume of text in asynchronous batch mode. 5523 // This function provides real-time output as the inputs are being processed. 5524 // If caller cancels a request, the partial results (for an input file, it's 5525 // all or nothing) may still be available on the specified output location. 5526 // 5527 // This call returns immediately and you can 5528 // use google.longrunning.Operation.name to poll the status of the call. 5529 BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error) 5530 // Translates a large volume of documents in asynchronous batch mode. 5531 // This function provides real-time output as the inputs are being processed. 5532 // If caller cancels a request, the partial results (for an input file, it's 5533 // all or nothing) may still be available on the specified output location. 5534 // 5535 // This call returns immediately and you can use 5536 // google.longrunning.Operation.name to poll the status of the call. 5537 BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error) 5538 // Creates a glossary and returns the long-running operation. Returns 5539 // NOT_FOUND, if the project doesn't exist. 5540 CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error) 5541 // Lists glossaries in a project. Returns NOT_FOUND, if the project doesn't 5542 // exist. 5543 ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error) 5544 // Gets a glossary. Returns NOT_FOUND, if the glossary doesn't 5545 // exist. 5546 GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error) 5547 // Deletes a glossary, or cancels glossary construction 5548 // if the glossary isn't created yet. 5549 // Returns NOT_FOUND, if the glossary doesn't exist. 5550 DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error) 5551} 5552 5553// UnimplementedTranslationServiceServer can be embedded to have forward compatible implementations. 5554type UnimplementedTranslationServiceServer struct { 5555} 5556 5557func (*UnimplementedTranslationServiceServer) TranslateText(context.Context, *TranslateTextRequest) (*TranslateTextResponse, error) { 5558 return nil, status.Errorf(codes.Unimplemented, "method TranslateText not implemented") 5559} 5560func (*UnimplementedTranslationServiceServer) DetectLanguage(context.Context, *DetectLanguageRequest) (*DetectLanguageResponse, error) { 5561 return nil, status.Errorf(codes.Unimplemented, "method DetectLanguage not implemented") 5562} 5563func (*UnimplementedTranslationServiceServer) GetSupportedLanguages(context.Context, *GetSupportedLanguagesRequest) (*SupportedLanguages, error) { 5564 return nil, status.Errorf(codes.Unimplemented, "method GetSupportedLanguages not implemented") 5565} 5566func (*UnimplementedTranslationServiceServer) TranslateDocument(context.Context, *TranslateDocumentRequest) (*TranslateDocumentResponse, error) { 5567 return nil, status.Errorf(codes.Unimplemented, "method TranslateDocument not implemented") 5568} 5569func (*UnimplementedTranslationServiceServer) BatchTranslateText(context.Context, *BatchTranslateTextRequest) (*longrunning.Operation, error) { 5570 return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateText not implemented") 5571} 5572func (*UnimplementedTranslationServiceServer) BatchTranslateDocument(context.Context, *BatchTranslateDocumentRequest) (*longrunning.Operation, error) { 5573 return nil, status.Errorf(codes.Unimplemented, "method BatchTranslateDocument not implemented") 5574} 5575func (*UnimplementedTranslationServiceServer) CreateGlossary(context.Context, *CreateGlossaryRequest) (*longrunning.Operation, error) { 5576 return nil, status.Errorf(codes.Unimplemented, "method CreateGlossary not implemented") 5577} 5578func (*UnimplementedTranslationServiceServer) ListGlossaries(context.Context, *ListGlossariesRequest) (*ListGlossariesResponse, error) { 5579 return nil, status.Errorf(codes.Unimplemented, "method ListGlossaries not implemented") 5580} 5581func (*UnimplementedTranslationServiceServer) GetGlossary(context.Context, *GetGlossaryRequest) (*Glossary, error) { 5582 return nil, status.Errorf(codes.Unimplemented, "method GetGlossary not implemented") 5583} 5584func (*UnimplementedTranslationServiceServer) DeleteGlossary(context.Context, *DeleteGlossaryRequest) (*longrunning.Operation, error) { 5585 return nil, status.Errorf(codes.Unimplemented, "method DeleteGlossary not implemented") 5586} 5587 5588func RegisterTranslationServiceServer(s *grpc.Server, srv TranslationServiceServer) { 5589 s.RegisterService(&_TranslationService_serviceDesc, srv) 5590} 5591 5592func _TranslationService_TranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5593 in := new(TranslateTextRequest) 5594 if err := dec(in); err != nil { 5595 return nil, err 5596 } 5597 if interceptor == nil { 5598 return srv.(TranslationServiceServer).TranslateText(ctx, in) 5599 } 5600 info := &grpc.UnaryServerInfo{ 5601 Server: srv, 5602 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/TranslateText", 5603 } 5604 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5605 return srv.(TranslationServiceServer).TranslateText(ctx, req.(*TranslateTextRequest)) 5606 } 5607 return interceptor(ctx, in, info, handler) 5608} 5609 5610func _TranslationService_DetectLanguage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5611 in := new(DetectLanguageRequest) 5612 if err := dec(in); err != nil { 5613 return nil, err 5614 } 5615 if interceptor == nil { 5616 return srv.(TranslationServiceServer).DetectLanguage(ctx, in) 5617 } 5618 info := &grpc.UnaryServerInfo{ 5619 Server: srv, 5620 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/DetectLanguage", 5621 } 5622 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5623 return srv.(TranslationServiceServer).DetectLanguage(ctx, req.(*DetectLanguageRequest)) 5624 } 5625 return interceptor(ctx, in, info, handler) 5626} 5627 5628func _TranslationService_GetSupportedLanguages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5629 in := new(GetSupportedLanguagesRequest) 5630 if err := dec(in); err != nil { 5631 return nil, err 5632 } 5633 if interceptor == nil { 5634 return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, in) 5635 } 5636 info := &grpc.UnaryServerInfo{ 5637 Server: srv, 5638 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/GetSupportedLanguages", 5639 } 5640 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5641 return srv.(TranslationServiceServer).GetSupportedLanguages(ctx, req.(*GetSupportedLanguagesRequest)) 5642 } 5643 return interceptor(ctx, in, info, handler) 5644} 5645 5646func _TranslationService_TranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5647 in := new(TranslateDocumentRequest) 5648 if err := dec(in); err != nil { 5649 return nil, err 5650 } 5651 if interceptor == nil { 5652 return srv.(TranslationServiceServer).TranslateDocument(ctx, in) 5653 } 5654 info := &grpc.UnaryServerInfo{ 5655 Server: srv, 5656 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/TranslateDocument", 5657 } 5658 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5659 return srv.(TranslationServiceServer).TranslateDocument(ctx, req.(*TranslateDocumentRequest)) 5660 } 5661 return interceptor(ctx, in, info, handler) 5662} 5663 5664func _TranslationService_BatchTranslateText_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5665 in := new(BatchTranslateTextRequest) 5666 if err := dec(in); err != nil { 5667 return nil, err 5668 } 5669 if interceptor == nil { 5670 return srv.(TranslationServiceServer).BatchTranslateText(ctx, in) 5671 } 5672 info := &grpc.UnaryServerInfo{ 5673 Server: srv, 5674 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateText", 5675 } 5676 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5677 return srv.(TranslationServiceServer).BatchTranslateText(ctx, req.(*BatchTranslateTextRequest)) 5678 } 5679 return interceptor(ctx, in, info, handler) 5680} 5681 5682func _TranslationService_BatchTranslateDocument_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5683 in := new(BatchTranslateDocumentRequest) 5684 if err := dec(in); err != nil { 5685 return nil, err 5686 } 5687 if interceptor == nil { 5688 return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, in) 5689 } 5690 info := &grpc.UnaryServerInfo{ 5691 Server: srv, 5692 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/BatchTranslateDocument", 5693 } 5694 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5695 return srv.(TranslationServiceServer).BatchTranslateDocument(ctx, req.(*BatchTranslateDocumentRequest)) 5696 } 5697 return interceptor(ctx, in, info, handler) 5698} 5699 5700func _TranslationService_CreateGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5701 in := new(CreateGlossaryRequest) 5702 if err := dec(in); err != nil { 5703 return nil, err 5704 } 5705 if interceptor == nil { 5706 return srv.(TranslationServiceServer).CreateGlossary(ctx, in) 5707 } 5708 info := &grpc.UnaryServerInfo{ 5709 Server: srv, 5710 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/CreateGlossary", 5711 } 5712 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5713 return srv.(TranslationServiceServer).CreateGlossary(ctx, req.(*CreateGlossaryRequest)) 5714 } 5715 return interceptor(ctx, in, info, handler) 5716} 5717 5718func _TranslationService_ListGlossaries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5719 in := new(ListGlossariesRequest) 5720 if err := dec(in); err != nil { 5721 return nil, err 5722 } 5723 if interceptor == nil { 5724 return srv.(TranslationServiceServer).ListGlossaries(ctx, in) 5725 } 5726 info := &grpc.UnaryServerInfo{ 5727 Server: srv, 5728 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/ListGlossaries", 5729 } 5730 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5731 return srv.(TranslationServiceServer).ListGlossaries(ctx, req.(*ListGlossariesRequest)) 5732 } 5733 return interceptor(ctx, in, info, handler) 5734} 5735 5736func _TranslationService_GetGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5737 in := new(GetGlossaryRequest) 5738 if err := dec(in); err != nil { 5739 return nil, err 5740 } 5741 if interceptor == nil { 5742 return srv.(TranslationServiceServer).GetGlossary(ctx, in) 5743 } 5744 info := &grpc.UnaryServerInfo{ 5745 Server: srv, 5746 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/GetGlossary", 5747 } 5748 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5749 return srv.(TranslationServiceServer).GetGlossary(ctx, req.(*GetGlossaryRequest)) 5750 } 5751 return interceptor(ctx, in, info, handler) 5752} 5753 5754func _TranslationService_DeleteGlossary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 5755 in := new(DeleteGlossaryRequest) 5756 if err := dec(in); err != nil { 5757 return nil, err 5758 } 5759 if interceptor == nil { 5760 return srv.(TranslationServiceServer).DeleteGlossary(ctx, in) 5761 } 5762 info := &grpc.UnaryServerInfo{ 5763 Server: srv, 5764 FullMethod: "/google.cloud.translation.v3beta1.TranslationService/DeleteGlossary", 5765 } 5766 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 5767 return srv.(TranslationServiceServer).DeleteGlossary(ctx, req.(*DeleteGlossaryRequest)) 5768 } 5769 return interceptor(ctx, in, info, handler) 5770} 5771 5772var _TranslationService_serviceDesc = grpc.ServiceDesc{ 5773 ServiceName: "google.cloud.translation.v3beta1.TranslationService", 5774 HandlerType: (*TranslationServiceServer)(nil), 5775 Methods: []grpc.MethodDesc{ 5776 { 5777 MethodName: "TranslateText", 5778 Handler: _TranslationService_TranslateText_Handler, 5779 }, 5780 { 5781 MethodName: "DetectLanguage", 5782 Handler: _TranslationService_DetectLanguage_Handler, 5783 }, 5784 { 5785 MethodName: "GetSupportedLanguages", 5786 Handler: _TranslationService_GetSupportedLanguages_Handler, 5787 }, 5788 { 5789 MethodName: "TranslateDocument", 5790 Handler: _TranslationService_TranslateDocument_Handler, 5791 }, 5792 { 5793 MethodName: "BatchTranslateText", 5794 Handler: _TranslationService_BatchTranslateText_Handler, 5795 }, 5796 { 5797 MethodName: "BatchTranslateDocument", 5798 Handler: _TranslationService_BatchTranslateDocument_Handler, 5799 }, 5800 { 5801 MethodName: "CreateGlossary", 5802 Handler: _TranslationService_CreateGlossary_Handler, 5803 }, 5804 { 5805 MethodName: "ListGlossaries", 5806 Handler: _TranslationService_ListGlossaries_Handler, 5807 }, 5808 { 5809 MethodName: "GetGlossary", 5810 Handler: _TranslationService_GetGlossary_Handler, 5811 }, 5812 { 5813 MethodName: "DeleteGlossary", 5814 Handler: _TranslationService_DeleteGlossary_Handler, 5815 }, 5816 }, 5817 Streams: []grpc.StreamDesc{}, 5818 Metadata: "google/cloud/translate/v3beta1/translation_service.proto", 5819} 5820