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