1// Copyright 2019 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
16// Code generated by protoc-gen-go. DO NOT EDIT.
17// versions:
18// 	protoc-gen-go v1.22.0
19// 	protoc        v3.11.2
20// source: google/cloud/vision/v1p4beta1/image_annotator.proto
21
22package vision
23
24import (
25	context "context"
26	reflect "reflect"
27	sync "sync"
28
29	proto "github.com/golang/protobuf/proto"
30	timestamp "github.com/golang/protobuf/ptypes/timestamp"
31	_ "google.golang.org/genproto/googleapis/api/annotations"
32	longrunning "google.golang.org/genproto/googleapis/longrunning"
33	status "google.golang.org/genproto/googleapis/rpc/status"
34	color "google.golang.org/genproto/googleapis/type/color"
35	latlng "google.golang.org/genproto/googleapis/type/latlng"
36	_ "google.golang.org/genproto/protobuf/field_mask"
37	grpc "google.golang.org/grpc"
38	codes "google.golang.org/grpc/codes"
39	status1 "google.golang.org/grpc/status"
40	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
41	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
42)
43
44const (
45	// Verify that this generated code is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
47	// Verify that runtime/protoimpl is sufficiently up-to-date.
48	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
49)
50
51// This is a compile-time assertion that a sufficiently up-to-date version
52// of the legacy proto package is being used.
53const _ = proto.ProtoPackageIsVersion4
54
55// A bucketized representation of likelihood, which is intended to give clients
56// highly stable results across model upgrades.
57type Likelihood int32
58
59const (
60	// Unknown likelihood.
61	Likelihood_UNKNOWN Likelihood = 0
62	// It is very unlikely.
63	Likelihood_VERY_UNLIKELY Likelihood = 1
64	// It is unlikely.
65	Likelihood_UNLIKELY Likelihood = 2
66	// It is possible.
67	Likelihood_POSSIBLE Likelihood = 3
68	// It is likely.
69	Likelihood_LIKELY Likelihood = 4
70	// It is very likely.
71	Likelihood_VERY_LIKELY Likelihood = 5
72)
73
74// Enum value maps for Likelihood.
75var (
76	Likelihood_name = map[int32]string{
77		0: "UNKNOWN",
78		1: "VERY_UNLIKELY",
79		2: "UNLIKELY",
80		3: "POSSIBLE",
81		4: "LIKELY",
82		5: "VERY_LIKELY",
83	}
84	Likelihood_value = map[string]int32{
85		"UNKNOWN":       0,
86		"VERY_UNLIKELY": 1,
87		"UNLIKELY":      2,
88		"POSSIBLE":      3,
89		"LIKELY":        4,
90		"VERY_LIKELY":   5,
91	}
92)
93
94func (x Likelihood) Enum() *Likelihood {
95	p := new(Likelihood)
96	*p = x
97	return p
98}
99
100func (x Likelihood) String() string {
101	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
102}
103
104func (Likelihood) Descriptor() protoreflect.EnumDescriptor {
105	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[0].Descriptor()
106}
107
108func (Likelihood) Type() protoreflect.EnumType {
109	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[0]
110}
111
112func (x Likelihood) Number() protoreflect.EnumNumber {
113	return protoreflect.EnumNumber(x)
114}
115
116// Deprecated: Use Likelihood.Descriptor instead.
117func (Likelihood) EnumDescriptor() ([]byte, []int) {
118	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0}
119}
120
121// Type of Google Cloud Vision API feature to be extracted.
122type Feature_Type int32
123
124const (
125	// Unspecified feature type.
126	Feature_TYPE_UNSPECIFIED Feature_Type = 0
127	// Run face detection.
128	Feature_FACE_DETECTION Feature_Type = 1
129	// Run landmark detection.
130	Feature_LANDMARK_DETECTION Feature_Type = 2
131	// Run logo detection.
132	Feature_LOGO_DETECTION Feature_Type = 3
133	// Run label detection.
134	Feature_LABEL_DETECTION Feature_Type = 4
135	// Run text detection / optical character recognition (OCR). Text detection
136	// is optimized for areas of text within a larger image; if the image is
137	// a document, use `DOCUMENT_TEXT_DETECTION` instead.
138	Feature_TEXT_DETECTION Feature_Type = 5
139	// Run dense text document OCR. Takes precedence when both
140	// `DOCUMENT_TEXT_DETECTION` and `TEXT_DETECTION` are present.
141	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
142	// Run Safe Search to detect potentially unsafe
143	// or undesirable content.
144	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
145	// Compute a set of image properties, such as the
146	// image's dominant colors.
147	Feature_IMAGE_PROPERTIES Feature_Type = 7
148	// Run crop hints.
149	Feature_CROP_HINTS Feature_Type = 9
150	// Run web detection.
151	Feature_WEB_DETECTION Feature_Type = 10
152	// Run Product Search.
153	Feature_PRODUCT_SEARCH Feature_Type = 12
154	// Run localizer for object detection.
155	Feature_OBJECT_LOCALIZATION Feature_Type = 19
156)
157
158// Enum value maps for Feature_Type.
159var (
160	Feature_Type_name = map[int32]string{
161		0:  "TYPE_UNSPECIFIED",
162		1:  "FACE_DETECTION",
163		2:  "LANDMARK_DETECTION",
164		3:  "LOGO_DETECTION",
165		4:  "LABEL_DETECTION",
166		5:  "TEXT_DETECTION",
167		11: "DOCUMENT_TEXT_DETECTION",
168		6:  "SAFE_SEARCH_DETECTION",
169		7:  "IMAGE_PROPERTIES",
170		9:  "CROP_HINTS",
171		10: "WEB_DETECTION",
172		12: "PRODUCT_SEARCH",
173		19: "OBJECT_LOCALIZATION",
174	}
175	Feature_Type_value = map[string]int32{
176		"TYPE_UNSPECIFIED":        0,
177		"FACE_DETECTION":          1,
178		"LANDMARK_DETECTION":      2,
179		"LOGO_DETECTION":          3,
180		"LABEL_DETECTION":         4,
181		"TEXT_DETECTION":          5,
182		"DOCUMENT_TEXT_DETECTION": 11,
183		"SAFE_SEARCH_DETECTION":   6,
184		"IMAGE_PROPERTIES":        7,
185		"CROP_HINTS":              9,
186		"WEB_DETECTION":           10,
187		"PRODUCT_SEARCH":          12,
188		"OBJECT_LOCALIZATION":     19,
189	}
190)
191
192func (x Feature_Type) Enum() *Feature_Type {
193	p := new(Feature_Type)
194	*p = x
195	return p
196}
197
198func (x Feature_Type) String() string {
199	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
200}
201
202func (Feature_Type) Descriptor() protoreflect.EnumDescriptor {
203	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[1].Descriptor()
204}
205
206func (Feature_Type) Type() protoreflect.EnumType {
207	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[1]
208}
209
210func (x Feature_Type) Number() protoreflect.EnumNumber {
211	return protoreflect.EnumNumber(x)
212}
213
214// Deprecated: Use Feature_Type.Descriptor instead.
215func (Feature_Type) EnumDescriptor() ([]byte, []int) {
216	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0, 0}
217}
218
219// Face landmark (feature) type.
220// Left and right are defined from the vantage of the viewer of the image
221// without considering mirror projections typical of photos. So, `LEFT_EYE`,
222// typically, is the person's right eye.
223type FaceAnnotation_Landmark_Type int32
224
225const (
226	// Unknown face landmark detected. Should not be filled.
227	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
228	// Left eye.
229	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
230	// Right eye.
231	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
232	// Left of left eyebrow.
233	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
234	// Right of left eyebrow.
235	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
236	// Left of right eyebrow.
237	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
238	// Right of right eyebrow.
239	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
240	// Midpoint between eyes.
241	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
242	// Nose tip.
243	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
244	// Upper lip.
245	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
246	// Lower lip.
247	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
248	// Mouth left.
249	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
250	// Mouth right.
251	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
252	// Mouth center.
253	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
254	// Nose, bottom right.
255	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
256	// Nose, bottom left.
257	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
258	// Nose, bottom center.
259	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
260	// Left eye, top boundary.
261	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
262	// Left eye, right corner.
263	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
264	// Left eye, bottom boundary.
265	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
266	// Left eye, left corner.
267	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
268	// Right eye, top boundary.
269	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
270	// Right eye, right corner.
271	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
272	// Right eye, bottom boundary.
273	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
274	// Right eye, left corner.
275	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
276	// Left eyebrow, upper midpoint.
277	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
278	// Right eyebrow, upper midpoint.
279	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
280	// Left ear tragion.
281	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
282	// Right ear tragion.
283	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
284	// Left eye pupil.
285	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
286	// Right eye pupil.
287	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
288	// Forehead glabella.
289	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
290	// Chin gnathion.
291	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
292	// Chin left gonion.
293	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
294	// Chin right gonion.
295	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
296)
297
298// Enum value maps for FaceAnnotation_Landmark_Type.
299var (
300	FaceAnnotation_Landmark_Type_name = map[int32]string{
301		0:  "UNKNOWN_LANDMARK",
302		1:  "LEFT_EYE",
303		2:  "RIGHT_EYE",
304		3:  "LEFT_OF_LEFT_EYEBROW",
305		4:  "RIGHT_OF_LEFT_EYEBROW",
306		5:  "LEFT_OF_RIGHT_EYEBROW",
307		6:  "RIGHT_OF_RIGHT_EYEBROW",
308		7:  "MIDPOINT_BETWEEN_EYES",
309		8:  "NOSE_TIP",
310		9:  "UPPER_LIP",
311		10: "LOWER_LIP",
312		11: "MOUTH_LEFT",
313		12: "MOUTH_RIGHT",
314		13: "MOUTH_CENTER",
315		14: "NOSE_BOTTOM_RIGHT",
316		15: "NOSE_BOTTOM_LEFT",
317		16: "NOSE_BOTTOM_CENTER",
318		17: "LEFT_EYE_TOP_BOUNDARY",
319		18: "LEFT_EYE_RIGHT_CORNER",
320		19: "LEFT_EYE_BOTTOM_BOUNDARY",
321		20: "LEFT_EYE_LEFT_CORNER",
322		21: "RIGHT_EYE_TOP_BOUNDARY",
323		22: "RIGHT_EYE_RIGHT_CORNER",
324		23: "RIGHT_EYE_BOTTOM_BOUNDARY",
325		24: "RIGHT_EYE_LEFT_CORNER",
326		25: "LEFT_EYEBROW_UPPER_MIDPOINT",
327		26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
328		27: "LEFT_EAR_TRAGION",
329		28: "RIGHT_EAR_TRAGION",
330		29: "LEFT_EYE_PUPIL",
331		30: "RIGHT_EYE_PUPIL",
332		31: "FOREHEAD_GLABELLA",
333		32: "CHIN_GNATHION",
334		33: "CHIN_LEFT_GONION",
335		34: "CHIN_RIGHT_GONION",
336	}
337	FaceAnnotation_Landmark_Type_value = map[string]int32{
338		"UNKNOWN_LANDMARK":             0,
339		"LEFT_EYE":                     1,
340		"RIGHT_EYE":                    2,
341		"LEFT_OF_LEFT_EYEBROW":         3,
342		"RIGHT_OF_LEFT_EYEBROW":        4,
343		"LEFT_OF_RIGHT_EYEBROW":        5,
344		"RIGHT_OF_RIGHT_EYEBROW":       6,
345		"MIDPOINT_BETWEEN_EYES":        7,
346		"NOSE_TIP":                     8,
347		"UPPER_LIP":                    9,
348		"LOWER_LIP":                    10,
349		"MOUTH_LEFT":                   11,
350		"MOUTH_RIGHT":                  12,
351		"MOUTH_CENTER":                 13,
352		"NOSE_BOTTOM_RIGHT":            14,
353		"NOSE_BOTTOM_LEFT":             15,
354		"NOSE_BOTTOM_CENTER":           16,
355		"LEFT_EYE_TOP_BOUNDARY":        17,
356		"LEFT_EYE_RIGHT_CORNER":        18,
357		"LEFT_EYE_BOTTOM_BOUNDARY":     19,
358		"LEFT_EYE_LEFT_CORNER":         20,
359		"RIGHT_EYE_TOP_BOUNDARY":       21,
360		"RIGHT_EYE_RIGHT_CORNER":       22,
361		"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
362		"RIGHT_EYE_LEFT_CORNER":        24,
363		"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
364		"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
365		"LEFT_EAR_TRAGION":             27,
366		"RIGHT_EAR_TRAGION":            28,
367		"LEFT_EYE_PUPIL":               29,
368		"RIGHT_EYE_PUPIL":              30,
369		"FOREHEAD_GLABELLA":            31,
370		"CHIN_GNATHION":                32,
371		"CHIN_LEFT_GONION":             33,
372		"CHIN_RIGHT_GONION":            34,
373	}
374)
375
376func (x FaceAnnotation_Landmark_Type) Enum() *FaceAnnotation_Landmark_Type {
377	p := new(FaceAnnotation_Landmark_Type)
378	*p = x
379	return p
380}
381
382func (x FaceAnnotation_Landmark_Type) String() string {
383	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
384}
385
386func (FaceAnnotation_Landmark_Type) Descriptor() protoreflect.EnumDescriptor {
387	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[2].Descriptor()
388}
389
390func (FaceAnnotation_Landmark_Type) Type() protoreflect.EnumType {
391	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[2]
392}
393
394func (x FaceAnnotation_Landmark_Type) Number() protoreflect.EnumNumber {
395	return protoreflect.EnumNumber(x)
396}
397
398// Deprecated: Use FaceAnnotation_Landmark_Type.Descriptor instead.
399func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
400	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0, 0}
401}
402
403// Batch operation states.
404type OperationMetadata_State int32
405
406const (
407	// Invalid.
408	OperationMetadata_STATE_UNSPECIFIED OperationMetadata_State = 0
409	// Request is received.
410	OperationMetadata_CREATED OperationMetadata_State = 1
411	// Request is actively being processed.
412	OperationMetadata_RUNNING OperationMetadata_State = 2
413	// The batch processing is done.
414	OperationMetadata_DONE OperationMetadata_State = 3
415	// The batch processing was cancelled.
416	OperationMetadata_CANCELLED OperationMetadata_State = 4
417)
418
419// Enum value maps for OperationMetadata_State.
420var (
421	OperationMetadata_State_name = map[int32]string{
422		0: "STATE_UNSPECIFIED",
423		1: "CREATED",
424		2: "RUNNING",
425		3: "DONE",
426		4: "CANCELLED",
427	}
428	OperationMetadata_State_value = map[string]int32{
429		"STATE_UNSPECIFIED": 0,
430		"CREATED":           1,
431		"RUNNING":           2,
432		"DONE":              3,
433		"CANCELLED":         4,
434	}
435)
436
437func (x OperationMetadata_State) Enum() *OperationMetadata_State {
438	p := new(OperationMetadata_State)
439	*p = x
440	return p
441}
442
443func (x OperationMetadata_State) String() string {
444	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
445}
446
447func (OperationMetadata_State) Descriptor() protoreflect.EnumDescriptor {
448	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[3].Descriptor()
449}
450
451func (OperationMetadata_State) Type() protoreflect.EnumType {
452	return &file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes[3]
453}
454
455func (x OperationMetadata_State) Number() protoreflect.EnumNumber {
456	return protoreflect.EnumNumber(x)
457}
458
459// Deprecated: Use OperationMetadata_State.Descriptor instead.
460func (OperationMetadata_State) EnumDescriptor() ([]byte, []int) {
461	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{37, 0}
462}
463
464// The type of Google Cloud Vision API detection to perform, and the maximum
465// number of results to return for that type. Multiple `Feature` objects can
466// be specified in the `features` list.
467type Feature struct {
468	state         protoimpl.MessageState
469	sizeCache     protoimpl.SizeCache
470	unknownFields protoimpl.UnknownFields
471
472	// The feature type.
473	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p4beta1.Feature_Type" json:"type,omitempty"`
474	// Maximum number of results of this type. Does not apply to
475	// `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
476	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
477	// Model to use for the feature.
478	// Supported values: "builtin/stable" (the default if unset) and
479	// "builtin/latest".
480	Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
481}
482
483func (x *Feature) Reset() {
484	*x = Feature{}
485	if protoimpl.UnsafeEnabled {
486		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0]
487		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
488		ms.StoreMessageInfo(mi)
489	}
490}
491
492func (x *Feature) String() string {
493	return protoimpl.X.MessageStringOf(x)
494}
495
496func (*Feature) ProtoMessage() {}
497
498func (x *Feature) ProtoReflect() protoreflect.Message {
499	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0]
500	if protoimpl.UnsafeEnabled && x != nil {
501		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
502		if ms.LoadMessageInfo() == nil {
503			ms.StoreMessageInfo(mi)
504		}
505		return ms
506	}
507	return mi.MessageOf(x)
508}
509
510// Deprecated: Use Feature.ProtoReflect.Descriptor instead.
511func (*Feature) Descriptor() ([]byte, []int) {
512	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{0}
513}
514
515func (x *Feature) GetType() Feature_Type {
516	if x != nil {
517		return x.Type
518	}
519	return Feature_TYPE_UNSPECIFIED
520}
521
522func (x *Feature) GetMaxResults() int32 {
523	if x != nil {
524		return x.MaxResults
525	}
526	return 0
527}
528
529func (x *Feature) GetModel() string {
530	if x != nil {
531		return x.Model
532	}
533	return ""
534}
535
536// External image source (Google Cloud Storage or web URL image location).
537type ImageSource struct {
538	state         protoimpl.MessageState
539	sizeCache     protoimpl.SizeCache
540	unknownFields protoimpl.UnknownFields
541
542	// **Use `image_uri` instead.**
543	//
544	// The Google Cloud Storage  URI of the form
545	// `gs://bucket_name/object_name`. Object versioning is not supported. See
546	// [Google Cloud Storage Request
547	// URIs](https://cloud.google.com/storage/docs/reference-uris) for more info.
548	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
549	// The URI of the source image. Can be either:
550	//
551	// 1. A Google Cloud Storage URI of the form
552	//    `gs://bucket_name/object_name`. Object versioning is not supported. See
553	//    [Google Cloud Storage Request
554	//    URIs](https://cloud.google.com/storage/docs/reference-uris) for more
555	//    info.
556	//
557	// 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from
558	//    HTTP/HTTPS URLs, Google cannot guarantee that the request will be
559	//    completed. Your request may fail if the specified host denies the
560	//    request (e.g. due to request throttling or DOS prevention), or if Google
561	//    throttles requests to the site for abuse prevention. You should not
562	//    depend on externally-hosted images for production applications.
563	//
564	// When both `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
565	// precedence.
566	ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
567}
568
569func (x *ImageSource) Reset() {
570	*x = ImageSource{}
571	if protoimpl.UnsafeEnabled {
572		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1]
573		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
574		ms.StoreMessageInfo(mi)
575	}
576}
577
578func (x *ImageSource) String() string {
579	return protoimpl.X.MessageStringOf(x)
580}
581
582func (*ImageSource) ProtoMessage() {}
583
584func (x *ImageSource) ProtoReflect() protoreflect.Message {
585	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1]
586	if protoimpl.UnsafeEnabled && x != nil {
587		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
588		if ms.LoadMessageInfo() == nil {
589			ms.StoreMessageInfo(mi)
590		}
591		return ms
592	}
593	return mi.MessageOf(x)
594}
595
596// Deprecated: Use ImageSource.ProtoReflect.Descriptor instead.
597func (*ImageSource) Descriptor() ([]byte, []int) {
598	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{1}
599}
600
601func (x *ImageSource) GetGcsImageUri() string {
602	if x != nil {
603		return x.GcsImageUri
604	}
605	return ""
606}
607
608func (x *ImageSource) GetImageUri() string {
609	if x != nil {
610		return x.ImageUri
611	}
612	return ""
613}
614
615// Client image to perform Google Cloud Vision API tasks over.
616type Image struct {
617	state         protoimpl.MessageState
618	sizeCache     protoimpl.SizeCache
619	unknownFields protoimpl.UnknownFields
620
621	// Image content, represented as a stream of bytes.
622	// Note: As with all `bytes` fields, protobuffers use a pure binary
623	// representation, whereas JSON representations use base64.
624	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
625	// Google Cloud Storage image location, or publicly-accessible image
626	// URL. If both `content` and `source` are provided for an image, `content`
627	// takes precedence and is used to perform the image annotation request.
628	Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
629}
630
631func (x *Image) Reset() {
632	*x = Image{}
633	if protoimpl.UnsafeEnabled {
634		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2]
635		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
636		ms.StoreMessageInfo(mi)
637	}
638}
639
640func (x *Image) String() string {
641	return protoimpl.X.MessageStringOf(x)
642}
643
644func (*Image) ProtoMessage() {}
645
646func (x *Image) ProtoReflect() protoreflect.Message {
647	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2]
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 Image.ProtoReflect.Descriptor instead.
659func (*Image) Descriptor() ([]byte, []int) {
660	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{2}
661}
662
663func (x *Image) GetContent() []byte {
664	if x != nil {
665		return x.Content
666	}
667	return nil
668}
669
670func (x *Image) GetSource() *ImageSource {
671	if x != nil {
672		return x.Source
673	}
674	return nil
675}
676
677// A face annotation object contains the results of face detection.
678type FaceAnnotation struct {
679	state         protoimpl.MessageState
680	sizeCache     protoimpl.SizeCache
681	unknownFields protoimpl.UnknownFields
682
683	// The bounding polygon around the face. The coordinates of the bounding box
684	// are in the original image's scale.
685	// The bounding box is computed to "frame" the face in accordance with human
686	// expectations. It is based on the landmarker results.
687	// Note that one or more x and/or y coordinates may not be generated in the
688	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
689	// appears in the image to be annotated.
690	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
691	// The `fd_bounding_poly` bounding polygon is tighter than the
692	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
693	// is used to eliminate the face from any image analysis that detects the
694	// "amount of skin" visible in an image. It is not based on the
695	// landmarker results, only on the initial face detection, hence
696	// the <code>fd</code> (face detection) prefix.
697	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
698	// Detected face landmarks.
699	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
700	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
701	// of the face relative to the image vertical about the axis perpendicular to
702	// the face. Range [-180,180].
703	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
704	// Yaw angle, which indicates the leftward/rightward angle that the face is
705	// pointing relative to the vertical plane perpendicular to the image. Range
706	// [-180,180].
707	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
708	// Pitch angle, which indicates the upwards/downwards angle that the face is
709	// pointing relative to the image's horizontal plane. Range [-180,180].
710	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
711	// Detection confidence. Range [0, 1].
712	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
713	// Face landmarking confidence. Range [0, 1].
714	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
715	// Joy likelihood.
716	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"joy_likelihood,omitempty"`
717	// Sorrow likelihood.
718	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
719	// Anger likelihood.
720	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"anger_likelihood,omitempty"`
721	// Surprise likelihood.
722	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"surprise_likelihood,omitempty"`
723	// Under-exposed likelihood.
724	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
725	// Blurred likelihood.
726	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"blurred_likelihood,omitempty"`
727	// Headwear likelihood.
728	HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"headwear_likelihood,omitempty"`
729	// Additional recognition information. Only computed if
730	// image_context.face_recognition_params is provided, **and** a match is found
731	// to a [Celebrity][google.cloud.vision.v1p4beta1.Celebrity] in the input
732	// [CelebritySet][google.cloud.vision.v1p4beta1.CelebritySet]. This field is
733	// sorted in order of decreasing confidence values.
734	RecognitionResult []*FaceRecognitionResult `protobuf:"bytes,16,rep,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
735}
736
737func (x *FaceAnnotation) Reset() {
738	*x = FaceAnnotation{}
739	if protoimpl.UnsafeEnabled {
740		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3]
741		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
742		ms.StoreMessageInfo(mi)
743	}
744}
745
746func (x *FaceAnnotation) String() string {
747	return protoimpl.X.MessageStringOf(x)
748}
749
750func (*FaceAnnotation) ProtoMessage() {}
751
752func (x *FaceAnnotation) ProtoReflect() protoreflect.Message {
753	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3]
754	if protoimpl.UnsafeEnabled && x != nil {
755		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
756		if ms.LoadMessageInfo() == nil {
757			ms.StoreMessageInfo(mi)
758		}
759		return ms
760	}
761	return mi.MessageOf(x)
762}
763
764// Deprecated: Use FaceAnnotation.ProtoReflect.Descriptor instead.
765func (*FaceAnnotation) Descriptor() ([]byte, []int) {
766	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3}
767}
768
769func (x *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
770	if x != nil {
771		return x.BoundingPoly
772	}
773	return nil
774}
775
776func (x *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
777	if x != nil {
778		return x.FdBoundingPoly
779	}
780	return nil
781}
782
783func (x *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
784	if x != nil {
785		return x.Landmarks
786	}
787	return nil
788}
789
790func (x *FaceAnnotation) GetRollAngle() float32 {
791	if x != nil {
792		return x.RollAngle
793	}
794	return 0
795}
796
797func (x *FaceAnnotation) GetPanAngle() float32 {
798	if x != nil {
799		return x.PanAngle
800	}
801	return 0
802}
803
804func (x *FaceAnnotation) GetTiltAngle() float32 {
805	if x != nil {
806		return x.TiltAngle
807	}
808	return 0
809}
810
811func (x *FaceAnnotation) GetDetectionConfidence() float32 {
812	if x != nil {
813		return x.DetectionConfidence
814	}
815	return 0
816}
817
818func (x *FaceAnnotation) GetLandmarkingConfidence() float32 {
819	if x != nil {
820		return x.LandmarkingConfidence
821	}
822	return 0
823}
824
825func (x *FaceAnnotation) GetJoyLikelihood() Likelihood {
826	if x != nil {
827		return x.JoyLikelihood
828	}
829	return Likelihood_UNKNOWN
830}
831
832func (x *FaceAnnotation) GetSorrowLikelihood() Likelihood {
833	if x != nil {
834		return x.SorrowLikelihood
835	}
836	return Likelihood_UNKNOWN
837}
838
839func (x *FaceAnnotation) GetAngerLikelihood() Likelihood {
840	if x != nil {
841		return x.AngerLikelihood
842	}
843	return Likelihood_UNKNOWN
844}
845
846func (x *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
847	if x != nil {
848		return x.SurpriseLikelihood
849	}
850	return Likelihood_UNKNOWN
851}
852
853func (x *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
854	if x != nil {
855		return x.UnderExposedLikelihood
856	}
857	return Likelihood_UNKNOWN
858}
859
860func (x *FaceAnnotation) GetBlurredLikelihood() Likelihood {
861	if x != nil {
862		return x.BlurredLikelihood
863	}
864	return Likelihood_UNKNOWN
865}
866
867func (x *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
868	if x != nil {
869		return x.HeadwearLikelihood
870	}
871	return Likelihood_UNKNOWN
872}
873
874func (x *FaceAnnotation) GetRecognitionResult() []*FaceRecognitionResult {
875	if x != nil {
876		return x.RecognitionResult
877	}
878	return nil
879}
880
881// Detected entity location information.
882type LocationInfo struct {
883	state         protoimpl.MessageState
884	sizeCache     protoimpl.SizeCache
885	unknownFields protoimpl.UnknownFields
886
887	// lat/long location coordinates.
888	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
889}
890
891func (x *LocationInfo) Reset() {
892	*x = LocationInfo{}
893	if protoimpl.UnsafeEnabled {
894		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4]
895		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
896		ms.StoreMessageInfo(mi)
897	}
898}
899
900func (x *LocationInfo) String() string {
901	return protoimpl.X.MessageStringOf(x)
902}
903
904func (*LocationInfo) ProtoMessage() {}
905
906func (x *LocationInfo) ProtoReflect() protoreflect.Message {
907	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4]
908	if protoimpl.UnsafeEnabled && x != nil {
909		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
910		if ms.LoadMessageInfo() == nil {
911			ms.StoreMessageInfo(mi)
912		}
913		return ms
914	}
915	return mi.MessageOf(x)
916}
917
918// Deprecated: Use LocationInfo.ProtoReflect.Descriptor instead.
919func (*LocationInfo) Descriptor() ([]byte, []int) {
920	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{4}
921}
922
923func (x *LocationInfo) GetLatLng() *latlng.LatLng {
924	if x != nil {
925		return x.LatLng
926	}
927	return nil
928}
929
930// A `Property` consists of a user-supplied name/value pair.
931type Property struct {
932	state         protoimpl.MessageState
933	sizeCache     protoimpl.SizeCache
934	unknownFields protoimpl.UnknownFields
935
936	// Name of the property.
937	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
938	// Value of the property.
939	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
940	// Value of numeric properties.
941	Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
942}
943
944func (x *Property) Reset() {
945	*x = Property{}
946	if protoimpl.UnsafeEnabled {
947		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5]
948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949		ms.StoreMessageInfo(mi)
950	}
951}
952
953func (x *Property) String() string {
954	return protoimpl.X.MessageStringOf(x)
955}
956
957func (*Property) ProtoMessage() {}
958
959func (x *Property) ProtoReflect() protoreflect.Message {
960	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5]
961	if protoimpl.UnsafeEnabled && x != nil {
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		if ms.LoadMessageInfo() == nil {
964			ms.StoreMessageInfo(mi)
965		}
966		return ms
967	}
968	return mi.MessageOf(x)
969}
970
971// Deprecated: Use Property.ProtoReflect.Descriptor instead.
972func (*Property) Descriptor() ([]byte, []int) {
973	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{5}
974}
975
976func (x *Property) GetName() string {
977	if x != nil {
978		return x.Name
979	}
980	return ""
981}
982
983func (x *Property) GetValue() string {
984	if x != nil {
985		return x.Value
986	}
987	return ""
988}
989
990func (x *Property) GetUint64Value() uint64 {
991	if x != nil {
992		return x.Uint64Value
993	}
994	return 0
995}
996
997// Set of detected entity features.
998type EntityAnnotation struct {
999	state         protoimpl.MessageState
1000	sizeCache     protoimpl.SizeCache
1001	unknownFields protoimpl.UnknownFields
1002
1003	// Opaque entity ID. Some IDs may be available in
1004	// [Google Knowledge Graph Search
1005	// API](https://developers.google.com/knowledge-graph/).
1006	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1007	// The language code for the locale in which the entity textual
1008	// `description` is expressed.
1009	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
1010	// Entity textual description, expressed in its `locale` language.
1011	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
1012	// Overall score of the result. Range [0, 1].
1013	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1014	// **Deprecated. Use `score` instead.**
1015	// The accuracy of the entity detection in an image.
1016	// For example, for an image in which the "Eiffel Tower" entity is detected,
1017	// this field represents the confidence that there is a tower in the query
1018	// image. Range [0, 1].
1019	//
1020	// Deprecated: Do not use.
1021	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
1022	// The relevancy of the ICA (Image Content Annotation) label to the
1023	// image. For example, the relevancy of "tower" is likely higher to an image
1024	// containing the detected "Eiffel Tower" than to an image containing a
1025	// detected distant towering building, even though the confidence that
1026	// there is a tower in each image may be the same. Range [0, 1].
1027	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
1028	// Image region to which this entity belongs. Not produced
1029	// for `LABEL_DETECTION` features.
1030	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1031	// The location information for the detected entity. Multiple
1032	// `LocationInfo` elements can be present because one location may
1033	// indicate the location of the scene in the image, and another location
1034	// may indicate the location of the place where the image was taken.
1035	// Location information is usually present for landmarks.
1036	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
1037	// Some entities may have optional user-supplied `Property` (name/value)
1038	// fields, such a score or string that qualifies the entity.
1039	Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
1040}
1041
1042func (x *EntityAnnotation) Reset() {
1043	*x = EntityAnnotation{}
1044	if protoimpl.UnsafeEnabled {
1045		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6]
1046		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1047		ms.StoreMessageInfo(mi)
1048	}
1049}
1050
1051func (x *EntityAnnotation) String() string {
1052	return protoimpl.X.MessageStringOf(x)
1053}
1054
1055func (*EntityAnnotation) ProtoMessage() {}
1056
1057func (x *EntityAnnotation) ProtoReflect() protoreflect.Message {
1058	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6]
1059	if protoimpl.UnsafeEnabled && x != nil {
1060		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1061		if ms.LoadMessageInfo() == nil {
1062			ms.StoreMessageInfo(mi)
1063		}
1064		return ms
1065	}
1066	return mi.MessageOf(x)
1067}
1068
1069// Deprecated: Use EntityAnnotation.ProtoReflect.Descriptor instead.
1070func (*EntityAnnotation) Descriptor() ([]byte, []int) {
1071	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{6}
1072}
1073
1074func (x *EntityAnnotation) GetMid() string {
1075	if x != nil {
1076		return x.Mid
1077	}
1078	return ""
1079}
1080
1081func (x *EntityAnnotation) GetLocale() string {
1082	if x != nil {
1083		return x.Locale
1084	}
1085	return ""
1086}
1087
1088func (x *EntityAnnotation) GetDescription() string {
1089	if x != nil {
1090		return x.Description
1091	}
1092	return ""
1093}
1094
1095func (x *EntityAnnotation) GetScore() float32 {
1096	if x != nil {
1097		return x.Score
1098	}
1099	return 0
1100}
1101
1102// Deprecated: Do not use.
1103func (x *EntityAnnotation) GetConfidence() float32 {
1104	if x != nil {
1105		return x.Confidence
1106	}
1107	return 0
1108}
1109
1110func (x *EntityAnnotation) GetTopicality() float32 {
1111	if x != nil {
1112		return x.Topicality
1113	}
1114	return 0
1115}
1116
1117func (x *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
1118	if x != nil {
1119		return x.BoundingPoly
1120	}
1121	return nil
1122}
1123
1124func (x *EntityAnnotation) GetLocations() []*LocationInfo {
1125	if x != nil {
1126		return x.Locations
1127	}
1128	return nil
1129}
1130
1131func (x *EntityAnnotation) GetProperties() []*Property {
1132	if x != nil {
1133		return x.Properties
1134	}
1135	return nil
1136}
1137
1138// Set of detected objects with bounding boxes.
1139type LocalizedObjectAnnotation struct {
1140	state         protoimpl.MessageState
1141	sizeCache     protoimpl.SizeCache
1142	unknownFields protoimpl.UnknownFields
1143
1144	// Object ID that should align with EntityAnnotation mid.
1145	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
1146	// The BCP-47 language code, such as "en-US" or "sr-Latn". For more
1147	// information, see
1148	// http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
1149	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1150	// Object name, expressed in its `language_code` language.
1151	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
1152	// Score of the result. Range [0, 1].
1153	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
1154	// Image region to which this object belongs. This must be populated.
1155	BoundingPoly *BoundingPoly `protobuf:"bytes,5,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1156}
1157
1158func (x *LocalizedObjectAnnotation) Reset() {
1159	*x = LocalizedObjectAnnotation{}
1160	if protoimpl.UnsafeEnabled {
1161		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7]
1162		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1163		ms.StoreMessageInfo(mi)
1164	}
1165}
1166
1167func (x *LocalizedObjectAnnotation) String() string {
1168	return protoimpl.X.MessageStringOf(x)
1169}
1170
1171func (*LocalizedObjectAnnotation) ProtoMessage() {}
1172
1173func (x *LocalizedObjectAnnotation) ProtoReflect() protoreflect.Message {
1174	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7]
1175	if protoimpl.UnsafeEnabled && x != nil {
1176		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1177		if ms.LoadMessageInfo() == nil {
1178			ms.StoreMessageInfo(mi)
1179		}
1180		return ms
1181	}
1182	return mi.MessageOf(x)
1183}
1184
1185// Deprecated: Use LocalizedObjectAnnotation.ProtoReflect.Descriptor instead.
1186func (*LocalizedObjectAnnotation) Descriptor() ([]byte, []int) {
1187	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{7}
1188}
1189
1190func (x *LocalizedObjectAnnotation) GetMid() string {
1191	if x != nil {
1192		return x.Mid
1193	}
1194	return ""
1195}
1196
1197func (x *LocalizedObjectAnnotation) GetLanguageCode() string {
1198	if x != nil {
1199		return x.LanguageCode
1200	}
1201	return ""
1202}
1203
1204func (x *LocalizedObjectAnnotation) GetName() string {
1205	if x != nil {
1206		return x.Name
1207	}
1208	return ""
1209}
1210
1211func (x *LocalizedObjectAnnotation) GetScore() float32 {
1212	if x != nil {
1213		return x.Score
1214	}
1215	return 0
1216}
1217
1218func (x *LocalizedObjectAnnotation) GetBoundingPoly() *BoundingPoly {
1219	if x != nil {
1220		return x.BoundingPoly
1221	}
1222	return nil
1223}
1224
1225// Set of features pertaining to the image, computed by computer vision
1226// methods over safe-search verticals (for example, adult, spoof, medical,
1227// violence).
1228type SafeSearchAnnotation struct {
1229	state         protoimpl.MessageState
1230	sizeCache     protoimpl.SizeCache
1231	unknownFields protoimpl.UnknownFields
1232
1233	// Represents the adult content likelihood for the image. Adult content may
1234	// contain elements such as nudity, pornographic images or cartoons, or
1235	// sexual activities.
1236	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"adult,omitempty"`
1237	// Spoof likelihood. The likelihood that an modification
1238	// was made to the image's canonical version to make it appear
1239	// funny or offensive.
1240	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"spoof,omitempty"`
1241	// Likelihood that this is a medical image.
1242	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"medical,omitempty"`
1243	// Likelihood that this image contains violent content.
1244	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"violence,omitempty"`
1245	// Likelihood that the request image contains racy content. Racy content may
1246	// include (but is not limited to) skimpy or sheer clothing, strategically
1247	// covered nudity, lewd or provocative poses, or close-ups of sensitive
1248	// body areas.
1249	Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p4beta1.Likelihood" json:"racy,omitempty"`
1250}
1251
1252func (x *SafeSearchAnnotation) Reset() {
1253	*x = SafeSearchAnnotation{}
1254	if protoimpl.UnsafeEnabled {
1255		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8]
1256		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1257		ms.StoreMessageInfo(mi)
1258	}
1259}
1260
1261func (x *SafeSearchAnnotation) String() string {
1262	return protoimpl.X.MessageStringOf(x)
1263}
1264
1265func (*SafeSearchAnnotation) ProtoMessage() {}
1266
1267func (x *SafeSearchAnnotation) ProtoReflect() protoreflect.Message {
1268	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8]
1269	if protoimpl.UnsafeEnabled && x != nil {
1270		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1271		if ms.LoadMessageInfo() == nil {
1272			ms.StoreMessageInfo(mi)
1273		}
1274		return ms
1275	}
1276	return mi.MessageOf(x)
1277}
1278
1279// Deprecated: Use SafeSearchAnnotation.ProtoReflect.Descriptor instead.
1280func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
1281	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{8}
1282}
1283
1284func (x *SafeSearchAnnotation) GetAdult() Likelihood {
1285	if x != nil {
1286		return x.Adult
1287	}
1288	return Likelihood_UNKNOWN
1289}
1290
1291func (x *SafeSearchAnnotation) GetSpoof() Likelihood {
1292	if x != nil {
1293		return x.Spoof
1294	}
1295	return Likelihood_UNKNOWN
1296}
1297
1298func (x *SafeSearchAnnotation) GetMedical() Likelihood {
1299	if x != nil {
1300		return x.Medical
1301	}
1302	return Likelihood_UNKNOWN
1303}
1304
1305func (x *SafeSearchAnnotation) GetViolence() Likelihood {
1306	if x != nil {
1307		return x.Violence
1308	}
1309	return Likelihood_UNKNOWN
1310}
1311
1312func (x *SafeSearchAnnotation) GetRacy() Likelihood {
1313	if x != nil {
1314		return x.Racy
1315	}
1316	return Likelihood_UNKNOWN
1317}
1318
1319// Rectangle determined by min and max `LatLng` pairs.
1320type LatLongRect struct {
1321	state         protoimpl.MessageState
1322	sizeCache     protoimpl.SizeCache
1323	unknownFields protoimpl.UnknownFields
1324
1325	// Min lat/long pair.
1326	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1327	// Max lat/long pair.
1328	MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1329}
1330
1331func (x *LatLongRect) Reset() {
1332	*x = LatLongRect{}
1333	if protoimpl.UnsafeEnabled {
1334		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9]
1335		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1336		ms.StoreMessageInfo(mi)
1337	}
1338}
1339
1340func (x *LatLongRect) String() string {
1341	return protoimpl.X.MessageStringOf(x)
1342}
1343
1344func (*LatLongRect) ProtoMessage() {}
1345
1346func (x *LatLongRect) ProtoReflect() protoreflect.Message {
1347	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9]
1348	if protoimpl.UnsafeEnabled && x != nil {
1349		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1350		if ms.LoadMessageInfo() == nil {
1351			ms.StoreMessageInfo(mi)
1352		}
1353		return ms
1354	}
1355	return mi.MessageOf(x)
1356}
1357
1358// Deprecated: Use LatLongRect.ProtoReflect.Descriptor instead.
1359func (*LatLongRect) Descriptor() ([]byte, []int) {
1360	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{9}
1361}
1362
1363func (x *LatLongRect) GetMinLatLng() *latlng.LatLng {
1364	if x != nil {
1365		return x.MinLatLng
1366	}
1367	return nil
1368}
1369
1370func (x *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1371	if x != nil {
1372		return x.MaxLatLng
1373	}
1374	return nil
1375}
1376
1377// Color information consists of RGB channels, score, and the fraction of
1378// the image that the color occupies in the image.
1379type ColorInfo struct {
1380	state         protoimpl.MessageState
1381	sizeCache     protoimpl.SizeCache
1382	unknownFields protoimpl.UnknownFields
1383
1384	// RGB components of the color.
1385	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1386	// Image-specific score for this color. Value in range [0, 1].
1387	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1388	// The fraction of pixels the color occupies in the image.
1389	// Value in range [0, 1].
1390	PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1391}
1392
1393func (x *ColorInfo) Reset() {
1394	*x = ColorInfo{}
1395	if protoimpl.UnsafeEnabled {
1396		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10]
1397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1398		ms.StoreMessageInfo(mi)
1399	}
1400}
1401
1402func (x *ColorInfo) String() string {
1403	return protoimpl.X.MessageStringOf(x)
1404}
1405
1406func (*ColorInfo) ProtoMessage() {}
1407
1408func (x *ColorInfo) ProtoReflect() protoreflect.Message {
1409	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10]
1410	if protoimpl.UnsafeEnabled && x != nil {
1411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1412		if ms.LoadMessageInfo() == nil {
1413			ms.StoreMessageInfo(mi)
1414		}
1415		return ms
1416	}
1417	return mi.MessageOf(x)
1418}
1419
1420// Deprecated: Use ColorInfo.ProtoReflect.Descriptor instead.
1421func (*ColorInfo) Descriptor() ([]byte, []int) {
1422	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{10}
1423}
1424
1425func (x *ColorInfo) GetColor() *color.Color {
1426	if x != nil {
1427		return x.Color
1428	}
1429	return nil
1430}
1431
1432func (x *ColorInfo) GetScore() float32 {
1433	if x != nil {
1434		return x.Score
1435	}
1436	return 0
1437}
1438
1439func (x *ColorInfo) GetPixelFraction() float32 {
1440	if x != nil {
1441		return x.PixelFraction
1442	}
1443	return 0
1444}
1445
1446// Set of dominant colors and their corresponding scores.
1447type DominantColorsAnnotation struct {
1448	state         protoimpl.MessageState
1449	sizeCache     protoimpl.SizeCache
1450	unknownFields protoimpl.UnknownFields
1451
1452	// RGB color values with their score and pixel fraction.
1453	Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1454}
1455
1456func (x *DominantColorsAnnotation) Reset() {
1457	*x = DominantColorsAnnotation{}
1458	if protoimpl.UnsafeEnabled {
1459		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11]
1460		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1461		ms.StoreMessageInfo(mi)
1462	}
1463}
1464
1465func (x *DominantColorsAnnotation) String() string {
1466	return protoimpl.X.MessageStringOf(x)
1467}
1468
1469func (*DominantColorsAnnotation) ProtoMessage() {}
1470
1471func (x *DominantColorsAnnotation) ProtoReflect() protoreflect.Message {
1472	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11]
1473	if protoimpl.UnsafeEnabled && x != nil {
1474		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1475		if ms.LoadMessageInfo() == nil {
1476			ms.StoreMessageInfo(mi)
1477		}
1478		return ms
1479	}
1480	return mi.MessageOf(x)
1481}
1482
1483// Deprecated: Use DominantColorsAnnotation.ProtoReflect.Descriptor instead.
1484func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1485	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{11}
1486}
1487
1488func (x *DominantColorsAnnotation) GetColors() []*ColorInfo {
1489	if x != nil {
1490		return x.Colors
1491	}
1492	return nil
1493}
1494
1495// Stores image properties, such as dominant colors.
1496type ImageProperties struct {
1497	state         protoimpl.MessageState
1498	sizeCache     protoimpl.SizeCache
1499	unknownFields protoimpl.UnknownFields
1500
1501	// If present, dominant colors completed successfully.
1502	DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1503}
1504
1505func (x *ImageProperties) Reset() {
1506	*x = ImageProperties{}
1507	if protoimpl.UnsafeEnabled {
1508		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12]
1509		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1510		ms.StoreMessageInfo(mi)
1511	}
1512}
1513
1514func (x *ImageProperties) String() string {
1515	return protoimpl.X.MessageStringOf(x)
1516}
1517
1518func (*ImageProperties) ProtoMessage() {}
1519
1520func (x *ImageProperties) ProtoReflect() protoreflect.Message {
1521	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12]
1522	if protoimpl.UnsafeEnabled && x != nil {
1523		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1524		if ms.LoadMessageInfo() == nil {
1525			ms.StoreMessageInfo(mi)
1526		}
1527		return ms
1528	}
1529	return mi.MessageOf(x)
1530}
1531
1532// Deprecated: Use ImageProperties.ProtoReflect.Descriptor instead.
1533func (*ImageProperties) Descriptor() ([]byte, []int) {
1534	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{12}
1535}
1536
1537func (x *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1538	if x != nil {
1539		return x.DominantColors
1540	}
1541	return nil
1542}
1543
1544// Single crop hint that is used to generate a new crop when serving an image.
1545type CropHint struct {
1546	state         protoimpl.MessageState
1547	sizeCache     protoimpl.SizeCache
1548	unknownFields protoimpl.UnknownFields
1549
1550	// The bounding polygon for the crop region. The coordinates of the bounding
1551	// box are in the original image's scale.
1552	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1553	// Confidence of this being a salient region.  Range [0, 1].
1554	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1555	// Fraction of importance of this salient region with respect to the original
1556	// image.
1557	ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1558}
1559
1560func (x *CropHint) Reset() {
1561	*x = CropHint{}
1562	if protoimpl.UnsafeEnabled {
1563		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13]
1564		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1565		ms.StoreMessageInfo(mi)
1566	}
1567}
1568
1569func (x *CropHint) String() string {
1570	return protoimpl.X.MessageStringOf(x)
1571}
1572
1573func (*CropHint) ProtoMessage() {}
1574
1575func (x *CropHint) ProtoReflect() protoreflect.Message {
1576	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13]
1577	if protoimpl.UnsafeEnabled && x != nil {
1578		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1579		if ms.LoadMessageInfo() == nil {
1580			ms.StoreMessageInfo(mi)
1581		}
1582		return ms
1583	}
1584	return mi.MessageOf(x)
1585}
1586
1587// Deprecated: Use CropHint.ProtoReflect.Descriptor instead.
1588func (*CropHint) Descriptor() ([]byte, []int) {
1589	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{13}
1590}
1591
1592func (x *CropHint) GetBoundingPoly() *BoundingPoly {
1593	if x != nil {
1594		return x.BoundingPoly
1595	}
1596	return nil
1597}
1598
1599func (x *CropHint) GetConfidence() float32 {
1600	if x != nil {
1601		return x.Confidence
1602	}
1603	return 0
1604}
1605
1606func (x *CropHint) GetImportanceFraction() float32 {
1607	if x != nil {
1608		return x.ImportanceFraction
1609	}
1610	return 0
1611}
1612
1613// Set of crop hints that are used to generate new crops when serving images.
1614type CropHintsAnnotation struct {
1615	state         protoimpl.MessageState
1616	sizeCache     protoimpl.SizeCache
1617	unknownFields protoimpl.UnknownFields
1618
1619	// Crop hint results.
1620	CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1621}
1622
1623func (x *CropHintsAnnotation) Reset() {
1624	*x = CropHintsAnnotation{}
1625	if protoimpl.UnsafeEnabled {
1626		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14]
1627		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1628		ms.StoreMessageInfo(mi)
1629	}
1630}
1631
1632func (x *CropHintsAnnotation) String() string {
1633	return protoimpl.X.MessageStringOf(x)
1634}
1635
1636func (*CropHintsAnnotation) ProtoMessage() {}
1637
1638func (x *CropHintsAnnotation) ProtoReflect() protoreflect.Message {
1639	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14]
1640	if protoimpl.UnsafeEnabled && x != nil {
1641		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1642		if ms.LoadMessageInfo() == nil {
1643			ms.StoreMessageInfo(mi)
1644		}
1645		return ms
1646	}
1647	return mi.MessageOf(x)
1648}
1649
1650// Deprecated: Use CropHintsAnnotation.ProtoReflect.Descriptor instead.
1651func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1652	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{14}
1653}
1654
1655func (x *CropHintsAnnotation) GetCropHints() []*CropHint {
1656	if x != nil {
1657		return x.CropHints
1658	}
1659	return nil
1660}
1661
1662// Parameters for crop hints annotation request.
1663type CropHintsParams struct {
1664	state         protoimpl.MessageState
1665	sizeCache     protoimpl.SizeCache
1666	unknownFields protoimpl.UnknownFields
1667
1668	// Aspect ratios in floats, representing the ratio of the width to the height
1669	// of the image. For example, if the desired aspect ratio is 4/3, the
1670	// corresponding float value should be 1.33333.  If not specified, the
1671	// best possible crop is returned. The number of provided aspect ratios is
1672	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1673	// ignored.
1674	AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1675}
1676
1677func (x *CropHintsParams) Reset() {
1678	*x = CropHintsParams{}
1679	if protoimpl.UnsafeEnabled {
1680		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15]
1681		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1682		ms.StoreMessageInfo(mi)
1683	}
1684}
1685
1686func (x *CropHintsParams) String() string {
1687	return protoimpl.X.MessageStringOf(x)
1688}
1689
1690func (*CropHintsParams) ProtoMessage() {}
1691
1692func (x *CropHintsParams) ProtoReflect() protoreflect.Message {
1693	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15]
1694	if protoimpl.UnsafeEnabled && x != nil {
1695		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1696		if ms.LoadMessageInfo() == nil {
1697			ms.StoreMessageInfo(mi)
1698		}
1699		return ms
1700	}
1701	return mi.MessageOf(x)
1702}
1703
1704// Deprecated: Use CropHintsParams.ProtoReflect.Descriptor instead.
1705func (*CropHintsParams) Descriptor() ([]byte, []int) {
1706	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{15}
1707}
1708
1709func (x *CropHintsParams) GetAspectRatios() []float32 {
1710	if x != nil {
1711		return x.AspectRatios
1712	}
1713	return nil
1714}
1715
1716// Parameters for web detection request.
1717type WebDetectionParams struct {
1718	state         protoimpl.MessageState
1719	sizeCache     protoimpl.SizeCache
1720	unknownFields protoimpl.UnknownFields
1721
1722	// Whether to include results derived from the geo information in the image.
1723	IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1724}
1725
1726func (x *WebDetectionParams) Reset() {
1727	*x = WebDetectionParams{}
1728	if protoimpl.UnsafeEnabled {
1729		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16]
1730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1731		ms.StoreMessageInfo(mi)
1732	}
1733}
1734
1735func (x *WebDetectionParams) String() string {
1736	return protoimpl.X.MessageStringOf(x)
1737}
1738
1739func (*WebDetectionParams) ProtoMessage() {}
1740
1741func (x *WebDetectionParams) ProtoReflect() protoreflect.Message {
1742	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16]
1743	if protoimpl.UnsafeEnabled && x != nil {
1744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1745		if ms.LoadMessageInfo() == nil {
1746			ms.StoreMessageInfo(mi)
1747		}
1748		return ms
1749	}
1750	return mi.MessageOf(x)
1751}
1752
1753// Deprecated: Use WebDetectionParams.ProtoReflect.Descriptor instead.
1754func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1755	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{16}
1756}
1757
1758func (x *WebDetectionParams) GetIncludeGeoResults() bool {
1759	if x != nil {
1760		return x.IncludeGeoResults
1761	}
1762	return false
1763}
1764
1765// Image context and/or feature-specific parameters.
1766type ImageContext struct {
1767	state         protoimpl.MessageState
1768	sizeCache     protoimpl.SizeCache
1769	unknownFields protoimpl.UnknownFields
1770
1771	// Not used.
1772	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1773	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1774	// yields the best results since it enables automatic language detection. For
1775	// languages based on the Latin alphabet, setting `language_hints` is not
1776	// needed. In rare cases, when the language of the text in the image is known,
1777	// setting a hint will help get better results (although it will be a
1778	// significant hindrance if the hint is wrong). Text detection returns an
1779	// error if one or more of the specified languages is not one of the
1780	// [supported languages](https://cloud.google.com/vision/docs/languages).
1781	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1782	// Parameters for crop hints annotation request.
1783	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1784	// Parameters for face recognition.
1785	FaceRecognitionParams *FaceRecognitionParams `protobuf:"bytes,10,opt,name=face_recognition_params,json=faceRecognitionParams,proto3" json:"face_recognition_params,omitempty"`
1786	// Parameters for product search.
1787	ProductSearchParams *ProductSearchParams `protobuf:"bytes,5,opt,name=product_search_params,json=productSearchParams,proto3" json:"product_search_params,omitempty"`
1788	// Parameters for web detection.
1789	WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1790}
1791
1792func (x *ImageContext) Reset() {
1793	*x = ImageContext{}
1794	if protoimpl.UnsafeEnabled {
1795		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17]
1796		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1797		ms.StoreMessageInfo(mi)
1798	}
1799}
1800
1801func (x *ImageContext) String() string {
1802	return protoimpl.X.MessageStringOf(x)
1803}
1804
1805func (*ImageContext) ProtoMessage() {}
1806
1807func (x *ImageContext) ProtoReflect() protoreflect.Message {
1808	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17]
1809	if protoimpl.UnsafeEnabled && x != nil {
1810		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1811		if ms.LoadMessageInfo() == nil {
1812			ms.StoreMessageInfo(mi)
1813		}
1814		return ms
1815	}
1816	return mi.MessageOf(x)
1817}
1818
1819// Deprecated: Use ImageContext.ProtoReflect.Descriptor instead.
1820func (*ImageContext) Descriptor() ([]byte, []int) {
1821	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{17}
1822}
1823
1824func (x *ImageContext) GetLatLongRect() *LatLongRect {
1825	if x != nil {
1826		return x.LatLongRect
1827	}
1828	return nil
1829}
1830
1831func (x *ImageContext) GetLanguageHints() []string {
1832	if x != nil {
1833		return x.LanguageHints
1834	}
1835	return nil
1836}
1837
1838func (x *ImageContext) GetCropHintsParams() *CropHintsParams {
1839	if x != nil {
1840		return x.CropHintsParams
1841	}
1842	return nil
1843}
1844
1845func (x *ImageContext) GetFaceRecognitionParams() *FaceRecognitionParams {
1846	if x != nil {
1847		return x.FaceRecognitionParams
1848	}
1849	return nil
1850}
1851
1852func (x *ImageContext) GetProductSearchParams() *ProductSearchParams {
1853	if x != nil {
1854		return x.ProductSearchParams
1855	}
1856	return nil
1857}
1858
1859func (x *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1860	if x != nil {
1861		return x.WebDetectionParams
1862	}
1863	return nil
1864}
1865
1866// Request for performing Google Cloud Vision API tasks over a user-provided
1867// image, with user-requested features, and with context information.
1868type AnnotateImageRequest struct {
1869	state         protoimpl.MessageState
1870	sizeCache     protoimpl.SizeCache
1871	unknownFields protoimpl.UnknownFields
1872
1873	// The image to be processed.
1874	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1875	// Requested features.
1876	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1877	// Additional context that may accompany the image.
1878	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1879}
1880
1881func (x *AnnotateImageRequest) Reset() {
1882	*x = AnnotateImageRequest{}
1883	if protoimpl.UnsafeEnabled {
1884		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18]
1885		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1886		ms.StoreMessageInfo(mi)
1887	}
1888}
1889
1890func (x *AnnotateImageRequest) String() string {
1891	return protoimpl.X.MessageStringOf(x)
1892}
1893
1894func (*AnnotateImageRequest) ProtoMessage() {}
1895
1896func (x *AnnotateImageRequest) ProtoReflect() protoreflect.Message {
1897	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18]
1898	if protoimpl.UnsafeEnabled && x != nil {
1899		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1900		if ms.LoadMessageInfo() == nil {
1901			ms.StoreMessageInfo(mi)
1902		}
1903		return ms
1904	}
1905	return mi.MessageOf(x)
1906}
1907
1908// Deprecated: Use AnnotateImageRequest.ProtoReflect.Descriptor instead.
1909func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1910	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{18}
1911}
1912
1913func (x *AnnotateImageRequest) GetImage() *Image {
1914	if x != nil {
1915		return x.Image
1916	}
1917	return nil
1918}
1919
1920func (x *AnnotateImageRequest) GetFeatures() []*Feature {
1921	if x != nil {
1922		return x.Features
1923	}
1924	return nil
1925}
1926
1927func (x *AnnotateImageRequest) GetImageContext() *ImageContext {
1928	if x != nil {
1929		return x.ImageContext
1930	}
1931	return nil
1932}
1933
1934// If an image was produced from a file (e.g. a PDF), this message gives
1935// information about the source of that image.
1936type ImageAnnotationContext struct {
1937	state         protoimpl.MessageState
1938	sizeCache     protoimpl.SizeCache
1939	unknownFields protoimpl.UnknownFields
1940
1941	// The URI of the file used to produce the image.
1942	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
1943	// If the file was a PDF or TIFF, this field gives the page number within
1944	// the file used to produce the image.
1945	PageNumber int32 `protobuf:"varint,2,opt,name=page_number,json=pageNumber,proto3" json:"page_number,omitempty"`
1946}
1947
1948func (x *ImageAnnotationContext) Reset() {
1949	*x = ImageAnnotationContext{}
1950	if protoimpl.UnsafeEnabled {
1951		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19]
1952		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1953		ms.StoreMessageInfo(mi)
1954	}
1955}
1956
1957func (x *ImageAnnotationContext) String() string {
1958	return protoimpl.X.MessageStringOf(x)
1959}
1960
1961func (*ImageAnnotationContext) ProtoMessage() {}
1962
1963func (x *ImageAnnotationContext) ProtoReflect() protoreflect.Message {
1964	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19]
1965	if protoimpl.UnsafeEnabled && x != nil {
1966		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1967		if ms.LoadMessageInfo() == nil {
1968			ms.StoreMessageInfo(mi)
1969		}
1970		return ms
1971	}
1972	return mi.MessageOf(x)
1973}
1974
1975// Deprecated: Use ImageAnnotationContext.ProtoReflect.Descriptor instead.
1976func (*ImageAnnotationContext) Descriptor() ([]byte, []int) {
1977	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{19}
1978}
1979
1980func (x *ImageAnnotationContext) GetUri() string {
1981	if x != nil {
1982		return x.Uri
1983	}
1984	return ""
1985}
1986
1987func (x *ImageAnnotationContext) GetPageNumber() int32 {
1988	if x != nil {
1989		return x.PageNumber
1990	}
1991	return 0
1992}
1993
1994// Response to an image annotation request.
1995type AnnotateImageResponse struct {
1996	state         protoimpl.MessageState
1997	sizeCache     protoimpl.SizeCache
1998	unknownFields protoimpl.UnknownFields
1999
2000	// If present, face detection has completed successfully.
2001	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
2002	// If present, landmark detection has completed successfully.
2003	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
2004	// If present, logo detection has completed successfully.
2005	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
2006	// If present, label detection has completed successfully.
2007	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
2008	// If present, localized object detection has completed successfully.
2009	// This will be sorted descending by confidence score.
2010	LocalizedObjectAnnotations []*LocalizedObjectAnnotation `protobuf:"bytes,22,rep,name=localized_object_annotations,json=localizedObjectAnnotations,proto3" json:"localized_object_annotations,omitempty"`
2011	// If present, text (OCR) detection has completed successfully.
2012	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
2013	// If present, text (OCR) detection or document (OCR) text detection has
2014	// completed successfully.
2015	// This annotation provides the structural hierarchy for the OCR detected
2016	// text.
2017	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
2018	// If present, safe-search annotation has completed successfully.
2019	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
2020	// If present, image properties were extracted successfully.
2021	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
2022	// If present, crop hints have completed successfully.
2023	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
2024	// If present, web detection has completed successfully.
2025	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
2026	// If present, product search has completed successfully.
2027	ProductSearchResults *ProductSearchResults `protobuf:"bytes,14,opt,name=product_search_results,json=productSearchResults,proto3" json:"product_search_results,omitempty"`
2028	// If set, represents the error message for the operation.
2029	// Note that filled-in image annotations are guaranteed to be
2030	// correct, even when `error` is set.
2031	Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
2032	// If present, contextual information is needed to understand where this image
2033	// comes from.
2034	Context *ImageAnnotationContext `protobuf:"bytes,21,opt,name=context,proto3" json:"context,omitempty"`
2035}
2036
2037func (x *AnnotateImageResponse) Reset() {
2038	*x = AnnotateImageResponse{}
2039	if protoimpl.UnsafeEnabled {
2040		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20]
2041		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2042		ms.StoreMessageInfo(mi)
2043	}
2044}
2045
2046func (x *AnnotateImageResponse) String() string {
2047	return protoimpl.X.MessageStringOf(x)
2048}
2049
2050func (*AnnotateImageResponse) ProtoMessage() {}
2051
2052func (x *AnnotateImageResponse) ProtoReflect() protoreflect.Message {
2053	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20]
2054	if protoimpl.UnsafeEnabled && x != nil {
2055		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2056		if ms.LoadMessageInfo() == nil {
2057			ms.StoreMessageInfo(mi)
2058		}
2059		return ms
2060	}
2061	return mi.MessageOf(x)
2062}
2063
2064// Deprecated: Use AnnotateImageResponse.ProtoReflect.Descriptor instead.
2065func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
2066	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{20}
2067}
2068
2069func (x *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
2070	if x != nil {
2071		return x.FaceAnnotations
2072	}
2073	return nil
2074}
2075
2076func (x *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
2077	if x != nil {
2078		return x.LandmarkAnnotations
2079	}
2080	return nil
2081}
2082
2083func (x *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
2084	if x != nil {
2085		return x.LogoAnnotations
2086	}
2087	return nil
2088}
2089
2090func (x *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
2091	if x != nil {
2092		return x.LabelAnnotations
2093	}
2094	return nil
2095}
2096
2097func (x *AnnotateImageResponse) GetLocalizedObjectAnnotations() []*LocalizedObjectAnnotation {
2098	if x != nil {
2099		return x.LocalizedObjectAnnotations
2100	}
2101	return nil
2102}
2103
2104func (x *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
2105	if x != nil {
2106		return x.TextAnnotations
2107	}
2108	return nil
2109}
2110
2111func (x *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
2112	if x != nil {
2113		return x.FullTextAnnotation
2114	}
2115	return nil
2116}
2117
2118func (x *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
2119	if x != nil {
2120		return x.SafeSearchAnnotation
2121	}
2122	return nil
2123}
2124
2125func (x *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
2126	if x != nil {
2127		return x.ImagePropertiesAnnotation
2128	}
2129	return nil
2130}
2131
2132func (x *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
2133	if x != nil {
2134		return x.CropHintsAnnotation
2135	}
2136	return nil
2137}
2138
2139func (x *AnnotateImageResponse) GetWebDetection() *WebDetection {
2140	if x != nil {
2141		return x.WebDetection
2142	}
2143	return nil
2144}
2145
2146func (x *AnnotateImageResponse) GetProductSearchResults() *ProductSearchResults {
2147	if x != nil {
2148		return x.ProductSearchResults
2149	}
2150	return nil
2151}
2152
2153func (x *AnnotateImageResponse) GetError() *status.Status {
2154	if x != nil {
2155		return x.Error
2156	}
2157	return nil
2158}
2159
2160func (x *AnnotateImageResponse) GetContext() *ImageAnnotationContext {
2161	if x != nil {
2162		return x.Context
2163	}
2164	return nil
2165}
2166
2167// Multiple image annotation requests are batched into a single service call.
2168type BatchAnnotateImagesRequest struct {
2169	state         protoimpl.MessageState
2170	sizeCache     protoimpl.SizeCache
2171	unknownFields protoimpl.UnknownFields
2172
2173	// Required. Individual image annotation requests for this batch.
2174	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2175}
2176
2177func (x *BatchAnnotateImagesRequest) Reset() {
2178	*x = BatchAnnotateImagesRequest{}
2179	if protoimpl.UnsafeEnabled {
2180		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21]
2181		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2182		ms.StoreMessageInfo(mi)
2183	}
2184}
2185
2186func (x *BatchAnnotateImagesRequest) String() string {
2187	return protoimpl.X.MessageStringOf(x)
2188}
2189
2190func (*BatchAnnotateImagesRequest) ProtoMessage() {}
2191
2192func (x *BatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2193	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21]
2194	if protoimpl.UnsafeEnabled && x != nil {
2195		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2196		if ms.LoadMessageInfo() == nil {
2197			ms.StoreMessageInfo(mi)
2198		}
2199		return ms
2200	}
2201	return mi.MessageOf(x)
2202}
2203
2204// Deprecated: Use BatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2205func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2206	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{21}
2207}
2208
2209func (x *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2210	if x != nil {
2211		return x.Requests
2212	}
2213	return nil
2214}
2215
2216// Response to a batch image annotation request.
2217type BatchAnnotateImagesResponse struct {
2218	state         protoimpl.MessageState
2219	sizeCache     protoimpl.SizeCache
2220	unknownFields protoimpl.UnknownFields
2221
2222	// Individual responses to image annotation requests within the batch.
2223	Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2224}
2225
2226func (x *BatchAnnotateImagesResponse) Reset() {
2227	*x = BatchAnnotateImagesResponse{}
2228	if protoimpl.UnsafeEnabled {
2229		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22]
2230		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2231		ms.StoreMessageInfo(mi)
2232	}
2233}
2234
2235func (x *BatchAnnotateImagesResponse) String() string {
2236	return protoimpl.X.MessageStringOf(x)
2237}
2238
2239func (*BatchAnnotateImagesResponse) ProtoMessage() {}
2240
2241func (x *BatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2242	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22]
2243	if protoimpl.UnsafeEnabled && x != nil {
2244		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2245		if ms.LoadMessageInfo() == nil {
2246			ms.StoreMessageInfo(mi)
2247		}
2248		return ms
2249	}
2250	return mi.MessageOf(x)
2251}
2252
2253// Deprecated: Use BatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2254func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2255	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{22}
2256}
2257
2258func (x *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
2259	if x != nil {
2260		return x.Responses
2261	}
2262	return nil
2263}
2264
2265// A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
2266type AnnotateFileRequest struct {
2267	state         protoimpl.MessageState
2268	sizeCache     protoimpl.SizeCache
2269	unknownFields protoimpl.UnknownFields
2270
2271	// Required. Information about the input file.
2272	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2273	// Required. Requested features.
2274	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2275	// Additional context that may accompany the image(s) in the file.
2276	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2277	// Pages of the file to perform image annotation.
2278	//
2279	// Pages starts from 1, we assume the first page of the file is page 1.
2280	// At most 5 pages are supported per request. Pages can be negative.
2281	//
2282	// Page 1 means the first page.
2283	// Page 2 means the second page.
2284	// Page -1 means the last page.
2285	// Page -2 means the second to the last page.
2286	//
2287	// If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
2288	//
2289	// If this field is empty, by default the service performs image annotation
2290	// for the first 5 pages of the file.
2291	Pages []int32 `protobuf:"varint,4,rep,packed,name=pages,proto3" json:"pages,omitempty"`
2292}
2293
2294func (x *AnnotateFileRequest) Reset() {
2295	*x = AnnotateFileRequest{}
2296	if protoimpl.UnsafeEnabled {
2297		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23]
2298		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2299		ms.StoreMessageInfo(mi)
2300	}
2301}
2302
2303func (x *AnnotateFileRequest) String() string {
2304	return protoimpl.X.MessageStringOf(x)
2305}
2306
2307func (*AnnotateFileRequest) ProtoMessage() {}
2308
2309func (x *AnnotateFileRequest) ProtoReflect() protoreflect.Message {
2310	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23]
2311	if protoimpl.UnsafeEnabled && x != nil {
2312		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2313		if ms.LoadMessageInfo() == nil {
2314			ms.StoreMessageInfo(mi)
2315		}
2316		return ms
2317	}
2318	return mi.MessageOf(x)
2319}
2320
2321// Deprecated: Use AnnotateFileRequest.ProtoReflect.Descriptor instead.
2322func (*AnnotateFileRequest) Descriptor() ([]byte, []int) {
2323	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{23}
2324}
2325
2326func (x *AnnotateFileRequest) GetInputConfig() *InputConfig {
2327	if x != nil {
2328		return x.InputConfig
2329	}
2330	return nil
2331}
2332
2333func (x *AnnotateFileRequest) GetFeatures() []*Feature {
2334	if x != nil {
2335		return x.Features
2336	}
2337	return nil
2338}
2339
2340func (x *AnnotateFileRequest) GetImageContext() *ImageContext {
2341	if x != nil {
2342		return x.ImageContext
2343	}
2344	return nil
2345}
2346
2347func (x *AnnotateFileRequest) GetPages() []int32 {
2348	if x != nil {
2349		return x.Pages
2350	}
2351	return nil
2352}
2353
2354// Response to a single file annotation request. A file may contain one or more
2355// images, which individually have their own responses.
2356type AnnotateFileResponse struct {
2357	state         protoimpl.MessageState
2358	sizeCache     protoimpl.SizeCache
2359	unknownFields protoimpl.UnknownFields
2360
2361	// Information about the file for which this response is generated.
2362	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2363	// Individual responses to images found within the file. This field will be
2364	// empty if the `error` field is set.
2365	Responses []*AnnotateImageResponse `protobuf:"bytes,2,rep,name=responses,proto3" json:"responses,omitempty"`
2366	// This field gives the total number of pages in the file.
2367	TotalPages int32 `protobuf:"varint,3,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
2368	// If set, represents the error message for the failed request. The
2369	// `responses` field will not be set in this case.
2370	Error *status.Status `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"`
2371}
2372
2373func (x *AnnotateFileResponse) Reset() {
2374	*x = AnnotateFileResponse{}
2375	if protoimpl.UnsafeEnabled {
2376		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24]
2377		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2378		ms.StoreMessageInfo(mi)
2379	}
2380}
2381
2382func (x *AnnotateFileResponse) String() string {
2383	return protoimpl.X.MessageStringOf(x)
2384}
2385
2386func (*AnnotateFileResponse) ProtoMessage() {}
2387
2388func (x *AnnotateFileResponse) ProtoReflect() protoreflect.Message {
2389	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24]
2390	if protoimpl.UnsafeEnabled && x != nil {
2391		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2392		if ms.LoadMessageInfo() == nil {
2393			ms.StoreMessageInfo(mi)
2394		}
2395		return ms
2396	}
2397	return mi.MessageOf(x)
2398}
2399
2400// Deprecated: Use AnnotateFileResponse.ProtoReflect.Descriptor instead.
2401func (*AnnotateFileResponse) Descriptor() ([]byte, []int) {
2402	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{24}
2403}
2404
2405func (x *AnnotateFileResponse) GetInputConfig() *InputConfig {
2406	if x != nil {
2407		return x.InputConfig
2408	}
2409	return nil
2410}
2411
2412func (x *AnnotateFileResponse) GetResponses() []*AnnotateImageResponse {
2413	if x != nil {
2414		return x.Responses
2415	}
2416	return nil
2417}
2418
2419func (x *AnnotateFileResponse) GetTotalPages() int32 {
2420	if x != nil {
2421		return x.TotalPages
2422	}
2423	return 0
2424}
2425
2426func (x *AnnotateFileResponse) GetError() *status.Status {
2427	if x != nil {
2428		return x.Error
2429	}
2430	return nil
2431}
2432
2433// A list of requests to annotate files using the BatchAnnotateFiles API.
2434type BatchAnnotateFilesRequest struct {
2435	state         protoimpl.MessageState
2436	sizeCache     protoimpl.SizeCache
2437	unknownFields protoimpl.UnknownFields
2438
2439	// Required. The list of file annotation requests. Right now we support only
2440	// one AnnotateFileRequest in BatchAnnotateFilesRequest.
2441	Requests []*AnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2442}
2443
2444func (x *BatchAnnotateFilesRequest) Reset() {
2445	*x = BatchAnnotateFilesRequest{}
2446	if protoimpl.UnsafeEnabled {
2447		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25]
2448		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2449		ms.StoreMessageInfo(mi)
2450	}
2451}
2452
2453func (x *BatchAnnotateFilesRequest) String() string {
2454	return protoimpl.X.MessageStringOf(x)
2455}
2456
2457func (*BatchAnnotateFilesRequest) ProtoMessage() {}
2458
2459func (x *BatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2460	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25]
2461	if protoimpl.UnsafeEnabled && x != nil {
2462		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2463		if ms.LoadMessageInfo() == nil {
2464			ms.StoreMessageInfo(mi)
2465		}
2466		return ms
2467	}
2468	return mi.MessageOf(x)
2469}
2470
2471// Deprecated: Use BatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2472func (*BatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2473	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{25}
2474}
2475
2476func (x *BatchAnnotateFilesRequest) GetRequests() []*AnnotateFileRequest {
2477	if x != nil {
2478		return x.Requests
2479	}
2480	return nil
2481}
2482
2483// A list of file annotation responses.
2484type BatchAnnotateFilesResponse struct {
2485	state         protoimpl.MessageState
2486	sizeCache     protoimpl.SizeCache
2487	unknownFields protoimpl.UnknownFields
2488
2489	// The list of file annotation responses, each response corresponding to each
2490	// AnnotateFileRequest in BatchAnnotateFilesRequest.
2491	Responses []*AnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2492}
2493
2494func (x *BatchAnnotateFilesResponse) Reset() {
2495	*x = BatchAnnotateFilesResponse{}
2496	if protoimpl.UnsafeEnabled {
2497		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26]
2498		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2499		ms.StoreMessageInfo(mi)
2500	}
2501}
2502
2503func (x *BatchAnnotateFilesResponse) String() string {
2504	return protoimpl.X.MessageStringOf(x)
2505}
2506
2507func (*BatchAnnotateFilesResponse) ProtoMessage() {}
2508
2509func (x *BatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2510	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26]
2511	if protoimpl.UnsafeEnabled && x != nil {
2512		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2513		if ms.LoadMessageInfo() == nil {
2514			ms.StoreMessageInfo(mi)
2515		}
2516		return ms
2517	}
2518	return mi.MessageOf(x)
2519}
2520
2521// Deprecated: Use BatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2522func (*BatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2523	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{26}
2524}
2525
2526func (x *BatchAnnotateFilesResponse) GetResponses() []*AnnotateFileResponse {
2527	if x != nil {
2528		return x.Responses
2529	}
2530	return nil
2531}
2532
2533// An offline file annotation request.
2534type AsyncAnnotateFileRequest struct {
2535	state         protoimpl.MessageState
2536	sizeCache     protoimpl.SizeCache
2537	unknownFields protoimpl.UnknownFields
2538
2539	// Required. Information about the input file.
2540	InputConfig *InputConfig `protobuf:"bytes,1,opt,name=input_config,json=inputConfig,proto3" json:"input_config,omitempty"`
2541	// Required. Requested features.
2542	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
2543	// Additional context that may accompany the image(s) in the file.
2544	ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
2545	// Required. The desired output location and metadata (e.g. format).
2546	OutputConfig *OutputConfig `protobuf:"bytes,4,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2547}
2548
2549func (x *AsyncAnnotateFileRequest) Reset() {
2550	*x = AsyncAnnotateFileRequest{}
2551	if protoimpl.UnsafeEnabled {
2552		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27]
2553		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2554		ms.StoreMessageInfo(mi)
2555	}
2556}
2557
2558func (x *AsyncAnnotateFileRequest) String() string {
2559	return protoimpl.X.MessageStringOf(x)
2560}
2561
2562func (*AsyncAnnotateFileRequest) ProtoMessage() {}
2563
2564func (x *AsyncAnnotateFileRequest) ProtoReflect() protoreflect.Message {
2565	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27]
2566	if protoimpl.UnsafeEnabled && x != nil {
2567		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2568		if ms.LoadMessageInfo() == nil {
2569			ms.StoreMessageInfo(mi)
2570		}
2571		return ms
2572	}
2573	return mi.MessageOf(x)
2574}
2575
2576// Deprecated: Use AsyncAnnotateFileRequest.ProtoReflect.Descriptor instead.
2577func (*AsyncAnnotateFileRequest) Descriptor() ([]byte, []int) {
2578	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{27}
2579}
2580
2581func (x *AsyncAnnotateFileRequest) GetInputConfig() *InputConfig {
2582	if x != nil {
2583		return x.InputConfig
2584	}
2585	return nil
2586}
2587
2588func (x *AsyncAnnotateFileRequest) GetFeatures() []*Feature {
2589	if x != nil {
2590		return x.Features
2591	}
2592	return nil
2593}
2594
2595func (x *AsyncAnnotateFileRequest) GetImageContext() *ImageContext {
2596	if x != nil {
2597		return x.ImageContext
2598	}
2599	return nil
2600}
2601
2602func (x *AsyncAnnotateFileRequest) GetOutputConfig() *OutputConfig {
2603	if x != nil {
2604		return x.OutputConfig
2605	}
2606	return nil
2607}
2608
2609// The response for a single offline file annotation request.
2610type AsyncAnnotateFileResponse struct {
2611	state         protoimpl.MessageState
2612	sizeCache     protoimpl.SizeCache
2613	unknownFields protoimpl.UnknownFields
2614
2615	// The output location and metadata from AsyncAnnotateFileRequest.
2616	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2617}
2618
2619func (x *AsyncAnnotateFileResponse) Reset() {
2620	*x = AsyncAnnotateFileResponse{}
2621	if protoimpl.UnsafeEnabled {
2622		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28]
2623		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2624		ms.StoreMessageInfo(mi)
2625	}
2626}
2627
2628func (x *AsyncAnnotateFileResponse) String() string {
2629	return protoimpl.X.MessageStringOf(x)
2630}
2631
2632func (*AsyncAnnotateFileResponse) ProtoMessage() {}
2633
2634func (x *AsyncAnnotateFileResponse) ProtoReflect() protoreflect.Message {
2635	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28]
2636	if protoimpl.UnsafeEnabled && x != nil {
2637		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2638		if ms.LoadMessageInfo() == nil {
2639			ms.StoreMessageInfo(mi)
2640		}
2641		return ms
2642	}
2643	return mi.MessageOf(x)
2644}
2645
2646// Deprecated: Use AsyncAnnotateFileResponse.ProtoReflect.Descriptor instead.
2647func (*AsyncAnnotateFileResponse) Descriptor() ([]byte, []int) {
2648	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{28}
2649}
2650
2651func (x *AsyncAnnotateFileResponse) GetOutputConfig() *OutputConfig {
2652	if x != nil {
2653		return x.OutputConfig
2654	}
2655	return nil
2656}
2657
2658// Request for async image annotation for a list of images.
2659type AsyncBatchAnnotateImagesRequest struct {
2660	state         protoimpl.MessageState
2661	sizeCache     protoimpl.SizeCache
2662	unknownFields protoimpl.UnknownFields
2663
2664	// Required. Individual image annotation requests for this batch.
2665	Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2666	// Required. The desired output location and metadata (e.g. format).
2667	OutputConfig *OutputConfig `protobuf:"bytes,2,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2668}
2669
2670func (x *AsyncBatchAnnotateImagesRequest) Reset() {
2671	*x = AsyncBatchAnnotateImagesRequest{}
2672	if protoimpl.UnsafeEnabled {
2673		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29]
2674		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2675		ms.StoreMessageInfo(mi)
2676	}
2677}
2678
2679func (x *AsyncBatchAnnotateImagesRequest) String() string {
2680	return protoimpl.X.MessageStringOf(x)
2681}
2682
2683func (*AsyncBatchAnnotateImagesRequest) ProtoMessage() {}
2684
2685func (x *AsyncBatchAnnotateImagesRequest) ProtoReflect() protoreflect.Message {
2686	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29]
2687	if protoimpl.UnsafeEnabled && x != nil {
2688		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2689		if ms.LoadMessageInfo() == nil {
2690			ms.StoreMessageInfo(mi)
2691		}
2692		return ms
2693	}
2694	return mi.MessageOf(x)
2695}
2696
2697// Deprecated: Use AsyncBatchAnnotateImagesRequest.ProtoReflect.Descriptor instead.
2698func (*AsyncBatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
2699	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{29}
2700}
2701
2702func (x *AsyncBatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
2703	if x != nil {
2704		return x.Requests
2705	}
2706	return nil
2707}
2708
2709func (x *AsyncBatchAnnotateImagesRequest) GetOutputConfig() *OutputConfig {
2710	if x != nil {
2711		return x.OutputConfig
2712	}
2713	return nil
2714}
2715
2716// Response to an async batch image annotation request.
2717type AsyncBatchAnnotateImagesResponse struct {
2718	state         protoimpl.MessageState
2719	sizeCache     protoimpl.SizeCache
2720	unknownFields protoimpl.UnknownFields
2721
2722	// The output location and metadata from AsyncBatchAnnotateImagesRequest.
2723	OutputConfig *OutputConfig `protobuf:"bytes,1,opt,name=output_config,json=outputConfig,proto3" json:"output_config,omitempty"`
2724}
2725
2726func (x *AsyncBatchAnnotateImagesResponse) Reset() {
2727	*x = AsyncBatchAnnotateImagesResponse{}
2728	if protoimpl.UnsafeEnabled {
2729		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30]
2730		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2731		ms.StoreMessageInfo(mi)
2732	}
2733}
2734
2735func (x *AsyncBatchAnnotateImagesResponse) String() string {
2736	return protoimpl.X.MessageStringOf(x)
2737}
2738
2739func (*AsyncBatchAnnotateImagesResponse) ProtoMessage() {}
2740
2741func (x *AsyncBatchAnnotateImagesResponse) ProtoReflect() protoreflect.Message {
2742	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30]
2743	if protoimpl.UnsafeEnabled && x != nil {
2744		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2745		if ms.LoadMessageInfo() == nil {
2746			ms.StoreMessageInfo(mi)
2747		}
2748		return ms
2749	}
2750	return mi.MessageOf(x)
2751}
2752
2753// Deprecated: Use AsyncBatchAnnotateImagesResponse.ProtoReflect.Descriptor instead.
2754func (*AsyncBatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
2755	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{30}
2756}
2757
2758func (x *AsyncBatchAnnotateImagesResponse) GetOutputConfig() *OutputConfig {
2759	if x != nil {
2760		return x.OutputConfig
2761	}
2762	return nil
2763}
2764
2765// Multiple async file annotation requests are batched into a single service
2766// call.
2767type AsyncBatchAnnotateFilesRequest struct {
2768	state         protoimpl.MessageState
2769	sizeCache     protoimpl.SizeCache
2770	unknownFields protoimpl.UnknownFields
2771
2772	// Required. Individual async file annotation requests for this batch.
2773	Requests []*AsyncAnnotateFileRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
2774}
2775
2776func (x *AsyncBatchAnnotateFilesRequest) Reset() {
2777	*x = AsyncBatchAnnotateFilesRequest{}
2778	if protoimpl.UnsafeEnabled {
2779		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31]
2780		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2781		ms.StoreMessageInfo(mi)
2782	}
2783}
2784
2785func (x *AsyncBatchAnnotateFilesRequest) String() string {
2786	return protoimpl.X.MessageStringOf(x)
2787}
2788
2789func (*AsyncBatchAnnotateFilesRequest) ProtoMessage() {}
2790
2791func (x *AsyncBatchAnnotateFilesRequest) ProtoReflect() protoreflect.Message {
2792	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31]
2793	if protoimpl.UnsafeEnabled && x != nil {
2794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2795		if ms.LoadMessageInfo() == nil {
2796			ms.StoreMessageInfo(mi)
2797		}
2798		return ms
2799	}
2800	return mi.MessageOf(x)
2801}
2802
2803// Deprecated: Use AsyncBatchAnnotateFilesRequest.ProtoReflect.Descriptor instead.
2804func (*AsyncBatchAnnotateFilesRequest) Descriptor() ([]byte, []int) {
2805	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{31}
2806}
2807
2808func (x *AsyncBatchAnnotateFilesRequest) GetRequests() []*AsyncAnnotateFileRequest {
2809	if x != nil {
2810		return x.Requests
2811	}
2812	return nil
2813}
2814
2815// Response to an async batch file annotation request.
2816type AsyncBatchAnnotateFilesResponse struct {
2817	state         protoimpl.MessageState
2818	sizeCache     protoimpl.SizeCache
2819	unknownFields protoimpl.UnknownFields
2820
2821	// The list of file annotation responses, one for each request in
2822	// AsyncBatchAnnotateFilesRequest.
2823	Responses []*AsyncAnnotateFileResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
2824}
2825
2826func (x *AsyncBatchAnnotateFilesResponse) Reset() {
2827	*x = AsyncBatchAnnotateFilesResponse{}
2828	if protoimpl.UnsafeEnabled {
2829		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32]
2830		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2831		ms.StoreMessageInfo(mi)
2832	}
2833}
2834
2835func (x *AsyncBatchAnnotateFilesResponse) String() string {
2836	return protoimpl.X.MessageStringOf(x)
2837}
2838
2839func (*AsyncBatchAnnotateFilesResponse) ProtoMessage() {}
2840
2841func (x *AsyncBatchAnnotateFilesResponse) ProtoReflect() protoreflect.Message {
2842	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32]
2843	if protoimpl.UnsafeEnabled && x != nil {
2844		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2845		if ms.LoadMessageInfo() == nil {
2846			ms.StoreMessageInfo(mi)
2847		}
2848		return ms
2849	}
2850	return mi.MessageOf(x)
2851}
2852
2853// Deprecated: Use AsyncBatchAnnotateFilesResponse.ProtoReflect.Descriptor instead.
2854func (*AsyncBatchAnnotateFilesResponse) Descriptor() ([]byte, []int) {
2855	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{32}
2856}
2857
2858func (x *AsyncBatchAnnotateFilesResponse) GetResponses() []*AsyncAnnotateFileResponse {
2859	if x != nil {
2860		return x.Responses
2861	}
2862	return nil
2863}
2864
2865// The desired input location and metadata.
2866type InputConfig struct {
2867	state         protoimpl.MessageState
2868	sizeCache     protoimpl.SizeCache
2869	unknownFields protoimpl.UnknownFields
2870
2871	// The Google Cloud Storage location to read the input from.
2872	GcsSource *GcsSource `protobuf:"bytes,1,opt,name=gcs_source,json=gcsSource,proto3" json:"gcs_source,omitempty"`
2873	// File content, represented as a stream of bytes.
2874	// Note: As with all `bytes` fields, protobuffers use a pure binary
2875	// representation, whereas JSON representations use base64.
2876	//
2877	// Currently, this field only works for BatchAnnotateFiles requests. It does
2878	// not work for AsyncBatchAnnotateFiles requests.
2879	Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"`
2880	// The type of the file. Currently only "application/pdf", "image/tiff" and
2881	// "image/gif" are supported. Wildcards are not supported.
2882	MimeType string `protobuf:"bytes,2,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
2883}
2884
2885func (x *InputConfig) Reset() {
2886	*x = InputConfig{}
2887	if protoimpl.UnsafeEnabled {
2888		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33]
2889		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2890		ms.StoreMessageInfo(mi)
2891	}
2892}
2893
2894func (x *InputConfig) String() string {
2895	return protoimpl.X.MessageStringOf(x)
2896}
2897
2898func (*InputConfig) ProtoMessage() {}
2899
2900func (x *InputConfig) ProtoReflect() protoreflect.Message {
2901	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33]
2902	if protoimpl.UnsafeEnabled && x != nil {
2903		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2904		if ms.LoadMessageInfo() == nil {
2905			ms.StoreMessageInfo(mi)
2906		}
2907		return ms
2908	}
2909	return mi.MessageOf(x)
2910}
2911
2912// Deprecated: Use InputConfig.ProtoReflect.Descriptor instead.
2913func (*InputConfig) Descriptor() ([]byte, []int) {
2914	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{33}
2915}
2916
2917func (x *InputConfig) GetGcsSource() *GcsSource {
2918	if x != nil {
2919		return x.GcsSource
2920	}
2921	return nil
2922}
2923
2924func (x *InputConfig) GetContent() []byte {
2925	if x != nil {
2926		return x.Content
2927	}
2928	return nil
2929}
2930
2931func (x *InputConfig) GetMimeType() string {
2932	if x != nil {
2933		return x.MimeType
2934	}
2935	return ""
2936}
2937
2938// The desired output location and metadata.
2939type OutputConfig struct {
2940	state         protoimpl.MessageState
2941	sizeCache     protoimpl.SizeCache
2942	unknownFields protoimpl.UnknownFields
2943
2944	// The Google Cloud Storage location to write the output(s) to.
2945	GcsDestination *GcsDestination `protobuf:"bytes,1,opt,name=gcs_destination,json=gcsDestination,proto3" json:"gcs_destination,omitempty"`
2946	// The max number of response protos to put into each output JSON file on
2947	// Google Cloud Storage.
2948	// The valid range is [1, 100]. If not specified, the default value is 20.
2949	//
2950	// For example, for one pdf file with 100 pages, 100 response protos will
2951	// be generated. If `batch_size` = 20, then 5 json files each
2952	// containing 20 response protos will be written under the prefix
2953	// `gcs_destination`.`uri`.
2954	//
2955	// Currently, batch_size only applies to GcsDestination, with potential future
2956	// support for other output configurations.
2957	BatchSize int32 `protobuf:"varint,2,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"`
2958}
2959
2960func (x *OutputConfig) Reset() {
2961	*x = OutputConfig{}
2962	if protoimpl.UnsafeEnabled {
2963		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34]
2964		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2965		ms.StoreMessageInfo(mi)
2966	}
2967}
2968
2969func (x *OutputConfig) String() string {
2970	return protoimpl.X.MessageStringOf(x)
2971}
2972
2973func (*OutputConfig) ProtoMessage() {}
2974
2975func (x *OutputConfig) ProtoReflect() protoreflect.Message {
2976	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34]
2977	if protoimpl.UnsafeEnabled && x != nil {
2978		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2979		if ms.LoadMessageInfo() == nil {
2980			ms.StoreMessageInfo(mi)
2981		}
2982		return ms
2983	}
2984	return mi.MessageOf(x)
2985}
2986
2987// Deprecated: Use OutputConfig.ProtoReflect.Descriptor instead.
2988func (*OutputConfig) Descriptor() ([]byte, []int) {
2989	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{34}
2990}
2991
2992func (x *OutputConfig) GetGcsDestination() *GcsDestination {
2993	if x != nil {
2994		return x.GcsDestination
2995	}
2996	return nil
2997}
2998
2999func (x *OutputConfig) GetBatchSize() int32 {
3000	if x != nil {
3001		return x.BatchSize
3002	}
3003	return 0
3004}
3005
3006// The Google Cloud Storage location where the input will be read from.
3007type GcsSource struct {
3008	state         protoimpl.MessageState
3009	sizeCache     protoimpl.SizeCache
3010	unknownFields protoimpl.UnknownFields
3011
3012	// Google Cloud Storage URI for the input file. This must only be a
3013	// Google Cloud Storage object. Wildcards are not currently supported.
3014	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3015}
3016
3017func (x *GcsSource) Reset() {
3018	*x = GcsSource{}
3019	if protoimpl.UnsafeEnabled {
3020		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35]
3021		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3022		ms.StoreMessageInfo(mi)
3023	}
3024}
3025
3026func (x *GcsSource) String() string {
3027	return protoimpl.X.MessageStringOf(x)
3028}
3029
3030func (*GcsSource) ProtoMessage() {}
3031
3032func (x *GcsSource) ProtoReflect() protoreflect.Message {
3033	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35]
3034	if protoimpl.UnsafeEnabled && x != nil {
3035		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3036		if ms.LoadMessageInfo() == nil {
3037			ms.StoreMessageInfo(mi)
3038		}
3039		return ms
3040	}
3041	return mi.MessageOf(x)
3042}
3043
3044// Deprecated: Use GcsSource.ProtoReflect.Descriptor instead.
3045func (*GcsSource) Descriptor() ([]byte, []int) {
3046	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{35}
3047}
3048
3049func (x *GcsSource) GetUri() string {
3050	if x != nil {
3051		return x.Uri
3052	}
3053	return ""
3054}
3055
3056// The Google Cloud Storage location where the output will be written to.
3057type GcsDestination struct {
3058	state         protoimpl.MessageState
3059	sizeCache     protoimpl.SizeCache
3060	unknownFields protoimpl.UnknownFields
3061
3062	// Google Cloud Storage URI prefix where the results will be stored. Results
3063	// will be in JSON format and preceded by its corresponding input URI prefix.
3064	// This field can either represent a gcs file prefix or gcs directory. In
3065	// either case, the uri should be unique because in order to get all of the
3066	// output files, you will need to do a wildcard gcs search on the uri prefix
3067	// you provide.
3068	//
3069	// Examples:
3070	//
3071	// *    File Prefix: gs://bucket-name/here/filenameprefix   The output files
3072	// will be created in gs://bucket-name/here/ and the names of the
3073	// output files will begin with "filenameprefix".
3074	//
3075	// *    Directory Prefix: gs://bucket-name/some/location/   The output files
3076	// will be created in gs://bucket-name/some/location/ and the names of the
3077	// output files could be anything because there was no filename prefix
3078	// specified.
3079	//
3080	// If multiple outputs, each response is still AnnotateFileResponse, each of
3081	// which contains some subset of the full list of AnnotateImageResponse.
3082	// Multiple outputs can happen if, for example, the output JSON is too large
3083	// and overflows into multiple sharded files.
3084	Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
3085}
3086
3087func (x *GcsDestination) Reset() {
3088	*x = GcsDestination{}
3089	if protoimpl.UnsafeEnabled {
3090		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36]
3091		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3092		ms.StoreMessageInfo(mi)
3093	}
3094}
3095
3096func (x *GcsDestination) String() string {
3097	return protoimpl.X.MessageStringOf(x)
3098}
3099
3100func (*GcsDestination) ProtoMessage() {}
3101
3102func (x *GcsDestination) ProtoReflect() protoreflect.Message {
3103	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36]
3104	if protoimpl.UnsafeEnabled && x != nil {
3105		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3106		if ms.LoadMessageInfo() == nil {
3107			ms.StoreMessageInfo(mi)
3108		}
3109		return ms
3110	}
3111	return mi.MessageOf(x)
3112}
3113
3114// Deprecated: Use GcsDestination.ProtoReflect.Descriptor instead.
3115func (*GcsDestination) Descriptor() ([]byte, []int) {
3116	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{36}
3117}
3118
3119func (x *GcsDestination) GetUri() string {
3120	if x != nil {
3121		return x.Uri
3122	}
3123	return ""
3124}
3125
3126// Contains metadata for the BatchAnnotateImages operation.
3127type OperationMetadata struct {
3128	state         protoimpl.MessageState
3129	sizeCache     protoimpl.SizeCache
3130	unknownFields protoimpl.UnknownFields
3131
3132	// Current state of the batch operation.
3133	State OperationMetadata_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.vision.v1p4beta1.OperationMetadata_State" json:"state,omitempty"`
3134	// The time when the batch request was received.
3135	CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
3136	// The time when the operation result was last updated.
3137	UpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
3138}
3139
3140func (x *OperationMetadata) Reset() {
3141	*x = OperationMetadata{}
3142	if protoimpl.UnsafeEnabled {
3143		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37]
3144		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3145		ms.StoreMessageInfo(mi)
3146	}
3147}
3148
3149func (x *OperationMetadata) String() string {
3150	return protoimpl.X.MessageStringOf(x)
3151}
3152
3153func (*OperationMetadata) ProtoMessage() {}
3154
3155func (x *OperationMetadata) ProtoReflect() protoreflect.Message {
3156	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37]
3157	if protoimpl.UnsafeEnabled && x != nil {
3158		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3159		if ms.LoadMessageInfo() == nil {
3160			ms.StoreMessageInfo(mi)
3161		}
3162		return ms
3163	}
3164	return mi.MessageOf(x)
3165}
3166
3167// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.
3168func (*OperationMetadata) Descriptor() ([]byte, []int) {
3169	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{37}
3170}
3171
3172func (x *OperationMetadata) GetState() OperationMetadata_State {
3173	if x != nil {
3174		return x.State
3175	}
3176	return OperationMetadata_STATE_UNSPECIFIED
3177}
3178
3179func (x *OperationMetadata) GetCreateTime() *timestamp.Timestamp {
3180	if x != nil {
3181		return x.CreateTime
3182	}
3183	return nil
3184}
3185
3186func (x *OperationMetadata) GetUpdateTime() *timestamp.Timestamp {
3187	if x != nil {
3188		return x.UpdateTime
3189	}
3190	return nil
3191}
3192
3193// A face-specific landmark (for example, a face feature).
3194type FaceAnnotation_Landmark struct {
3195	state         protoimpl.MessageState
3196	sizeCache     protoimpl.SizeCache
3197	unknownFields protoimpl.UnknownFields
3198
3199	// Face landmark type.
3200	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p4beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
3201	// Face landmark position.
3202	Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
3203}
3204
3205func (x *FaceAnnotation_Landmark) Reset() {
3206	*x = FaceAnnotation_Landmark{}
3207	if protoimpl.UnsafeEnabled {
3208		mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38]
3209		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3210		ms.StoreMessageInfo(mi)
3211	}
3212}
3213
3214func (x *FaceAnnotation_Landmark) String() string {
3215	return protoimpl.X.MessageStringOf(x)
3216}
3217
3218func (*FaceAnnotation_Landmark) ProtoMessage() {}
3219
3220func (x *FaceAnnotation_Landmark) ProtoReflect() protoreflect.Message {
3221	mi := &file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38]
3222	if protoimpl.UnsafeEnabled && x != nil {
3223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3224		if ms.LoadMessageInfo() == nil {
3225			ms.StoreMessageInfo(mi)
3226		}
3227		return ms
3228	}
3229	return mi.MessageOf(x)
3230}
3231
3232// Deprecated: Use FaceAnnotation_Landmark.ProtoReflect.Descriptor instead.
3233func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
3234	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP(), []int{3, 0}
3235}
3236
3237func (x *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
3238	if x != nil {
3239		return x.Type
3240	}
3241	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
3242}
3243
3244func (x *FaceAnnotation_Landmark) GetPosition() *Position {
3245	if x != nil {
3246		return x.Position
3247	}
3248	return nil
3249}
3250
3251var File_google_cloud_vision_v1p4beta1_image_annotator_proto protoreflect.FileDescriptor
3252
3253var file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc = []byte{
3254	0x0a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76,
3255	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,
3256	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x2e,
3257	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3258	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3259	0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
3260	0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
3261	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
3262	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f,
3263	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65,
3264	0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x67, 0x6f,
3265	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f,
3266	0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x61, 0x63, 0x65,
3267	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
3268	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34,
3269	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70,
3270	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f,
3271	0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3272	0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72,
3273	0x63, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3274	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31,
3275	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e,
3276	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67,
3277	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x69, 0x73, 0x69,
3278	0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x77, 0x65, 0x62,
3279	0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3280	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
3281	0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
3282	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
3283	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73,
3284	0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
3285	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3286	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3287	0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3288	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x63,
3289	0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67,
3290	0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70,
3291	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa7, 0x03, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
3292	0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b,
3293	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3294	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46,
3295	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70,
3296	0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3297	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c,
3298	0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
3299	0x09, 0x52, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xa3, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70,
3300	0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
3301	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x43, 0x45, 0x5f,
3302	0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c,
3303	0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f,
3304	0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x4f, 0x5f, 0x44, 0x45, 0x54, 0x45,
3305	0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x42, 0x45, 0x4c,
3306	0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e,
3307	0x54, 0x45, 0x58, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05,
3308	0x12, 0x1b, 0x0a, 0x17, 0x44, 0x4f, 0x43, 0x55, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x45, 0x58,
3309	0x54, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x0b, 0x12, 0x19, 0x0a,
3310	0x15, 0x53, 0x41, 0x46, 0x45, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x44, 0x45, 0x54,
3311	0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4d, 0x41, 0x47,
3312	0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0e,
3313	0x0a, 0x0a, 0x43, 0x52, 0x4f, 0x50, 0x5f, 0x48, 0x49, 0x4e, 0x54, 0x53, 0x10, 0x09, 0x12, 0x11,
3314	0x0a, 0x0d, 0x57, 0x45, 0x42, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10,
3315	0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x54, 0x5f, 0x53, 0x45, 0x41,
3316	0x52, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
3317	0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x13, 0x22, 0x4e,
3318	0x0a, 0x0b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a,
3319	0x0d, 0x67, 0x63, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01,
3320	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72,
3321	0x69, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02,
3322	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x22, 0x65,
3323	0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
3324	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
3325	0x74, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3326	0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3327	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3328	0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73,
3329	0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8a, 0x11, 0x0a, 0x0e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e,
3330	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e,
3331	0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
3332	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3333	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3334	0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f,
3335	0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x55, 0x0a, 0x10, 0x66, 0x64,
3336	0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x02,
3337	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3338	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3339	0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3340	0x79, 0x52, 0x0e, 0x66, 0x64, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c,
3341	0x79, 0x12, 0x54, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x03,
3342	0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3343	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3344	0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3345	0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x09, 0x6c, 0x61,
3346	0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6c, 0x6c, 0x5f,
3347	0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x72, 0x6f, 0x6c,
3348	0x6c, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x6e, 0x5f, 0x61, 0x6e,
3349	0x67, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, 0x61, 0x6e, 0x41, 0x6e,
3350	0x67, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x6e, 0x67, 0x6c,
3351	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6c, 0x74, 0x41, 0x6e, 0x67,
3352	0x6c, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
3353	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02,
3354	0x52, 0x13, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3355	0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72,
3356	0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18,
3357	0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x69,
3358	0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0e,
3359	0x6a, 0x6f, 0x79, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x09,
3360	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3361	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3362	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3363	0x0d, 0x6a, 0x6f, 0x79, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x56,
3364	0x0a, 0x11, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3365	0x6f, 0x6f, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3366	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3367	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3368	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x10, 0x73, 0x6f, 0x72, 0x72, 0x6f, 0x77, 0x4c, 0x69, 0x6b, 0x65,
3369	0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x5f,
3370	0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e,
3371	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3372	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3373	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x0f, 0x61, 0x6e, 0x67,
3374	0x65, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13,
3375	0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3376	0x6f, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3377	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3378	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3379	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x12, 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65, 0x4c, 0x69,
3380	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x18, 0x75, 0x6e, 0x64, 0x65,
3381	0x72, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3382	0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
3383	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3384	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c,
3385	0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x16, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x70, 0x6f,
3386	0x73, 0x65, 0x64, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x58, 0x0a,
3387	0x12, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3388	0x6f, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3389	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3390	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69,
3391	0x68, 0x6f, 0x6f, 0x64, 0x52, 0x11, 0x62, 0x6c, 0x75, 0x72, 0x72, 0x65, 0x64, 0x4c, 0x69, 0x6b,
3392	0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x5a, 0x0a, 0x13, 0x68, 0x65, 0x61, 0x64, 0x77,
3393	0x65, 0x61, 0x72, 0x5f, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x18, 0x0f,
3394	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3395	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3396	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3397	0x12, 0x68, 0x65, 0x61, 0x64, 0x77, 0x65, 0x61, 0x72, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68,
3398	0x6f, 0x6f, 0x64, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
3399	0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32,
3400	0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3401	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3402	0x46, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,
3403	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69,
3404	0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0xd7, 0x07, 0x0a, 0x08, 0x4c, 0x61, 0x6e,
3405	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
3406	0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3407	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3408	0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3409	0x6f, 0x6e, 0x2e, 0x4c, 0x61, 0x6e, 0x64, 0x6d, 0x61, 0x72, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65,
3410	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69,
3411	0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3412	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3413	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
3414	0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x06, 0x0a, 0x04,
3415	0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
3416	0x4c, 0x41, 0x4e, 0x44, 0x4d, 0x41, 0x52, 0x4b, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x45,
3417	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x49, 0x47, 0x48,
3418	0x54, 0x5f, 0x45, 0x59, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f,
3419	0x4f, 0x46, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10,
3420	0x03, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x4c, 0x45,
3421	0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15,
3422	0x4c, 0x45, 0x46, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59,
3423	0x45, 0x42, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54,
3424	0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52, 0x4f,
3425	0x57, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f,
3426	0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x5f, 0x45, 0x59, 0x45, 0x53, 0x10, 0x07, 0x12, 0x0c,
3427	0x0a, 0x08, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x54, 0x49, 0x50, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09,
3428	0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x4c,
3429	0x4f, 0x57, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x50, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x4f,
3430	0x55, 0x54, 0x48, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x4f,
3431	0x55, 0x54, 0x48, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x4d,
3432	0x4f, 0x55, 0x54, 0x48, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x0d, 0x12, 0x15, 0x0a,
3433	0x11, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x52, 0x49, 0x47,
3434	0x48, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x4f, 0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54,
3435	0x54, 0x4f, 0x4d, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x4f,
3436	0x53, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52,
3437	0x10, 0x10, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54,
3438	0x4f, 0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x11, 0x12, 0x19, 0x0a,
3439	0x15, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3440	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x12, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x46, 0x54,
3441	0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55, 0x4e,
3442	0x44, 0x41, 0x52, 0x59, 0x10, 0x13, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45,
3443	0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x14,
3444	0x12, 0x1a, 0x0a, 0x16, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x54, 0x4f,
3445	0x50, 0x5f, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16,
3446	0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3447	0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x49, 0x47, 0x48,
3448	0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x54, 0x4f, 0x4d, 0x5f, 0x42, 0x4f, 0x55,
3449	0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x17, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x49, 0x47, 0x48, 0x54,
3450	0x5f, 0x45, 0x59, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x4e, 0x45, 0x52,
3451	0x10, 0x18, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x42, 0x52,
3452	0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f, 0x49, 0x4e,
3453	0x54, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x59, 0x45,
3454	0x42, 0x52, 0x4f, 0x57, 0x5f, 0x55, 0x50, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x44, 0x50, 0x4f,
3455	0x49, 0x4e, 0x54, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x41,
3456	0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0x1b, 0x12, 0x15, 0x0a, 0x11, 0x52,
3457	0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x41, 0x52, 0x5f, 0x54, 0x52, 0x41, 0x47, 0x49, 0x4f, 0x4e,
3458	0x10, 0x1c, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x45, 0x59, 0x45, 0x5f, 0x50,
3459	0x55, 0x50, 0x49, 0x4c, 0x10, 0x1d, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f,
3460	0x45, 0x59, 0x45, 0x5f, 0x50, 0x55, 0x50, 0x49, 0x4c, 0x10, 0x1e, 0x12, 0x15, 0x0a, 0x11, 0x46,
3461	0x4f, 0x52, 0x45, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x47, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x4c, 0x41,
3462	0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x47, 0x4e, 0x41, 0x54, 0x48,
3463	0x49, 0x4f, 0x4e, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x49, 0x4e, 0x5f, 0x4c, 0x45,
3464	0x46, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 0x43,
3465	0x48, 0x49, 0x4e, 0x5f, 0x52, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x47, 0x4f, 0x4e, 0x49, 0x4f, 0x4e,
3466	0x10, 0x22, 0x22, 0x3c, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e,
3467	0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x01, 0x20,
3468	0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
3469	0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x4c, 0x6e, 0x67,
3470	0x22, 0x57, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04,
3471	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
3472	0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
3473	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34,
3474	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x69,
3475	0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9e, 0x03, 0x0a, 0x10, 0x45, 0x6e,
3476	0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
3477	0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64,
3478	0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3479	0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
3480	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64,
3481	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63,
3482	0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65,
3483	0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05,
3484	0x20, 0x01, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
3485	0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x69,
3486	0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x61,
3487	0x6c, 0x69, 0x74, 0x79, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67,
3488	0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
3489	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3490	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e,
3491	0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69,
3492	0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3493	0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3494	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3495	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69,
3496	0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3497	0x73, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
3498	0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3499	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3500	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x52, 0x0a,
3501	0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x4c,
3502	0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e,
3503	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18,
3504	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61,
3505	0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
3506	0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12,
3507	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
3508	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01,
3509	0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x62, 0x6f, 0x75,
3510	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
3511	0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3512	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3513	0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x52, 0x0c, 0x62,
3514	0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79, 0x22, 0xe3, 0x02, 0x0a, 0x14,
3515	0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3516	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x05, 0x61, 0x64, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20,
3517	0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3518	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3519	0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x05,
3520	0x61, 0x64, 0x75, 0x6c, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x18, 0x02,
3521	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3522	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3523	0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52,
3524	0x05, 0x73, 0x70, 0x6f, 0x6f, 0x66, 0x12, 0x43, 0x0a, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61,
3525	0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3526	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3527	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f,
3528	0x6f, 0x64, 0x52, 0x07, 0x6d, 0x65, 0x64, 0x69, 0x63, 0x61, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x76,
3529	0x69, 0x6f, 0x6c, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e,
3530	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3531	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69,
3532	0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x08, 0x76, 0x69, 0x6f, 0x6c, 0x65, 0x6e,
3533	0x63, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e,
3534	0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3535	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3536	0x2e, 0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x52, 0x04, 0x72, 0x61, 0x63,
3537	0x79, 0x22, 0x77, 0x0a, 0x0b, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74,
3538	0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6e, 0x67, 0x18,
3539	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74,
3540	0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x4c,
3541	0x61, 0x74, 0x4c, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x74,
3542	0x5f, 0x6c, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f,
3543	0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52,
3544	0x09, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x22, 0x72, 0x0a, 0x09, 0x43, 0x6f,
3545	0x6c, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
3546	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3547	0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f,
3548	0x72, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,
3549	0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x69, 0x78, 0x65, 0x6c,
3550	0x5f, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52,
3551	0x0d, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c,
3552	0x0a, 0x18, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73,
3553	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x63, 0x6f,
3554	0x6c, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
3555	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3556	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3557	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x22, 0x73, 0x0a, 0x0f,
3558	0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
3559	0x60, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f,
3560	0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3561	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3562	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e,
3563	0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
3564	0x6e, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
3565	0x73, 0x22, 0xad, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x50,
3566	0x0a, 0x0d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x79, 0x18,
3567	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3568	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3569	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f,
3570	0x6c, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x79,
3571	0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02,
3572	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
3573	0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x66,
3574	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x69,
3575	0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
3576	0x6e, 0x22, 0x5d, 0x0a, 0x13, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e,
3577	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x70,
3578	0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
3579	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69,
3580	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x6f,
3581	0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73,
3582	0x22, 0x36, 0x0a, 0x0f, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72,
3583	0x61, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61,
3584	0x74, 0x69, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x73, 0x70, 0x65,
3585	0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x73, 0x22, 0x44, 0x0a, 0x12, 0x57, 0x65, 0x62, 0x44,
3586	0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2e,
3587	0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x72, 0x65,
3588	0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63,
3589	0x6c, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x9c,
3590	0x04, 0x0a, 0x0c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
3591	0x4e, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x74,
3592	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3593	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
3594	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65,
3595	0x63, 0x74, 0x52, 0x0b, 0x6c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x74, 0x12,
3596	0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74,
3597	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
3598	0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x11, 0x63, 0x72, 0x6f, 0x70, 0x5f, 0x68,
3599	0x69, 0x6e, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
3600	0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3601	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3602	0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61, 0x6d,
3603	0x73, 0x52, 0x0f, 0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x50, 0x61, 0x72, 0x61,
3604	0x6d, 0x73, 0x12, 0x6c, 0x0a, 0x17, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x67,
3605	0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20,
3606	0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3607	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3608	0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74,
3609	0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x15, 0x66, 0x61, 0x63, 0x65, 0x52,
3610	0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
3611	0x12, 0x66, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x73, 0x65, 0x61, 0x72,
3612	0x63, 0x68, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
3613	0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3614	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3615	0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x61, 0x72,
3616	0x61, 0x6d, 0x73, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72,
3617	0x63, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x63, 0x0a, 0x14, 0x77, 0x65, 0x62, 0x5f,
3618	0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
3619	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3620	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
3621	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74,
3622	0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x12, 0x77, 0x65, 0x62, 0x44, 0x65,
3623	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xe8, 0x01,
3624	0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
3625	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18,
3626	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3627	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3628	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61,
3629	0x67, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02,
3630	0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3631	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3632	0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65,
3633	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f,
3634	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
3635	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3636	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d,
3637	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67,
3638	0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x4b, 0x0a, 0x16, 0x49, 0x6d, 0x61, 0x67,
3639	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
3640	0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
3641	0x03, 0x75, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x75, 0x6d,
3642	0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x4e,
3643	0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xc3, 0x0a, 0x0a, 0x15, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3644	0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3645	0x58, 0x0a, 0x10, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3646	0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3647	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3648	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x41, 0x6e,
3649	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x66, 0x61, 0x63, 0x65, 0x41, 0x6e,
3650	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x14, 0x6c, 0x61, 0x6e,
3651	0x64, 0x6d, 0x61, 0x72, 0x6b, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3652	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3653	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3654	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e,
3655	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6c, 0x61, 0x6e, 0x64, 0x6d, 0x61,
3656	0x72, 0x6b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a,
3657	0x10, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3658	0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3659	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3660	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e,
3661	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x6f, 0x41, 0x6e,
3662	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x11, 0x6c, 0x61, 0x62,
3663	0x65, 0x6c, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04,
3664	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3665	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3666	0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3667	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x41, 0x6e, 0x6e, 0x6f,
3668	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x7a, 0x0a, 0x1c, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
3669	0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f,
3670	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e,
3671	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3672	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f,
3673	0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e,
3674	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a,
3675	0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
3676	0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e, 0x6f,
3677	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e,
3678	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3679	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e,
3680	0x74, 0x69, 0x74, 0x79, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f,
3681	0x74, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
3682	0x5f, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x6e, 0x6e,
3683	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
3684	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3685	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,
3686	0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x75,
3687	0x6c, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3688	0x12, 0x69, 0x0a, 0x16, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f,
3689	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
3690	0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3691	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3692	0x2e, 0x53, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74,
3693	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x73, 0x61, 0x66, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63,
3694	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x1b, 0x69,
3695	0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x5f,
3696	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
3697	0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3698	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3699	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
3700	0x52, 0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
3701	0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x15, 0x63,
3702	0x72, 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3703	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
3704	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3705	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x6f, 0x70, 0x48,
3706	0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13,
3707	0x63, 0x72, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3708	0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0d, 0x77, 0x65, 0x62, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63,
3709	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
3710	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3711	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x44, 0x65,
3712	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x77, 0x65, 0x62, 0x44, 0x65, 0x74, 0x65,
3713	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x69, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
3714	0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
3715	0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
3716	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34,
3717	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x65, 0x61,
3718	0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x64,
3719	0x75, 0x63, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
3720	0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
3721	0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61,
3722	0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4f, 0x0a, 0x07, 0x63, 0x6f,
3723	0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f,
3724	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3725	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67,
3726	0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65,
3727	0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x72, 0x0a, 0x1a, 0x42,
3728	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3729	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x71,
3730	0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f,
3731	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3732	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
3733	0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3734	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22,
3735	0x71, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65,
3736	0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52,
3737	0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
3738	0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3739	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3740	0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
3741	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3742	0x65, 0x73, 0x22, 0x90, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3743	0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0c, 0x69, 0x6e,
3744	0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3745	0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3746	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3747	0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x69, 0x6e,
3748	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x08, 0x66, 0x65, 0x61,
3749	0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
3750	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3751	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65, 0x61, 0x74,
3752	0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x50, 0x0a,
3753	0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03,
3754	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3755	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3756	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
3757	0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12,
3758	0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05,
3759	0x70, 0x61, 0x67, 0x65, 0x73, 0x22, 0x84, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3760	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d,
3761	0x0a, 0x0c, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
3762	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3763	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3764	0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3765	0x52, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52, 0x0a,
3766	0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
3767	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3768	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3769	0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
3770	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3771	0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x73,
3772	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x67,
3773	0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
3774	0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53,
3775	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x70, 0x0a, 0x19,
3776	0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c,
3777	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, 0x71,
3778	0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f,
3779	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3780	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f,
3781	0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42,
3782	0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x6f,
3783	0x0a, 0x1a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3784	0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x09,
3785	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
3786	0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3787	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3788	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
3789	0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22,
3790	0xd1, 0x02, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3791	0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0c,
3792	0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01,
3793	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
3794	0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
3795	0x61, 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b,
3796	0x69, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x42, 0x0a, 0x08, 0x66,
3797	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e,
3798	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3799	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x65,
3800	0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12,
3801	0x50, 0x0a, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
3802	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
3803	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70,
3804	0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74,
3805	0x65, 0x78, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
3806	0x74, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
3807	0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3808	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3809	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43,
3810	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3811	0x66, 0x69, 0x67, 0x22, 0x6d, 0x0a, 0x19, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f,
3812	0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3813	0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
3814	0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
3815	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
3816	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f,
3817	0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66,
3818	0x69, 0x67, 0x22, 0xce, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63,
3819	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52,
3820	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
3821	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3822	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3823	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
3824	0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0,
3825	0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x0d,
3826	0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20,
3827	0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
3828	0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65,
3829	0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3830	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e,
3831	0x66, 0x69, 0x67, 0x22, 0x74, 0x0a, 0x20, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63,
3832	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52,
3833	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x6f, 0x75, 0x74, 0x70, 0x75,
3834	0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
3835	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3836	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f,
3837	0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6f, 0x75, 0x74,
3838	0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x7a, 0x0a, 0x1e, 0x41, 0x73, 0x79,
3839	0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3840	0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x08, 0x72,
3841	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e,
3842	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3843	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73,
3844	0x79, 0x6e, 0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52,
3845	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71,
3846	0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x79, 0x0a, 0x1f, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61,
3847	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73,
3848	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70,
3849	0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f,
3850	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f,
3851	0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e,
3852	0x63, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
3853	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73,
3854	0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
3855	0x12, 0x47, 0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01,
3856	0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
3857	0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62,
3858	0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09,
3859	0x67, 0x63, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e,
3860	0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74,
3861	0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
3862	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65,
3863	0x22, 0x85, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3864	0x67, 0x12, 0x56, 0x0a, 0x0f, 0x67, 0x63, 0x73, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
3865	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f,
3866	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e,
3867	0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x63, 0x73, 0x44, 0x65,
3868	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x67, 0x63, 0x73, 0x44, 0x65,
3869	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74,
3870	0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62,
3871	0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x53,
3872	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01,
3873	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x22, 0x0a, 0x0e, 0x47, 0x63, 0x73, 0x44, 0x65,
3874	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69,
3875	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xae, 0x02, 0x0a, 0x11,
3876	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
3877	0x61, 0x12, 0x4c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
3878	0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
3879	0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31,
3880	0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
3881	0x74, 0x61, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
3882	0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05,
3883	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3884	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3885	0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b,
3886	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
3887	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3888	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75,
3889	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x05, 0x53, 0x74, 0x61,
3890	0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
3891	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45,
3892	0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e,
3893	0x47, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x12, 0x0d, 0x0a,
3894	0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0a,
3895	0x4c, 0x69, 0x6b, 0x65, 0x6c, 0x69, 0x68, 0x6f, 0x6f, 0x64, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e,
3896	0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x45, 0x52, 0x59, 0x5f,
3897	0x55, 0x4e, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e,
3898	0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4f, 0x53, 0x53,
3899	0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x49, 0x4b, 0x45, 0x4c, 0x59,
3900	0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x4b, 0x45, 0x4c,
3901	0x59, 0x10, 0x05, 0x32, 0xf1, 0x07, 0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e,
3902	0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x12, 0xbe, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68,
3903	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x39,
3904	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3905	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42,
3906	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67,
3907	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3908	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
3909	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41,
3910	0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73,
3911	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, 0x1a, 0x2f,
3912	0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73,
3913	0x3a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72,
3914	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63,
3915	0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x38,
3916	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69,
3917	0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42,
3918	0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65,
3919	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3920	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76,
3921	0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e,
3922	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
3923	0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x76, 0x31,
3924	0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x6e,
3925	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08, 0x72, 0x65, 0x71, 0x75,
3926	0x65, 0x73, 0x74, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61,
3927	0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65,
3928	0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3929	0x2e, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3930	0x31, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f,
3931	0x74, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
3932	0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72,
3933	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
3934	0x22, 0x80, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x76, 0x31, 0x70, 0x34,
3935	0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79,
3936	0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a,
3937	0x01, 0x2a, 0xda, 0x41, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2c, 0x6f, 0x75,
3938	0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x41, 0x35, 0x0a, 0x20,
3939	0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3940	0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3941	0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64,
3942	0x61, 0x74, 0x61, 0x12, 0xe9, 0x01, 0x0a, 0x17, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74,
3943	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12,
3944	0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76,
3945	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,
3946	0x41, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
3947	0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
3948	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
3949	0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x82,
3950	0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61,
3951	0x31, 0x2f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x42, 0x61, 0x74,
3952	0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x08,
3953	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0xca, 0x41, 0x34, 0x0a, 0x1f, 0x41, 0x73, 0x79,
3954	0x6e, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x46,
3955	0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x11, 0x4f, 0x70,
3956	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a,
3957	0x76, 0xca, 0x41, 0x15, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3958	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x5b, 0x68, 0x74, 0x74, 0x70,
3959	0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
3960	0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
3961	0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73,
3962	0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
3963	0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
3964	0x2d, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x89, 0x01, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e,
3965	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x76, 0x69, 0x73,
3966	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x13, 0x49,
3967	0x6d, 0x61, 0x67, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f,
3968	0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c,
3969	0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3970	0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75,
3971	0x64, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x70, 0x34, 0x62, 0x65, 0x74,
3972	0x61, 0x31, 0x3b, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x04, 0x47,
3973	0x43, 0x56, 0x4e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3974}
3975
3976var (
3977	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescOnce sync.Once
3978	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData = file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc
3979)
3980
3981func file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescGZIP() []byte {
3982	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescOnce.Do(func() {
3983		file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData)
3984	})
3985	return file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDescData
3986}
3987
3988var file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
3989var file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
3990var file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes = []interface{}{
3991	(Likelihood)(0),                          // 0: google.cloud.vision.v1p4beta1.Likelihood
3992	(Feature_Type)(0),                        // 1: google.cloud.vision.v1p4beta1.Feature.Type
3993	(FaceAnnotation_Landmark_Type)(0),        // 2: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type
3994	(OperationMetadata_State)(0),             // 3: google.cloud.vision.v1p4beta1.OperationMetadata.State
3995	(*Feature)(nil),                          // 4: google.cloud.vision.v1p4beta1.Feature
3996	(*ImageSource)(nil),                      // 5: google.cloud.vision.v1p4beta1.ImageSource
3997	(*Image)(nil),                            // 6: google.cloud.vision.v1p4beta1.Image
3998	(*FaceAnnotation)(nil),                   // 7: google.cloud.vision.v1p4beta1.FaceAnnotation
3999	(*LocationInfo)(nil),                     // 8: google.cloud.vision.v1p4beta1.LocationInfo
4000	(*Property)(nil),                         // 9: google.cloud.vision.v1p4beta1.Property
4001	(*EntityAnnotation)(nil),                 // 10: google.cloud.vision.v1p4beta1.EntityAnnotation
4002	(*LocalizedObjectAnnotation)(nil),        // 11: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation
4003	(*SafeSearchAnnotation)(nil),             // 12: google.cloud.vision.v1p4beta1.SafeSearchAnnotation
4004	(*LatLongRect)(nil),                      // 13: google.cloud.vision.v1p4beta1.LatLongRect
4005	(*ColorInfo)(nil),                        // 14: google.cloud.vision.v1p4beta1.ColorInfo
4006	(*DominantColorsAnnotation)(nil),         // 15: google.cloud.vision.v1p4beta1.DominantColorsAnnotation
4007	(*ImageProperties)(nil),                  // 16: google.cloud.vision.v1p4beta1.ImageProperties
4008	(*CropHint)(nil),                         // 17: google.cloud.vision.v1p4beta1.CropHint
4009	(*CropHintsAnnotation)(nil),              // 18: google.cloud.vision.v1p4beta1.CropHintsAnnotation
4010	(*CropHintsParams)(nil),                  // 19: google.cloud.vision.v1p4beta1.CropHintsParams
4011	(*WebDetectionParams)(nil),               // 20: google.cloud.vision.v1p4beta1.WebDetectionParams
4012	(*ImageContext)(nil),                     // 21: google.cloud.vision.v1p4beta1.ImageContext
4013	(*AnnotateImageRequest)(nil),             // 22: google.cloud.vision.v1p4beta1.AnnotateImageRequest
4014	(*ImageAnnotationContext)(nil),           // 23: google.cloud.vision.v1p4beta1.ImageAnnotationContext
4015	(*AnnotateImageResponse)(nil),            // 24: google.cloud.vision.v1p4beta1.AnnotateImageResponse
4016	(*BatchAnnotateImagesRequest)(nil),       // 25: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest
4017	(*BatchAnnotateImagesResponse)(nil),      // 26: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse
4018	(*AnnotateFileRequest)(nil),              // 27: google.cloud.vision.v1p4beta1.AnnotateFileRequest
4019	(*AnnotateFileResponse)(nil),             // 28: google.cloud.vision.v1p4beta1.AnnotateFileResponse
4020	(*BatchAnnotateFilesRequest)(nil),        // 29: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest
4021	(*BatchAnnotateFilesResponse)(nil),       // 30: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse
4022	(*AsyncAnnotateFileRequest)(nil),         // 31: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest
4023	(*AsyncAnnotateFileResponse)(nil),        // 32: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse
4024	(*AsyncBatchAnnotateImagesRequest)(nil),  // 33: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest
4025	(*AsyncBatchAnnotateImagesResponse)(nil), // 34: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse
4026	(*AsyncBatchAnnotateFilesRequest)(nil),   // 35: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest
4027	(*AsyncBatchAnnotateFilesResponse)(nil),  // 36: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse
4028	(*InputConfig)(nil),                      // 37: google.cloud.vision.v1p4beta1.InputConfig
4029	(*OutputConfig)(nil),                     // 38: google.cloud.vision.v1p4beta1.OutputConfig
4030	(*GcsSource)(nil),                        // 39: google.cloud.vision.v1p4beta1.GcsSource
4031	(*GcsDestination)(nil),                   // 40: google.cloud.vision.v1p4beta1.GcsDestination
4032	(*OperationMetadata)(nil),                // 41: google.cloud.vision.v1p4beta1.OperationMetadata
4033	(*FaceAnnotation_Landmark)(nil),          // 42: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark
4034	(*BoundingPoly)(nil),                     // 43: google.cloud.vision.v1p4beta1.BoundingPoly
4035	(*FaceRecognitionResult)(nil),            // 44: google.cloud.vision.v1p4beta1.FaceRecognitionResult
4036	(*latlng.LatLng)(nil),                    // 45: google.type.LatLng
4037	(*color.Color)(nil),                      // 46: google.type.Color
4038	(*FaceRecognitionParams)(nil),            // 47: google.cloud.vision.v1p4beta1.FaceRecognitionParams
4039	(*ProductSearchParams)(nil),              // 48: google.cloud.vision.v1p4beta1.ProductSearchParams
4040	(*TextAnnotation)(nil),                   // 49: google.cloud.vision.v1p4beta1.TextAnnotation
4041	(*WebDetection)(nil),                     // 50: google.cloud.vision.v1p4beta1.WebDetection
4042	(*ProductSearchResults)(nil),             // 51: google.cloud.vision.v1p4beta1.ProductSearchResults
4043	(*status.Status)(nil),                    // 52: google.rpc.Status
4044	(*timestamp.Timestamp)(nil),              // 53: google.protobuf.Timestamp
4045	(*Position)(nil),                         // 54: google.cloud.vision.v1p4beta1.Position
4046	(*longrunning.Operation)(nil),            // 55: google.longrunning.Operation
4047}
4048var file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs = []int32{
4049	1,  // 0: google.cloud.vision.v1p4beta1.Feature.type:type_name -> google.cloud.vision.v1p4beta1.Feature.Type
4050	5,  // 1: google.cloud.vision.v1p4beta1.Image.source:type_name -> google.cloud.vision.v1p4beta1.ImageSource
4051	43, // 2: google.cloud.vision.v1p4beta1.FaceAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4052	43, // 3: google.cloud.vision.v1p4beta1.FaceAnnotation.fd_bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4053	42, // 4: google.cloud.vision.v1p4beta1.FaceAnnotation.landmarks:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark
4054	0,  // 5: google.cloud.vision.v1p4beta1.FaceAnnotation.joy_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4055	0,  // 6: google.cloud.vision.v1p4beta1.FaceAnnotation.sorrow_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4056	0,  // 7: google.cloud.vision.v1p4beta1.FaceAnnotation.anger_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4057	0,  // 8: google.cloud.vision.v1p4beta1.FaceAnnotation.surprise_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4058	0,  // 9: google.cloud.vision.v1p4beta1.FaceAnnotation.under_exposed_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4059	0,  // 10: google.cloud.vision.v1p4beta1.FaceAnnotation.blurred_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4060	0,  // 11: google.cloud.vision.v1p4beta1.FaceAnnotation.headwear_likelihood:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4061	44, // 12: google.cloud.vision.v1p4beta1.FaceAnnotation.recognition_result:type_name -> google.cloud.vision.v1p4beta1.FaceRecognitionResult
4062	45, // 13: google.cloud.vision.v1p4beta1.LocationInfo.lat_lng:type_name -> google.type.LatLng
4063	43, // 14: google.cloud.vision.v1p4beta1.EntityAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4064	8,  // 15: google.cloud.vision.v1p4beta1.EntityAnnotation.locations:type_name -> google.cloud.vision.v1p4beta1.LocationInfo
4065	9,  // 16: google.cloud.vision.v1p4beta1.EntityAnnotation.properties:type_name -> google.cloud.vision.v1p4beta1.Property
4066	43, // 17: google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4067	0,  // 18: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.adult:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4068	0,  // 19: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.spoof:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4069	0,  // 20: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.medical:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4070	0,  // 21: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.violence:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4071	0,  // 22: google.cloud.vision.v1p4beta1.SafeSearchAnnotation.racy:type_name -> google.cloud.vision.v1p4beta1.Likelihood
4072	45, // 23: google.cloud.vision.v1p4beta1.LatLongRect.min_lat_lng:type_name -> google.type.LatLng
4073	45, // 24: google.cloud.vision.v1p4beta1.LatLongRect.max_lat_lng:type_name -> google.type.LatLng
4074	46, // 25: google.cloud.vision.v1p4beta1.ColorInfo.color:type_name -> google.type.Color
4075	14, // 26: google.cloud.vision.v1p4beta1.DominantColorsAnnotation.colors:type_name -> google.cloud.vision.v1p4beta1.ColorInfo
4076	15, // 27: google.cloud.vision.v1p4beta1.ImageProperties.dominant_colors:type_name -> google.cloud.vision.v1p4beta1.DominantColorsAnnotation
4077	43, // 28: google.cloud.vision.v1p4beta1.CropHint.bounding_poly:type_name -> google.cloud.vision.v1p4beta1.BoundingPoly
4078	17, // 29: google.cloud.vision.v1p4beta1.CropHintsAnnotation.crop_hints:type_name -> google.cloud.vision.v1p4beta1.CropHint
4079	13, // 30: google.cloud.vision.v1p4beta1.ImageContext.lat_long_rect:type_name -> google.cloud.vision.v1p4beta1.LatLongRect
4080	19, // 31: google.cloud.vision.v1p4beta1.ImageContext.crop_hints_params:type_name -> google.cloud.vision.v1p4beta1.CropHintsParams
4081	47, // 32: google.cloud.vision.v1p4beta1.ImageContext.face_recognition_params:type_name -> google.cloud.vision.v1p4beta1.FaceRecognitionParams
4082	48, // 33: google.cloud.vision.v1p4beta1.ImageContext.product_search_params:type_name -> google.cloud.vision.v1p4beta1.ProductSearchParams
4083	20, // 34: google.cloud.vision.v1p4beta1.ImageContext.web_detection_params:type_name -> google.cloud.vision.v1p4beta1.WebDetectionParams
4084	6,  // 35: google.cloud.vision.v1p4beta1.AnnotateImageRequest.image:type_name -> google.cloud.vision.v1p4beta1.Image
4085	4,  // 36: google.cloud.vision.v1p4beta1.AnnotateImageRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4086	21, // 37: google.cloud.vision.v1p4beta1.AnnotateImageRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4087	7,  // 38: google.cloud.vision.v1p4beta1.AnnotateImageResponse.face_annotations:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation
4088	10, // 39: google.cloud.vision.v1p4beta1.AnnotateImageResponse.landmark_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4089	10, // 40: google.cloud.vision.v1p4beta1.AnnotateImageResponse.logo_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4090	10, // 41: google.cloud.vision.v1p4beta1.AnnotateImageResponse.label_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4091	11, // 42: google.cloud.vision.v1p4beta1.AnnotateImageResponse.localized_object_annotations:type_name -> google.cloud.vision.v1p4beta1.LocalizedObjectAnnotation
4092	10, // 43: google.cloud.vision.v1p4beta1.AnnotateImageResponse.text_annotations:type_name -> google.cloud.vision.v1p4beta1.EntityAnnotation
4093	49, // 44: google.cloud.vision.v1p4beta1.AnnotateImageResponse.full_text_annotation:type_name -> google.cloud.vision.v1p4beta1.TextAnnotation
4094	12, // 45: google.cloud.vision.v1p4beta1.AnnotateImageResponse.safe_search_annotation:type_name -> google.cloud.vision.v1p4beta1.SafeSearchAnnotation
4095	16, // 46: google.cloud.vision.v1p4beta1.AnnotateImageResponse.image_properties_annotation:type_name -> google.cloud.vision.v1p4beta1.ImageProperties
4096	18, // 47: google.cloud.vision.v1p4beta1.AnnotateImageResponse.crop_hints_annotation:type_name -> google.cloud.vision.v1p4beta1.CropHintsAnnotation
4097	50, // 48: google.cloud.vision.v1p4beta1.AnnotateImageResponse.web_detection:type_name -> google.cloud.vision.v1p4beta1.WebDetection
4098	51, // 49: google.cloud.vision.v1p4beta1.AnnotateImageResponse.product_search_results:type_name -> google.cloud.vision.v1p4beta1.ProductSearchResults
4099	52, // 50: google.cloud.vision.v1p4beta1.AnnotateImageResponse.error:type_name -> google.rpc.Status
4100	23, // 51: google.cloud.vision.v1p4beta1.AnnotateImageResponse.context:type_name -> google.cloud.vision.v1p4beta1.ImageAnnotationContext
4101	22, // 52: google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageRequest
4102	24, // 53: google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageResponse
4103	37, // 54: google.cloud.vision.v1p4beta1.AnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4104	4,  // 55: google.cloud.vision.v1p4beta1.AnnotateFileRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4105	21, // 56: google.cloud.vision.v1p4beta1.AnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4106	37, // 57: google.cloud.vision.v1p4beta1.AnnotateFileResponse.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4107	24, // 58: google.cloud.vision.v1p4beta1.AnnotateFileResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageResponse
4108	52, // 59: google.cloud.vision.v1p4beta1.AnnotateFileResponse.error:type_name -> google.rpc.Status
4109	27, // 60: google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateFileRequest
4110	28, // 61: google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AnnotateFileResponse
4111	37, // 62: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.input_config:type_name -> google.cloud.vision.v1p4beta1.InputConfig
4112	4,  // 63: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.features:type_name -> google.cloud.vision.v1p4beta1.Feature
4113	21, // 64: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.image_context:type_name -> google.cloud.vision.v1p4beta1.ImageContext
4114	38, // 65: google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4115	38, // 66: google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4116	22, // 67: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AnnotateImageRequest
4117	38, // 68: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4118	38, // 69: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesResponse.output_config:type_name -> google.cloud.vision.v1p4beta1.OutputConfig
4119	31, // 70: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest.requests:type_name -> google.cloud.vision.v1p4beta1.AsyncAnnotateFileRequest
4120	32, // 71: google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesResponse.responses:type_name -> google.cloud.vision.v1p4beta1.AsyncAnnotateFileResponse
4121	39, // 72: google.cloud.vision.v1p4beta1.InputConfig.gcs_source:type_name -> google.cloud.vision.v1p4beta1.GcsSource
4122	40, // 73: google.cloud.vision.v1p4beta1.OutputConfig.gcs_destination:type_name -> google.cloud.vision.v1p4beta1.GcsDestination
4123	3,  // 74: google.cloud.vision.v1p4beta1.OperationMetadata.state:type_name -> google.cloud.vision.v1p4beta1.OperationMetadata.State
4124	53, // 75: google.cloud.vision.v1p4beta1.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp
4125	53, // 76: google.cloud.vision.v1p4beta1.OperationMetadata.update_time:type_name -> google.protobuf.Timestamp
4126	2,  // 77: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.type:type_name -> google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.Type
4127	54, // 78: google.cloud.vision.v1p4beta1.FaceAnnotation.Landmark.position:type_name -> google.cloud.vision.v1p4beta1.Position
4128	25, // 79: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages:input_type -> google.cloud.vision.v1p4beta1.BatchAnnotateImagesRequest
4129	29, // 80: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles:input_type -> google.cloud.vision.v1p4beta1.BatchAnnotateFilesRequest
4130	33, // 81: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages:input_type -> google.cloud.vision.v1p4beta1.AsyncBatchAnnotateImagesRequest
4131	35, // 82: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles:input_type -> google.cloud.vision.v1p4beta1.AsyncBatchAnnotateFilesRequest
4132	26, // 83: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateImages:output_type -> google.cloud.vision.v1p4beta1.BatchAnnotateImagesResponse
4133	30, // 84: google.cloud.vision.v1p4beta1.ImageAnnotator.BatchAnnotateFiles:output_type -> google.cloud.vision.v1p4beta1.BatchAnnotateFilesResponse
4134	55, // 85: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateImages:output_type -> google.longrunning.Operation
4135	55, // 86: google.cloud.vision.v1p4beta1.ImageAnnotator.AsyncBatchAnnotateFiles:output_type -> google.longrunning.Operation
4136	83, // [83:87] is the sub-list for method output_type
4137	79, // [79:83] is the sub-list for method input_type
4138	79, // [79:79] is the sub-list for extension type_name
4139	79, // [79:79] is the sub-list for extension extendee
4140	0,  // [0:79] is the sub-list for field type_name
4141}
4142
4143func init() { file_google_cloud_vision_v1p4beta1_image_annotator_proto_init() }
4144func file_google_cloud_vision_v1p4beta1_image_annotator_proto_init() {
4145	if File_google_cloud_vision_v1p4beta1_image_annotator_proto != nil {
4146		return
4147	}
4148	file_google_cloud_vision_v1p4beta1_face_proto_init()
4149	file_google_cloud_vision_v1p4beta1_geometry_proto_init()
4150	file_google_cloud_vision_v1p4beta1_product_search_proto_init()
4151	file_google_cloud_vision_v1p4beta1_text_annotation_proto_init()
4152	file_google_cloud_vision_v1p4beta1_web_detection_proto_init()
4153	if !protoimpl.UnsafeEnabled {
4154		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
4155			switch v := v.(*Feature); i {
4156			case 0:
4157				return &v.state
4158			case 1:
4159				return &v.sizeCache
4160			case 2:
4161				return &v.unknownFields
4162			default:
4163				return nil
4164			}
4165		}
4166		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
4167			switch v := v.(*ImageSource); i {
4168			case 0:
4169				return &v.state
4170			case 1:
4171				return &v.sizeCache
4172			case 2:
4173				return &v.unknownFields
4174			default:
4175				return nil
4176			}
4177		}
4178		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
4179			switch v := v.(*Image); i {
4180			case 0:
4181				return &v.state
4182			case 1:
4183				return &v.sizeCache
4184			case 2:
4185				return &v.unknownFields
4186			default:
4187				return nil
4188			}
4189		}
4190		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
4191			switch v := v.(*FaceAnnotation); i {
4192			case 0:
4193				return &v.state
4194			case 1:
4195				return &v.sizeCache
4196			case 2:
4197				return &v.unknownFields
4198			default:
4199				return nil
4200			}
4201		}
4202		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
4203			switch v := v.(*LocationInfo); i {
4204			case 0:
4205				return &v.state
4206			case 1:
4207				return &v.sizeCache
4208			case 2:
4209				return &v.unknownFields
4210			default:
4211				return nil
4212			}
4213		}
4214		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
4215			switch v := v.(*Property); i {
4216			case 0:
4217				return &v.state
4218			case 1:
4219				return &v.sizeCache
4220			case 2:
4221				return &v.unknownFields
4222			default:
4223				return nil
4224			}
4225		}
4226		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
4227			switch v := v.(*EntityAnnotation); i {
4228			case 0:
4229				return &v.state
4230			case 1:
4231				return &v.sizeCache
4232			case 2:
4233				return &v.unknownFields
4234			default:
4235				return nil
4236			}
4237		}
4238		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
4239			switch v := v.(*LocalizedObjectAnnotation); i {
4240			case 0:
4241				return &v.state
4242			case 1:
4243				return &v.sizeCache
4244			case 2:
4245				return &v.unknownFields
4246			default:
4247				return nil
4248			}
4249		}
4250		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
4251			switch v := v.(*SafeSearchAnnotation); i {
4252			case 0:
4253				return &v.state
4254			case 1:
4255				return &v.sizeCache
4256			case 2:
4257				return &v.unknownFields
4258			default:
4259				return nil
4260			}
4261		}
4262		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
4263			switch v := v.(*LatLongRect); i {
4264			case 0:
4265				return &v.state
4266			case 1:
4267				return &v.sizeCache
4268			case 2:
4269				return &v.unknownFields
4270			default:
4271				return nil
4272			}
4273		}
4274		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
4275			switch v := v.(*ColorInfo); i {
4276			case 0:
4277				return &v.state
4278			case 1:
4279				return &v.sizeCache
4280			case 2:
4281				return &v.unknownFields
4282			default:
4283				return nil
4284			}
4285		}
4286		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
4287			switch v := v.(*DominantColorsAnnotation); i {
4288			case 0:
4289				return &v.state
4290			case 1:
4291				return &v.sizeCache
4292			case 2:
4293				return &v.unknownFields
4294			default:
4295				return nil
4296			}
4297		}
4298		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
4299			switch v := v.(*ImageProperties); i {
4300			case 0:
4301				return &v.state
4302			case 1:
4303				return &v.sizeCache
4304			case 2:
4305				return &v.unknownFields
4306			default:
4307				return nil
4308			}
4309		}
4310		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
4311			switch v := v.(*CropHint); i {
4312			case 0:
4313				return &v.state
4314			case 1:
4315				return &v.sizeCache
4316			case 2:
4317				return &v.unknownFields
4318			default:
4319				return nil
4320			}
4321		}
4322		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
4323			switch v := v.(*CropHintsAnnotation); i {
4324			case 0:
4325				return &v.state
4326			case 1:
4327				return &v.sizeCache
4328			case 2:
4329				return &v.unknownFields
4330			default:
4331				return nil
4332			}
4333		}
4334		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
4335			switch v := v.(*CropHintsParams); i {
4336			case 0:
4337				return &v.state
4338			case 1:
4339				return &v.sizeCache
4340			case 2:
4341				return &v.unknownFields
4342			default:
4343				return nil
4344			}
4345		}
4346		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
4347			switch v := v.(*WebDetectionParams); i {
4348			case 0:
4349				return &v.state
4350			case 1:
4351				return &v.sizeCache
4352			case 2:
4353				return &v.unknownFields
4354			default:
4355				return nil
4356			}
4357		}
4358		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
4359			switch v := v.(*ImageContext); i {
4360			case 0:
4361				return &v.state
4362			case 1:
4363				return &v.sizeCache
4364			case 2:
4365				return &v.unknownFields
4366			default:
4367				return nil
4368			}
4369		}
4370		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
4371			switch v := v.(*AnnotateImageRequest); i {
4372			case 0:
4373				return &v.state
4374			case 1:
4375				return &v.sizeCache
4376			case 2:
4377				return &v.unknownFields
4378			default:
4379				return nil
4380			}
4381		}
4382		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
4383			switch v := v.(*ImageAnnotationContext); i {
4384			case 0:
4385				return &v.state
4386			case 1:
4387				return &v.sizeCache
4388			case 2:
4389				return &v.unknownFields
4390			default:
4391				return nil
4392			}
4393		}
4394		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
4395			switch v := v.(*AnnotateImageResponse); i {
4396			case 0:
4397				return &v.state
4398			case 1:
4399				return &v.sizeCache
4400			case 2:
4401				return &v.unknownFields
4402			default:
4403				return nil
4404			}
4405		}
4406		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
4407			switch v := v.(*BatchAnnotateImagesRequest); i {
4408			case 0:
4409				return &v.state
4410			case 1:
4411				return &v.sizeCache
4412			case 2:
4413				return &v.unknownFields
4414			default:
4415				return nil
4416			}
4417		}
4418		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
4419			switch v := v.(*BatchAnnotateImagesResponse); i {
4420			case 0:
4421				return &v.state
4422			case 1:
4423				return &v.sizeCache
4424			case 2:
4425				return &v.unknownFields
4426			default:
4427				return nil
4428			}
4429		}
4430		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
4431			switch v := v.(*AnnotateFileRequest); i {
4432			case 0:
4433				return &v.state
4434			case 1:
4435				return &v.sizeCache
4436			case 2:
4437				return &v.unknownFields
4438			default:
4439				return nil
4440			}
4441		}
4442		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4443			switch v := v.(*AnnotateFileResponse); i {
4444			case 0:
4445				return &v.state
4446			case 1:
4447				return &v.sizeCache
4448			case 2:
4449				return &v.unknownFields
4450			default:
4451				return nil
4452			}
4453		}
4454		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4455			switch v := v.(*BatchAnnotateFilesRequest); i {
4456			case 0:
4457				return &v.state
4458			case 1:
4459				return &v.sizeCache
4460			case 2:
4461				return &v.unknownFields
4462			default:
4463				return nil
4464			}
4465		}
4466		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4467			switch v := v.(*BatchAnnotateFilesResponse); i {
4468			case 0:
4469				return &v.state
4470			case 1:
4471				return &v.sizeCache
4472			case 2:
4473				return &v.unknownFields
4474			default:
4475				return nil
4476			}
4477		}
4478		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4479			switch v := v.(*AsyncAnnotateFileRequest); i {
4480			case 0:
4481				return &v.state
4482			case 1:
4483				return &v.sizeCache
4484			case 2:
4485				return &v.unknownFields
4486			default:
4487				return nil
4488			}
4489		}
4490		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4491			switch v := v.(*AsyncAnnotateFileResponse); i {
4492			case 0:
4493				return &v.state
4494			case 1:
4495				return &v.sizeCache
4496			case 2:
4497				return &v.unknownFields
4498			default:
4499				return nil
4500			}
4501		}
4502		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4503			switch v := v.(*AsyncBatchAnnotateImagesRequest); i {
4504			case 0:
4505				return &v.state
4506			case 1:
4507				return &v.sizeCache
4508			case 2:
4509				return &v.unknownFields
4510			default:
4511				return nil
4512			}
4513		}
4514		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4515			switch v := v.(*AsyncBatchAnnotateImagesResponse); i {
4516			case 0:
4517				return &v.state
4518			case 1:
4519				return &v.sizeCache
4520			case 2:
4521				return &v.unknownFields
4522			default:
4523				return nil
4524			}
4525		}
4526		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4527			switch v := v.(*AsyncBatchAnnotateFilesRequest); i {
4528			case 0:
4529				return &v.state
4530			case 1:
4531				return &v.sizeCache
4532			case 2:
4533				return &v.unknownFields
4534			default:
4535				return nil
4536			}
4537		}
4538		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4539			switch v := v.(*AsyncBatchAnnotateFilesResponse); i {
4540			case 0:
4541				return &v.state
4542			case 1:
4543				return &v.sizeCache
4544			case 2:
4545				return &v.unknownFields
4546			default:
4547				return nil
4548			}
4549		}
4550		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4551			switch v := v.(*InputConfig); i {
4552			case 0:
4553				return &v.state
4554			case 1:
4555				return &v.sizeCache
4556			case 2:
4557				return &v.unknownFields
4558			default:
4559				return nil
4560			}
4561		}
4562		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4563			switch v := v.(*OutputConfig); i {
4564			case 0:
4565				return &v.state
4566			case 1:
4567				return &v.sizeCache
4568			case 2:
4569				return &v.unknownFields
4570			default:
4571				return nil
4572			}
4573		}
4574		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4575			switch v := v.(*GcsSource); i {
4576			case 0:
4577				return &v.state
4578			case 1:
4579				return &v.sizeCache
4580			case 2:
4581				return &v.unknownFields
4582			default:
4583				return nil
4584			}
4585		}
4586		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4587			switch v := v.(*GcsDestination); i {
4588			case 0:
4589				return &v.state
4590			case 1:
4591				return &v.sizeCache
4592			case 2:
4593				return &v.unknownFields
4594			default:
4595				return nil
4596			}
4597		}
4598		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4599			switch v := v.(*OperationMetadata); i {
4600			case 0:
4601				return &v.state
4602			case 1:
4603				return &v.sizeCache
4604			case 2:
4605				return &v.unknownFields
4606			default:
4607				return nil
4608			}
4609		}
4610		file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4611			switch v := v.(*FaceAnnotation_Landmark); i {
4612			case 0:
4613				return &v.state
4614			case 1:
4615				return &v.sizeCache
4616			case 2:
4617				return &v.unknownFields
4618			default:
4619				return nil
4620			}
4621		}
4622	}
4623	type x struct{}
4624	out := protoimpl.TypeBuilder{
4625		File: protoimpl.DescBuilder{
4626			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4627			RawDescriptor: file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc,
4628			NumEnums:      4,
4629			NumMessages:   39,
4630			NumExtensions: 0,
4631			NumServices:   1,
4632		},
4633		GoTypes:           file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes,
4634		DependencyIndexes: file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs,
4635		EnumInfos:         file_google_cloud_vision_v1p4beta1_image_annotator_proto_enumTypes,
4636		MessageInfos:      file_google_cloud_vision_v1p4beta1_image_annotator_proto_msgTypes,
4637	}.Build()
4638	File_google_cloud_vision_v1p4beta1_image_annotator_proto = out.File
4639	file_google_cloud_vision_v1p4beta1_image_annotator_proto_rawDesc = nil
4640	file_google_cloud_vision_v1p4beta1_image_annotator_proto_goTypes = nil
4641	file_google_cloud_vision_v1p4beta1_image_annotator_proto_depIdxs = nil
4642}
4643
4644// Reference imports to suppress errors if they are not otherwise used.
4645var _ context.Context
4646var _ grpc.ClientConnInterface
4647
4648// This is a compile-time assertion to ensure that this generated file
4649// is compatible with the grpc package it is being compiled against.
4650const _ = grpc.SupportPackageIsVersion6
4651
4652// ImageAnnotatorClient is the client API for ImageAnnotator service.
4653//
4654// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
4655type ImageAnnotatorClient interface {
4656	// Run image detection and annotation for a batch of images.
4657	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
4658	// Service that performs image detection and annotation for a batch of files.
4659	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4660	//
4661	// This service will extract at most 5 (customers can specify which 5 in
4662	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4663	// file provided and perform detection and annotation for each image
4664	// extracted.
4665	BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error)
4666	// Run asynchronous image detection and annotation for a list of images.
4667	//
4668	// Progress and results can be retrieved through the
4669	// `google.longrunning.Operations` interface.
4670	// `Operation.metadata` contains `OperationMetadata` (metadata).
4671	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4672	//
4673	// This service will write image annotation outputs to json files in customer
4674	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4675	AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4676	// Run asynchronous image detection and annotation for a list of generic
4677	// files, such as PDF files, which may contain multiple pages and multiple
4678	// images per page. Progress and results can be retrieved through the
4679	// `google.longrunning.Operations` interface.
4680	// `Operation.metadata` contains `OperationMetadata` (metadata).
4681	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4682	AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
4683}
4684
4685type imageAnnotatorClient struct {
4686	cc grpc.ClientConnInterface
4687}
4688
4689func NewImageAnnotatorClient(cc grpc.ClientConnInterface) ImageAnnotatorClient {
4690	return &imageAnnotatorClient{cc}
4691}
4692
4693func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
4694	out := new(BatchAnnotateImagesResponse)
4695	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
4696	if err != nil {
4697		return nil, err
4698	}
4699	return out, nil
4700}
4701
4702func (c *imageAnnotatorClient) BatchAnnotateFiles(ctx context.Context, in *BatchAnnotateFilesRequest, opts ...grpc.CallOption) (*BatchAnnotateFilesResponse, error) {
4703	out := new(BatchAnnotateFilesResponse)
4704	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateFiles", in, out, opts...)
4705	if err != nil {
4706		return nil, err
4707	}
4708	return out, nil
4709}
4710
4711func (c *imageAnnotatorClient) AsyncBatchAnnotateImages(ctx context.Context, in *AsyncBatchAnnotateImagesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4712	out := new(longrunning.Operation)
4713	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateImages", in, out, opts...)
4714	if err != nil {
4715		return nil, err
4716	}
4717	return out, nil
4718}
4719
4720func (c *imageAnnotatorClient) AsyncBatchAnnotateFiles(ctx context.Context, in *AsyncBatchAnnotateFilesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
4721	out := new(longrunning.Operation)
4722	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateFiles", in, out, opts...)
4723	if err != nil {
4724		return nil, err
4725	}
4726	return out, nil
4727}
4728
4729// ImageAnnotatorServer is the server API for ImageAnnotator service.
4730type ImageAnnotatorServer interface {
4731	// Run image detection and annotation for a batch of images.
4732	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
4733	// Service that performs image detection and annotation for a batch of files.
4734	// Now only "application/pdf", "image/tiff" and "image/gif" are supported.
4735	//
4736	// This service will extract at most 5 (customers can specify which 5 in
4737	// AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
4738	// file provided and perform detection and annotation for each image
4739	// extracted.
4740	BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error)
4741	// Run asynchronous image detection and annotation for a list of images.
4742	//
4743	// Progress and results can be retrieved through the
4744	// `google.longrunning.Operations` interface.
4745	// `Operation.metadata` contains `OperationMetadata` (metadata).
4746	// `Operation.response` contains `AsyncBatchAnnotateImagesResponse` (results).
4747	//
4748	// This service will write image annotation outputs to json files in customer
4749	// GCS bucket, each json file containing BatchAnnotateImagesResponse proto.
4750	AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error)
4751	// Run asynchronous image detection and annotation for a list of generic
4752	// files, such as PDF files, which may contain multiple pages and multiple
4753	// images per page. Progress and results can be retrieved through the
4754	// `google.longrunning.Operations` interface.
4755	// `Operation.metadata` contains `OperationMetadata` (metadata).
4756	// `Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
4757	AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error)
4758}
4759
4760// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations.
4761type UnimplementedImageAnnotatorServer struct {
4762}
4763
4764func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) {
4765	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented")
4766}
4767func (*UnimplementedImageAnnotatorServer) BatchAnnotateFiles(context.Context, *BatchAnnotateFilesRequest) (*BatchAnnotateFilesResponse, error) {
4768	return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateFiles not implemented")
4769}
4770func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateImages(context.Context, *AsyncBatchAnnotateImagesRequest) (*longrunning.Operation, error) {
4771	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateImages not implemented")
4772}
4773func (*UnimplementedImageAnnotatorServer) AsyncBatchAnnotateFiles(context.Context, *AsyncBatchAnnotateFilesRequest) (*longrunning.Operation, error) {
4774	return nil, status1.Errorf(codes.Unimplemented, "method AsyncBatchAnnotateFiles not implemented")
4775}
4776
4777func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
4778	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
4779}
4780
4781func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4782	in := new(BatchAnnotateImagesRequest)
4783	if err := dec(in); err != nil {
4784		return nil, err
4785	}
4786	if interceptor == nil {
4787		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
4788	}
4789	info := &grpc.UnaryServerInfo{
4790		Server:     srv,
4791		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateImages",
4792	}
4793	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4794		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
4795	}
4796	return interceptor(ctx, in, info, handler)
4797}
4798
4799func _ImageAnnotator_BatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4800	in := new(BatchAnnotateFilesRequest)
4801	if err := dec(in); err != nil {
4802		return nil, err
4803	}
4804	if interceptor == nil {
4805		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, in)
4806	}
4807	info := &grpc.UnaryServerInfo{
4808		Server:     srv,
4809		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/BatchAnnotateFiles",
4810	}
4811	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4812		return srv.(ImageAnnotatorServer).BatchAnnotateFiles(ctx, req.(*BatchAnnotateFilesRequest))
4813	}
4814	return interceptor(ctx, in, info, handler)
4815}
4816
4817func _ImageAnnotator_AsyncBatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4818	in := new(AsyncBatchAnnotateImagesRequest)
4819	if err := dec(in); err != nil {
4820		return nil, err
4821	}
4822	if interceptor == nil {
4823		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, in)
4824	}
4825	info := &grpc.UnaryServerInfo{
4826		Server:     srv,
4827		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateImages",
4828	}
4829	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4830		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateImages(ctx, req.(*AsyncBatchAnnotateImagesRequest))
4831	}
4832	return interceptor(ctx, in, info, handler)
4833}
4834
4835func _ImageAnnotator_AsyncBatchAnnotateFiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
4836	in := new(AsyncBatchAnnotateFilesRequest)
4837	if err := dec(in); err != nil {
4838		return nil, err
4839	}
4840	if interceptor == nil {
4841		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, in)
4842	}
4843	info := &grpc.UnaryServerInfo{
4844		Server:     srv,
4845		FullMethod: "/google.cloud.vision.v1p4beta1.ImageAnnotator/AsyncBatchAnnotateFiles",
4846	}
4847	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
4848		return srv.(ImageAnnotatorServer).AsyncBatchAnnotateFiles(ctx, req.(*AsyncBatchAnnotateFilesRequest))
4849	}
4850	return interceptor(ctx, in, info, handler)
4851}
4852
4853var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
4854	ServiceName: "google.cloud.vision.v1p4beta1.ImageAnnotator",
4855	HandlerType: (*ImageAnnotatorServer)(nil),
4856	Methods: []grpc.MethodDesc{
4857		{
4858			MethodName: "BatchAnnotateImages",
4859			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
4860		},
4861		{
4862			MethodName: "BatchAnnotateFiles",
4863			Handler:    _ImageAnnotator_BatchAnnotateFiles_Handler,
4864		},
4865		{
4866			MethodName: "AsyncBatchAnnotateImages",
4867			Handler:    _ImageAnnotator_AsyncBatchAnnotateImages_Handler,
4868		},
4869		{
4870			MethodName: "AsyncBatchAnnotateFiles",
4871			Handler:    _ImageAnnotator_AsyncBatchAnnotateFiles_Handler,
4872		},
4873	},
4874	Streams:  []grpc.StreamDesc{},
4875	Metadata: "google/cloud/vision/v1p4beta1/image_annotator.proto",
4876}
4877