1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/vision/v1p1beta1/image_annotator.proto
3
4package vision
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	_ "google.golang.org/genproto/googleapis/api/annotations"
13	status "google.golang.org/genproto/googleapis/rpc/status"
14	color "google.golang.org/genproto/googleapis/type/color"
15	latlng "google.golang.org/genproto/googleapis/type/latlng"
16	grpc "google.golang.org/grpc"
17)
18
19// Reference imports to suppress errors if they are not otherwise used.
20var _ = proto.Marshal
21var _ = fmt.Errorf
22var _ = math.Inf
23
24// This is a compile-time assertion to ensure that this generated file
25// is compatible with the proto package it is being compiled against.
26// A compilation error at this line likely means your copy of the
27// proto package needs to be updated.
28const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
29
30// A bucketized representation of likelihood, which is intended to give clients
31// highly stable results across model upgrades.
32type Likelihood int32
33
34const (
35	// Unknown likelihood.
36	Likelihood_UNKNOWN Likelihood = 0
37	// It is very unlikely that the image belongs to the specified vertical.
38	Likelihood_VERY_UNLIKELY Likelihood = 1
39	// It is unlikely that the image belongs to the specified vertical.
40	Likelihood_UNLIKELY Likelihood = 2
41	// It is possible that the image belongs to the specified vertical.
42	Likelihood_POSSIBLE Likelihood = 3
43	// It is likely that the image belongs to the specified vertical.
44	Likelihood_LIKELY Likelihood = 4
45	// It is very likely that the image belongs to the specified vertical.
46	Likelihood_VERY_LIKELY Likelihood = 5
47)
48
49var Likelihood_name = map[int32]string{
50	0: "UNKNOWN",
51	1: "VERY_UNLIKELY",
52	2: "UNLIKELY",
53	3: "POSSIBLE",
54	4: "LIKELY",
55	5: "VERY_LIKELY",
56}
57
58var Likelihood_value = map[string]int32{
59	"UNKNOWN":       0,
60	"VERY_UNLIKELY": 1,
61	"UNLIKELY":      2,
62	"POSSIBLE":      3,
63	"LIKELY":        4,
64	"VERY_LIKELY":   5,
65}
66
67func (x Likelihood) String() string {
68	return proto.EnumName(Likelihood_name, int32(x))
69}
70
71func (Likelihood) EnumDescriptor() ([]byte, []int) {
72	return fileDescriptor_1f6928ee25f8ae1f, []int{0}
73}
74
75// Type of image feature.
76type Feature_Type int32
77
78const (
79	// Unspecified feature type.
80	Feature_TYPE_UNSPECIFIED Feature_Type = 0
81	// Run face detection.
82	Feature_FACE_DETECTION Feature_Type = 1
83	// Run landmark detection.
84	Feature_LANDMARK_DETECTION Feature_Type = 2
85	// Run logo detection.
86	Feature_LOGO_DETECTION Feature_Type = 3
87	// Run label detection.
88	Feature_LABEL_DETECTION Feature_Type = 4
89	// Run OCR.
90	Feature_TEXT_DETECTION Feature_Type = 5
91	// Run dense text document OCR. Takes precedence when both
92	// DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
93	Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
94	// Run computer vision models to compute image safe-search properties.
95	Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
96	// Compute a set of image properties, such as the image's dominant colors.
97	Feature_IMAGE_PROPERTIES Feature_Type = 7
98	// Run crop hints.
99	Feature_CROP_HINTS Feature_Type = 9
100	// Run web detection.
101	Feature_WEB_DETECTION Feature_Type = 10
102)
103
104var Feature_Type_name = map[int32]string{
105	0:  "TYPE_UNSPECIFIED",
106	1:  "FACE_DETECTION",
107	2:  "LANDMARK_DETECTION",
108	3:  "LOGO_DETECTION",
109	4:  "LABEL_DETECTION",
110	5:  "TEXT_DETECTION",
111	11: "DOCUMENT_TEXT_DETECTION",
112	6:  "SAFE_SEARCH_DETECTION",
113	7:  "IMAGE_PROPERTIES",
114	9:  "CROP_HINTS",
115	10: "WEB_DETECTION",
116}
117
118var Feature_Type_value = map[string]int32{
119	"TYPE_UNSPECIFIED":        0,
120	"FACE_DETECTION":          1,
121	"LANDMARK_DETECTION":      2,
122	"LOGO_DETECTION":          3,
123	"LABEL_DETECTION":         4,
124	"TEXT_DETECTION":          5,
125	"DOCUMENT_TEXT_DETECTION": 11,
126	"SAFE_SEARCH_DETECTION":   6,
127	"IMAGE_PROPERTIES":        7,
128	"CROP_HINTS":              9,
129	"WEB_DETECTION":           10,
130}
131
132func (x Feature_Type) String() string {
133	return proto.EnumName(Feature_Type_name, int32(x))
134}
135
136func (Feature_Type) EnumDescriptor() ([]byte, []int) {
137	return fileDescriptor_1f6928ee25f8ae1f, []int{0, 0}
138}
139
140// Face landmark (feature) type.
141// Left and right are defined from the vantage of the viewer of the image
142// without considering mirror projections typical of photos. So, `LEFT_EYE`,
143// typically, is the person's right eye.
144type FaceAnnotation_Landmark_Type int32
145
146const (
147	// Unknown face landmark detected. Should not be filled.
148	FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
149	// Left eye.
150	FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
151	// Right eye.
152	FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
153	// Left of left eyebrow.
154	FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
155	// Right of left eyebrow.
156	FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
157	// Left of right eyebrow.
158	FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
159	// Right of right eyebrow.
160	FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
161	// Midpoint between eyes.
162	FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
163	// Nose tip.
164	FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
165	// Upper lip.
166	FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
167	// Lower lip.
168	FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
169	// Mouth left.
170	FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
171	// Mouth right.
172	FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
173	// Mouth center.
174	FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
175	// Nose, bottom right.
176	FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
177	// Nose, bottom left.
178	FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
179	// Nose, bottom center.
180	FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
181	// Left eye, top boundary.
182	FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
183	// Left eye, right corner.
184	FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
185	// Left eye, bottom boundary.
186	FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
187	// Left eye, left corner.
188	FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
189	// Right eye, top boundary.
190	FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
191	// Right eye, right corner.
192	FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
193	// Right eye, bottom boundary.
194	FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
195	// Right eye, left corner.
196	FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
197	// Left eyebrow, upper midpoint.
198	FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
199	// Right eyebrow, upper midpoint.
200	FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
201	// Left ear tragion.
202	FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
203	// Right ear tragion.
204	FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
205	// Left eye pupil.
206	FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
207	// Right eye pupil.
208	FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
209	// Forehead glabella.
210	FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
211	// Chin gnathion.
212	FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
213	// Chin left gonion.
214	FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
215	// Chin right gonion.
216	FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
217)
218
219var FaceAnnotation_Landmark_Type_name = map[int32]string{
220	0:  "UNKNOWN_LANDMARK",
221	1:  "LEFT_EYE",
222	2:  "RIGHT_EYE",
223	3:  "LEFT_OF_LEFT_EYEBROW",
224	4:  "RIGHT_OF_LEFT_EYEBROW",
225	5:  "LEFT_OF_RIGHT_EYEBROW",
226	6:  "RIGHT_OF_RIGHT_EYEBROW",
227	7:  "MIDPOINT_BETWEEN_EYES",
228	8:  "NOSE_TIP",
229	9:  "UPPER_LIP",
230	10: "LOWER_LIP",
231	11: "MOUTH_LEFT",
232	12: "MOUTH_RIGHT",
233	13: "MOUTH_CENTER",
234	14: "NOSE_BOTTOM_RIGHT",
235	15: "NOSE_BOTTOM_LEFT",
236	16: "NOSE_BOTTOM_CENTER",
237	17: "LEFT_EYE_TOP_BOUNDARY",
238	18: "LEFT_EYE_RIGHT_CORNER",
239	19: "LEFT_EYE_BOTTOM_BOUNDARY",
240	20: "LEFT_EYE_LEFT_CORNER",
241	21: "RIGHT_EYE_TOP_BOUNDARY",
242	22: "RIGHT_EYE_RIGHT_CORNER",
243	23: "RIGHT_EYE_BOTTOM_BOUNDARY",
244	24: "RIGHT_EYE_LEFT_CORNER",
245	25: "LEFT_EYEBROW_UPPER_MIDPOINT",
246	26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
247	27: "LEFT_EAR_TRAGION",
248	28: "RIGHT_EAR_TRAGION",
249	29: "LEFT_EYE_PUPIL",
250	30: "RIGHT_EYE_PUPIL",
251	31: "FOREHEAD_GLABELLA",
252	32: "CHIN_GNATHION",
253	33: "CHIN_LEFT_GONION",
254	34: "CHIN_RIGHT_GONION",
255}
256
257var FaceAnnotation_Landmark_Type_value = map[string]int32{
258	"UNKNOWN_LANDMARK":             0,
259	"LEFT_EYE":                     1,
260	"RIGHT_EYE":                    2,
261	"LEFT_OF_LEFT_EYEBROW":         3,
262	"RIGHT_OF_LEFT_EYEBROW":        4,
263	"LEFT_OF_RIGHT_EYEBROW":        5,
264	"RIGHT_OF_RIGHT_EYEBROW":       6,
265	"MIDPOINT_BETWEEN_EYES":        7,
266	"NOSE_TIP":                     8,
267	"UPPER_LIP":                    9,
268	"LOWER_LIP":                    10,
269	"MOUTH_LEFT":                   11,
270	"MOUTH_RIGHT":                  12,
271	"MOUTH_CENTER":                 13,
272	"NOSE_BOTTOM_RIGHT":            14,
273	"NOSE_BOTTOM_LEFT":             15,
274	"NOSE_BOTTOM_CENTER":           16,
275	"LEFT_EYE_TOP_BOUNDARY":        17,
276	"LEFT_EYE_RIGHT_CORNER":        18,
277	"LEFT_EYE_BOTTOM_BOUNDARY":     19,
278	"LEFT_EYE_LEFT_CORNER":         20,
279	"RIGHT_EYE_TOP_BOUNDARY":       21,
280	"RIGHT_EYE_RIGHT_CORNER":       22,
281	"RIGHT_EYE_BOTTOM_BOUNDARY":    23,
282	"RIGHT_EYE_LEFT_CORNER":        24,
283	"LEFT_EYEBROW_UPPER_MIDPOINT":  25,
284	"RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
285	"LEFT_EAR_TRAGION":             27,
286	"RIGHT_EAR_TRAGION":            28,
287	"LEFT_EYE_PUPIL":               29,
288	"RIGHT_EYE_PUPIL":              30,
289	"FOREHEAD_GLABELLA":            31,
290	"CHIN_GNATHION":                32,
291	"CHIN_LEFT_GONION":             33,
292	"CHIN_RIGHT_GONION":            34,
293}
294
295func (x FaceAnnotation_Landmark_Type) String() string {
296	return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x))
297}
298
299func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
300	return fileDescriptor_1f6928ee25f8ae1f, []int{3, 0, 0}
301}
302
303// Users describe the type of Google Cloud Vision API tasks to perform over
304// images by using *Feature*s. Each Feature indicates a type of image
305// detection task to perform. Features encode the Cloud Vision API
306// vertical to operate on and the number of top-scoring results to return.
307type Feature struct {
308	// The feature type.
309	Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.Feature_Type" json:"type,omitempty"`
310	// Maximum number of results of this type.
311	MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
312	// Model to use for the feature.
313	// Supported values: "builtin/stable" (the default if unset) and
314	// "builtin/latest".
315	Model                string   `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
316	XXX_NoUnkeyedLiteral struct{} `json:"-"`
317	XXX_unrecognized     []byte   `json:"-"`
318	XXX_sizecache        int32    `json:"-"`
319}
320
321func (m *Feature) Reset()         { *m = Feature{} }
322func (m *Feature) String() string { return proto.CompactTextString(m) }
323func (*Feature) ProtoMessage()    {}
324func (*Feature) Descriptor() ([]byte, []int) {
325	return fileDescriptor_1f6928ee25f8ae1f, []int{0}
326}
327
328func (m *Feature) XXX_Unmarshal(b []byte) error {
329	return xxx_messageInfo_Feature.Unmarshal(m, b)
330}
331func (m *Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
332	return xxx_messageInfo_Feature.Marshal(b, m, deterministic)
333}
334func (m *Feature) XXX_Merge(src proto.Message) {
335	xxx_messageInfo_Feature.Merge(m, src)
336}
337func (m *Feature) XXX_Size() int {
338	return xxx_messageInfo_Feature.Size(m)
339}
340func (m *Feature) XXX_DiscardUnknown() {
341	xxx_messageInfo_Feature.DiscardUnknown(m)
342}
343
344var xxx_messageInfo_Feature proto.InternalMessageInfo
345
346func (m *Feature) GetType() Feature_Type {
347	if m != nil {
348		return m.Type
349	}
350	return Feature_TYPE_UNSPECIFIED
351}
352
353func (m *Feature) GetMaxResults() int32 {
354	if m != nil {
355		return m.MaxResults
356	}
357	return 0
358}
359
360func (m *Feature) GetModel() string {
361	if m != nil {
362		return m.Model
363	}
364	return ""
365}
366
367// External image source (Google Cloud Storage image location).
368type ImageSource struct {
369	// NOTE: For new code `image_uri` below is preferred.
370	// Google Cloud Storage image URI, which must be in the following form:
371	// `gs://bucket_name/object_name` (for details, see
372	// [Google Cloud Storage Request
373	// URIs](https://cloud.google.com/storage/docs/reference-uris)).
374	// NOTE: Cloud Storage object versioning is not supported.
375	GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"`
376	// Image URI which supports:
377	// 1) Google Cloud Storage image URI, which must be in the following form:
378	// `gs://bucket_name/object_name` (for details, see
379	// [Google Cloud Storage Request
380	// URIs](https://cloud.google.com/storage/docs/reference-uris)).
381	// NOTE: Cloud Storage object versioning is not supported.
382	// 2) Publicly accessible image HTTP/HTTPS URL.
383	// This is preferred over the legacy `gcs_image_uri` above. When both
384	// `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
385	// precedence.
386	ImageUri             string   `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
387	XXX_NoUnkeyedLiteral struct{} `json:"-"`
388	XXX_unrecognized     []byte   `json:"-"`
389	XXX_sizecache        int32    `json:"-"`
390}
391
392func (m *ImageSource) Reset()         { *m = ImageSource{} }
393func (m *ImageSource) String() string { return proto.CompactTextString(m) }
394func (*ImageSource) ProtoMessage()    {}
395func (*ImageSource) Descriptor() ([]byte, []int) {
396	return fileDescriptor_1f6928ee25f8ae1f, []int{1}
397}
398
399func (m *ImageSource) XXX_Unmarshal(b []byte) error {
400	return xxx_messageInfo_ImageSource.Unmarshal(m, b)
401}
402func (m *ImageSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
403	return xxx_messageInfo_ImageSource.Marshal(b, m, deterministic)
404}
405func (m *ImageSource) XXX_Merge(src proto.Message) {
406	xxx_messageInfo_ImageSource.Merge(m, src)
407}
408func (m *ImageSource) XXX_Size() int {
409	return xxx_messageInfo_ImageSource.Size(m)
410}
411func (m *ImageSource) XXX_DiscardUnknown() {
412	xxx_messageInfo_ImageSource.DiscardUnknown(m)
413}
414
415var xxx_messageInfo_ImageSource proto.InternalMessageInfo
416
417func (m *ImageSource) GetGcsImageUri() string {
418	if m != nil {
419		return m.GcsImageUri
420	}
421	return ""
422}
423
424func (m *ImageSource) GetImageUri() string {
425	if m != nil {
426		return m.ImageUri
427	}
428	return ""
429}
430
431// Client image to perform Google Cloud Vision API tasks over.
432type Image struct {
433	// Image content, represented as a stream of bytes.
434	// Note: as with all `bytes` fields, protobuffers use a pure binary
435	// representation, whereas JSON representations use base64.
436	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
437	// Google Cloud Storage image location. If both `content` and `source`
438	// are provided for an image, `content` takes precedence and is
439	// used to perform the image annotation request.
440	Source               *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
441	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
442	XXX_unrecognized     []byte       `json:"-"`
443	XXX_sizecache        int32        `json:"-"`
444}
445
446func (m *Image) Reset()         { *m = Image{} }
447func (m *Image) String() string { return proto.CompactTextString(m) }
448func (*Image) ProtoMessage()    {}
449func (*Image) Descriptor() ([]byte, []int) {
450	return fileDescriptor_1f6928ee25f8ae1f, []int{2}
451}
452
453func (m *Image) XXX_Unmarshal(b []byte) error {
454	return xxx_messageInfo_Image.Unmarshal(m, b)
455}
456func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
457	return xxx_messageInfo_Image.Marshal(b, m, deterministic)
458}
459func (m *Image) XXX_Merge(src proto.Message) {
460	xxx_messageInfo_Image.Merge(m, src)
461}
462func (m *Image) XXX_Size() int {
463	return xxx_messageInfo_Image.Size(m)
464}
465func (m *Image) XXX_DiscardUnknown() {
466	xxx_messageInfo_Image.DiscardUnknown(m)
467}
468
469var xxx_messageInfo_Image proto.InternalMessageInfo
470
471func (m *Image) GetContent() []byte {
472	if m != nil {
473		return m.Content
474	}
475	return nil
476}
477
478func (m *Image) GetSource() *ImageSource {
479	if m != nil {
480		return m.Source
481	}
482	return nil
483}
484
485// A face annotation object contains the results of face detection.
486type FaceAnnotation struct {
487	// The bounding polygon around the face. The coordinates of the bounding box
488	// are in the original image's scale, as returned in `ImageParams`.
489	// The bounding box is computed to "frame" the face in accordance with human
490	// expectations. It is based on the landmarker results.
491	// Note that one or more x and/or y coordinates may not be generated in the
492	// `BoundingPoly` (the polygon will be unbounded) if only a partial face
493	// appears in the image to be annotated.
494	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
495	// The `fd_bounding_poly` bounding polygon is tighter than the
496	// `boundingPoly`, and encloses only the skin part of the face. Typically, it
497	// is used to eliminate the face from any image analysis that detects the
498	// "amount of skin" visible in an image. It is not based on the
499	// landmarker results, only on the initial face detection, hence
500	// the <code>fd</code> (face detection) prefix.
501	FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"`
502	// Detected face landmarks.
503	Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"`
504	// Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
505	// of the face relative to the image vertical about the axis perpendicular to
506	// the face. Range [-180,180].
507	RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"`
508	// Yaw angle, which indicates the leftward/rightward angle that the face is
509	// pointing relative to the vertical plane perpendicular to the image. Range
510	// [-180,180].
511	PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"`
512	// Pitch angle, which indicates the upwards/downwards angle that the face is
513	// pointing relative to the image's horizontal plane. Range [-180,180].
514	TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"`
515	// Detection confidence. Range [0, 1].
516	DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"`
517	// Face landmarking confidence. Range [0, 1].
518	LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"`
519	// Joy likelihood.
520	JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"joy_likelihood,omitempty"`
521	// Sorrow likelihood.
522	SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"sorrow_likelihood,omitempty"`
523	// Anger likelihood.
524	AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"anger_likelihood,omitempty"`
525	// Surprise likelihood.
526	SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"surprise_likelihood,omitempty"`
527	// Under-exposed likelihood.
528	UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"under_exposed_likelihood,omitempty"`
529	// Blurred likelihood.
530	BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"blurred_likelihood,omitempty"`
531	// Headwear likelihood.
532	HeadwearLikelihood   Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"headwear_likelihood,omitempty"`
533	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
534	XXX_unrecognized     []byte     `json:"-"`
535	XXX_sizecache        int32      `json:"-"`
536}
537
538func (m *FaceAnnotation) Reset()         { *m = FaceAnnotation{} }
539func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) }
540func (*FaceAnnotation) ProtoMessage()    {}
541func (*FaceAnnotation) Descriptor() ([]byte, []int) {
542	return fileDescriptor_1f6928ee25f8ae1f, []int{3}
543}
544
545func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error {
546	return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b)
547}
548func (m *FaceAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
549	return xxx_messageInfo_FaceAnnotation.Marshal(b, m, deterministic)
550}
551func (m *FaceAnnotation) XXX_Merge(src proto.Message) {
552	xxx_messageInfo_FaceAnnotation.Merge(m, src)
553}
554func (m *FaceAnnotation) XXX_Size() int {
555	return xxx_messageInfo_FaceAnnotation.Size(m)
556}
557func (m *FaceAnnotation) XXX_DiscardUnknown() {
558	xxx_messageInfo_FaceAnnotation.DiscardUnknown(m)
559}
560
561var xxx_messageInfo_FaceAnnotation proto.InternalMessageInfo
562
563func (m *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
564	if m != nil {
565		return m.BoundingPoly
566	}
567	return nil
568}
569
570func (m *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
571	if m != nil {
572		return m.FdBoundingPoly
573	}
574	return nil
575}
576
577func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
578	if m != nil {
579		return m.Landmarks
580	}
581	return nil
582}
583
584func (m *FaceAnnotation) GetRollAngle() float32 {
585	if m != nil {
586		return m.RollAngle
587	}
588	return 0
589}
590
591func (m *FaceAnnotation) GetPanAngle() float32 {
592	if m != nil {
593		return m.PanAngle
594	}
595	return 0
596}
597
598func (m *FaceAnnotation) GetTiltAngle() float32 {
599	if m != nil {
600		return m.TiltAngle
601	}
602	return 0
603}
604
605func (m *FaceAnnotation) GetDetectionConfidence() float32 {
606	if m != nil {
607		return m.DetectionConfidence
608	}
609	return 0
610}
611
612func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
613	if m != nil {
614		return m.LandmarkingConfidence
615	}
616	return 0
617}
618
619func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
620	if m != nil {
621		return m.JoyLikelihood
622	}
623	return Likelihood_UNKNOWN
624}
625
626func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
627	if m != nil {
628		return m.SorrowLikelihood
629	}
630	return Likelihood_UNKNOWN
631}
632
633func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
634	if m != nil {
635		return m.AngerLikelihood
636	}
637	return Likelihood_UNKNOWN
638}
639
640func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
641	if m != nil {
642		return m.SurpriseLikelihood
643	}
644	return Likelihood_UNKNOWN
645}
646
647func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
648	if m != nil {
649		return m.UnderExposedLikelihood
650	}
651	return Likelihood_UNKNOWN
652}
653
654func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
655	if m != nil {
656		return m.BlurredLikelihood
657	}
658	return Likelihood_UNKNOWN
659}
660
661func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
662	if m != nil {
663		return m.HeadwearLikelihood
664	}
665	return Likelihood_UNKNOWN
666}
667
668// A face-specific landmark (for example, a face feature).
669type FaceAnnotation_Landmark struct {
670	// Face landmark type.
671	Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
672	// Face landmark position.
673	Position             *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"`
674	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
675	XXX_unrecognized     []byte    `json:"-"`
676	XXX_sizecache        int32     `json:"-"`
677}
678
679func (m *FaceAnnotation_Landmark) Reset()         { *m = FaceAnnotation_Landmark{} }
680func (m *FaceAnnotation_Landmark) String() string { return proto.CompactTextString(m) }
681func (*FaceAnnotation_Landmark) ProtoMessage()    {}
682func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) {
683	return fileDescriptor_1f6928ee25f8ae1f, []int{3, 0}
684}
685
686func (m *FaceAnnotation_Landmark) XXX_Unmarshal(b []byte) error {
687	return xxx_messageInfo_FaceAnnotation_Landmark.Unmarshal(m, b)
688}
689func (m *FaceAnnotation_Landmark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
690	return xxx_messageInfo_FaceAnnotation_Landmark.Marshal(b, m, deterministic)
691}
692func (m *FaceAnnotation_Landmark) XXX_Merge(src proto.Message) {
693	xxx_messageInfo_FaceAnnotation_Landmark.Merge(m, src)
694}
695func (m *FaceAnnotation_Landmark) XXX_Size() int {
696	return xxx_messageInfo_FaceAnnotation_Landmark.Size(m)
697}
698func (m *FaceAnnotation_Landmark) XXX_DiscardUnknown() {
699	xxx_messageInfo_FaceAnnotation_Landmark.DiscardUnknown(m)
700}
701
702var xxx_messageInfo_FaceAnnotation_Landmark proto.InternalMessageInfo
703
704func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
705	if m != nil {
706		return m.Type
707	}
708	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
709}
710
711func (m *FaceAnnotation_Landmark) GetPosition() *Position {
712	if m != nil {
713		return m.Position
714	}
715	return nil
716}
717
718// Detected entity location information.
719type LocationInfo struct {
720	// lat/long location coordinates.
721	LatLng               *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
722	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
723	XXX_unrecognized     []byte         `json:"-"`
724	XXX_sizecache        int32          `json:"-"`
725}
726
727func (m *LocationInfo) Reset()         { *m = LocationInfo{} }
728func (m *LocationInfo) String() string { return proto.CompactTextString(m) }
729func (*LocationInfo) ProtoMessage()    {}
730func (*LocationInfo) Descriptor() ([]byte, []int) {
731	return fileDescriptor_1f6928ee25f8ae1f, []int{4}
732}
733
734func (m *LocationInfo) XXX_Unmarshal(b []byte) error {
735	return xxx_messageInfo_LocationInfo.Unmarshal(m, b)
736}
737func (m *LocationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
738	return xxx_messageInfo_LocationInfo.Marshal(b, m, deterministic)
739}
740func (m *LocationInfo) XXX_Merge(src proto.Message) {
741	xxx_messageInfo_LocationInfo.Merge(m, src)
742}
743func (m *LocationInfo) XXX_Size() int {
744	return xxx_messageInfo_LocationInfo.Size(m)
745}
746func (m *LocationInfo) XXX_DiscardUnknown() {
747	xxx_messageInfo_LocationInfo.DiscardUnknown(m)
748}
749
750var xxx_messageInfo_LocationInfo proto.InternalMessageInfo
751
752func (m *LocationInfo) GetLatLng() *latlng.LatLng {
753	if m != nil {
754		return m.LatLng
755	}
756	return nil
757}
758
759// A `Property` consists of a user-supplied name/value pair.
760type Property struct {
761	// Name of the property.
762	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
763	// Value of the property.
764	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
765	// Value of numeric properties.
766	Uint64Value          uint64   `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"`
767	XXX_NoUnkeyedLiteral struct{} `json:"-"`
768	XXX_unrecognized     []byte   `json:"-"`
769	XXX_sizecache        int32    `json:"-"`
770}
771
772func (m *Property) Reset()         { *m = Property{} }
773func (m *Property) String() string { return proto.CompactTextString(m) }
774func (*Property) ProtoMessage()    {}
775func (*Property) Descriptor() ([]byte, []int) {
776	return fileDescriptor_1f6928ee25f8ae1f, []int{5}
777}
778
779func (m *Property) XXX_Unmarshal(b []byte) error {
780	return xxx_messageInfo_Property.Unmarshal(m, b)
781}
782func (m *Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
783	return xxx_messageInfo_Property.Marshal(b, m, deterministic)
784}
785func (m *Property) XXX_Merge(src proto.Message) {
786	xxx_messageInfo_Property.Merge(m, src)
787}
788func (m *Property) XXX_Size() int {
789	return xxx_messageInfo_Property.Size(m)
790}
791func (m *Property) XXX_DiscardUnknown() {
792	xxx_messageInfo_Property.DiscardUnknown(m)
793}
794
795var xxx_messageInfo_Property proto.InternalMessageInfo
796
797func (m *Property) GetName() string {
798	if m != nil {
799		return m.Name
800	}
801	return ""
802}
803
804func (m *Property) GetValue() string {
805	if m != nil {
806		return m.Value
807	}
808	return ""
809}
810
811func (m *Property) GetUint64Value() uint64 {
812	if m != nil {
813		return m.Uint64Value
814	}
815	return 0
816}
817
818// Set of detected entity features.
819type EntityAnnotation struct {
820	// Opaque entity ID. Some IDs may be available in
821	// [Google Knowledge Graph Search
822	// API](https://developers.google.com/knowledge-graph/).
823	Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"`
824	// The language code for the locale in which the entity textual
825	// `description` is expressed.
826	Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"`
827	// Entity textual description, expressed in its `locale` language.
828	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
829	// Overall score of the result. Range [0, 1].
830	Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"`
831	// The accuracy of the entity detection in an image.
832	// For example, for an image in which the "Eiffel Tower" entity is detected,
833	// this field represents the confidence that there is a tower in the query
834	// image. Range [0, 1].
835	Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"`
836	// The relevancy of the ICA (Image Content Annotation) label to the
837	// image. For example, the relevancy of "tower" is likely higher to an image
838	// containing the detected "Eiffel Tower" than to an image containing a
839	// detected distant towering building, even though the confidence that
840	// there is a tower in each image may be the same. Range [0, 1].
841	Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"`
842	// Image region to which this entity belongs. Not produced
843	// for `LABEL_DETECTION` features.
844	BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
845	// The location information for the detected entity. Multiple
846	// `LocationInfo` elements can be present because one location may
847	// indicate the location of the scene in the image, and another location
848	// may indicate the location of the place where the image was taken.
849	// Location information is usually present for landmarks.
850	Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"`
851	// Some entities may have optional user-supplied `Property` (name/value)
852	// fields, such a score or string that qualifies the entity.
853	Properties           []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"`
854	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
855	XXX_unrecognized     []byte      `json:"-"`
856	XXX_sizecache        int32       `json:"-"`
857}
858
859func (m *EntityAnnotation) Reset()         { *m = EntityAnnotation{} }
860func (m *EntityAnnotation) String() string { return proto.CompactTextString(m) }
861func (*EntityAnnotation) ProtoMessage()    {}
862func (*EntityAnnotation) Descriptor() ([]byte, []int) {
863	return fileDescriptor_1f6928ee25f8ae1f, []int{6}
864}
865
866func (m *EntityAnnotation) XXX_Unmarshal(b []byte) error {
867	return xxx_messageInfo_EntityAnnotation.Unmarshal(m, b)
868}
869func (m *EntityAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
870	return xxx_messageInfo_EntityAnnotation.Marshal(b, m, deterministic)
871}
872func (m *EntityAnnotation) XXX_Merge(src proto.Message) {
873	xxx_messageInfo_EntityAnnotation.Merge(m, src)
874}
875func (m *EntityAnnotation) XXX_Size() int {
876	return xxx_messageInfo_EntityAnnotation.Size(m)
877}
878func (m *EntityAnnotation) XXX_DiscardUnknown() {
879	xxx_messageInfo_EntityAnnotation.DiscardUnknown(m)
880}
881
882var xxx_messageInfo_EntityAnnotation proto.InternalMessageInfo
883
884func (m *EntityAnnotation) GetMid() string {
885	if m != nil {
886		return m.Mid
887	}
888	return ""
889}
890
891func (m *EntityAnnotation) GetLocale() string {
892	if m != nil {
893		return m.Locale
894	}
895	return ""
896}
897
898func (m *EntityAnnotation) GetDescription() string {
899	if m != nil {
900		return m.Description
901	}
902	return ""
903}
904
905func (m *EntityAnnotation) GetScore() float32 {
906	if m != nil {
907		return m.Score
908	}
909	return 0
910}
911
912func (m *EntityAnnotation) GetConfidence() float32 {
913	if m != nil {
914		return m.Confidence
915	}
916	return 0
917}
918
919func (m *EntityAnnotation) GetTopicality() float32 {
920	if m != nil {
921		return m.Topicality
922	}
923	return 0
924}
925
926func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
927	if m != nil {
928		return m.BoundingPoly
929	}
930	return nil
931}
932
933func (m *EntityAnnotation) GetLocations() []*LocationInfo {
934	if m != nil {
935		return m.Locations
936	}
937	return nil
938}
939
940func (m *EntityAnnotation) GetProperties() []*Property {
941	if m != nil {
942		return m.Properties
943	}
944	return nil
945}
946
947// Set of features pertaining to the image, computed by computer vision
948// methods over safe-search verticals (for example, adult, spoof, medical,
949// violence).
950type SafeSearchAnnotation struct {
951	// Represents the adult content likelihood for the image. Adult content may
952	// contain elements such as nudity, pornographic images or cartoons, or
953	// sexual activities.
954	Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"adult,omitempty"`
955	// Spoof likelihood. The likelihood that an modification
956	// was made to the image's canonical version to make it appear
957	// funny or offensive.
958	Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"spoof,omitempty"`
959	// Likelihood that this is a medical image.
960	Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"medical,omitempty"`
961	// Likelihood that this image contains violent content.
962	Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"violence,omitempty"`
963	// Likelihood that the request image contains racy content. Racy content may
964	// include (but is not limited to) skimpy or sheer clothing, strategically
965	// covered nudity, lewd or provocative poses, or close-ups of sensitive
966	// body areas.
967	Racy                 Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"racy,omitempty"`
968	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
969	XXX_unrecognized     []byte     `json:"-"`
970	XXX_sizecache        int32      `json:"-"`
971}
972
973func (m *SafeSearchAnnotation) Reset()         { *m = SafeSearchAnnotation{} }
974func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) }
975func (*SafeSearchAnnotation) ProtoMessage()    {}
976func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) {
977	return fileDescriptor_1f6928ee25f8ae1f, []int{7}
978}
979
980func (m *SafeSearchAnnotation) XXX_Unmarshal(b []byte) error {
981	return xxx_messageInfo_SafeSearchAnnotation.Unmarshal(m, b)
982}
983func (m *SafeSearchAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
984	return xxx_messageInfo_SafeSearchAnnotation.Marshal(b, m, deterministic)
985}
986func (m *SafeSearchAnnotation) XXX_Merge(src proto.Message) {
987	xxx_messageInfo_SafeSearchAnnotation.Merge(m, src)
988}
989func (m *SafeSearchAnnotation) XXX_Size() int {
990	return xxx_messageInfo_SafeSearchAnnotation.Size(m)
991}
992func (m *SafeSearchAnnotation) XXX_DiscardUnknown() {
993	xxx_messageInfo_SafeSearchAnnotation.DiscardUnknown(m)
994}
995
996var xxx_messageInfo_SafeSearchAnnotation proto.InternalMessageInfo
997
998func (m *SafeSearchAnnotation) GetAdult() Likelihood {
999	if m != nil {
1000		return m.Adult
1001	}
1002	return Likelihood_UNKNOWN
1003}
1004
1005func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
1006	if m != nil {
1007		return m.Spoof
1008	}
1009	return Likelihood_UNKNOWN
1010}
1011
1012func (m *SafeSearchAnnotation) GetMedical() Likelihood {
1013	if m != nil {
1014		return m.Medical
1015	}
1016	return Likelihood_UNKNOWN
1017}
1018
1019func (m *SafeSearchAnnotation) GetViolence() Likelihood {
1020	if m != nil {
1021		return m.Violence
1022	}
1023	return Likelihood_UNKNOWN
1024}
1025
1026func (m *SafeSearchAnnotation) GetRacy() Likelihood {
1027	if m != nil {
1028		return m.Racy
1029	}
1030	return Likelihood_UNKNOWN
1031}
1032
1033// Rectangle determined by min and max `LatLng` pairs.
1034type LatLongRect struct {
1035	// Min lat/long pair.
1036	MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"`
1037	// Max lat/long pair.
1038	MaxLatLng            *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"`
1039	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
1040	XXX_unrecognized     []byte         `json:"-"`
1041	XXX_sizecache        int32          `json:"-"`
1042}
1043
1044func (m *LatLongRect) Reset()         { *m = LatLongRect{} }
1045func (m *LatLongRect) String() string { return proto.CompactTextString(m) }
1046func (*LatLongRect) ProtoMessage()    {}
1047func (*LatLongRect) Descriptor() ([]byte, []int) {
1048	return fileDescriptor_1f6928ee25f8ae1f, []int{8}
1049}
1050
1051func (m *LatLongRect) XXX_Unmarshal(b []byte) error {
1052	return xxx_messageInfo_LatLongRect.Unmarshal(m, b)
1053}
1054func (m *LatLongRect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1055	return xxx_messageInfo_LatLongRect.Marshal(b, m, deterministic)
1056}
1057func (m *LatLongRect) XXX_Merge(src proto.Message) {
1058	xxx_messageInfo_LatLongRect.Merge(m, src)
1059}
1060func (m *LatLongRect) XXX_Size() int {
1061	return xxx_messageInfo_LatLongRect.Size(m)
1062}
1063func (m *LatLongRect) XXX_DiscardUnknown() {
1064	xxx_messageInfo_LatLongRect.DiscardUnknown(m)
1065}
1066
1067var xxx_messageInfo_LatLongRect proto.InternalMessageInfo
1068
1069func (m *LatLongRect) GetMinLatLng() *latlng.LatLng {
1070	if m != nil {
1071		return m.MinLatLng
1072	}
1073	return nil
1074}
1075
1076func (m *LatLongRect) GetMaxLatLng() *latlng.LatLng {
1077	if m != nil {
1078		return m.MaxLatLng
1079	}
1080	return nil
1081}
1082
1083// Color information consists of RGB channels, score, and the fraction of
1084// the image that the color occupies in the image.
1085type ColorInfo struct {
1086	// RGB components of the color.
1087	Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"`
1088	// Image-specific score for this color. Value in range [0, 1].
1089	Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
1090	// The fraction of pixels the color occupies in the image.
1091	// Value in range [0, 1].
1092	PixelFraction        float32  `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"`
1093	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1094	XXX_unrecognized     []byte   `json:"-"`
1095	XXX_sizecache        int32    `json:"-"`
1096}
1097
1098func (m *ColorInfo) Reset()         { *m = ColorInfo{} }
1099func (m *ColorInfo) String() string { return proto.CompactTextString(m) }
1100func (*ColorInfo) ProtoMessage()    {}
1101func (*ColorInfo) Descriptor() ([]byte, []int) {
1102	return fileDescriptor_1f6928ee25f8ae1f, []int{9}
1103}
1104
1105func (m *ColorInfo) XXX_Unmarshal(b []byte) error {
1106	return xxx_messageInfo_ColorInfo.Unmarshal(m, b)
1107}
1108func (m *ColorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1109	return xxx_messageInfo_ColorInfo.Marshal(b, m, deterministic)
1110}
1111func (m *ColorInfo) XXX_Merge(src proto.Message) {
1112	xxx_messageInfo_ColorInfo.Merge(m, src)
1113}
1114func (m *ColorInfo) XXX_Size() int {
1115	return xxx_messageInfo_ColorInfo.Size(m)
1116}
1117func (m *ColorInfo) XXX_DiscardUnknown() {
1118	xxx_messageInfo_ColorInfo.DiscardUnknown(m)
1119}
1120
1121var xxx_messageInfo_ColorInfo proto.InternalMessageInfo
1122
1123func (m *ColorInfo) GetColor() *color.Color {
1124	if m != nil {
1125		return m.Color
1126	}
1127	return nil
1128}
1129
1130func (m *ColorInfo) GetScore() float32 {
1131	if m != nil {
1132		return m.Score
1133	}
1134	return 0
1135}
1136
1137func (m *ColorInfo) GetPixelFraction() float32 {
1138	if m != nil {
1139		return m.PixelFraction
1140	}
1141	return 0
1142}
1143
1144// Set of dominant colors and their corresponding scores.
1145type DominantColorsAnnotation struct {
1146	// RGB color values with their score and pixel fraction.
1147	Colors               []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"`
1148	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
1149	XXX_unrecognized     []byte       `json:"-"`
1150	XXX_sizecache        int32        `json:"-"`
1151}
1152
1153func (m *DominantColorsAnnotation) Reset()         { *m = DominantColorsAnnotation{} }
1154func (m *DominantColorsAnnotation) String() string { return proto.CompactTextString(m) }
1155func (*DominantColorsAnnotation) ProtoMessage()    {}
1156func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) {
1157	return fileDescriptor_1f6928ee25f8ae1f, []int{10}
1158}
1159
1160func (m *DominantColorsAnnotation) XXX_Unmarshal(b []byte) error {
1161	return xxx_messageInfo_DominantColorsAnnotation.Unmarshal(m, b)
1162}
1163func (m *DominantColorsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1164	return xxx_messageInfo_DominantColorsAnnotation.Marshal(b, m, deterministic)
1165}
1166func (m *DominantColorsAnnotation) XXX_Merge(src proto.Message) {
1167	xxx_messageInfo_DominantColorsAnnotation.Merge(m, src)
1168}
1169func (m *DominantColorsAnnotation) XXX_Size() int {
1170	return xxx_messageInfo_DominantColorsAnnotation.Size(m)
1171}
1172func (m *DominantColorsAnnotation) XXX_DiscardUnknown() {
1173	xxx_messageInfo_DominantColorsAnnotation.DiscardUnknown(m)
1174}
1175
1176var xxx_messageInfo_DominantColorsAnnotation proto.InternalMessageInfo
1177
1178func (m *DominantColorsAnnotation) GetColors() []*ColorInfo {
1179	if m != nil {
1180		return m.Colors
1181	}
1182	return nil
1183}
1184
1185// Stores image properties, such as dominant colors.
1186type ImageProperties struct {
1187	// If present, dominant colors completed successfully.
1188	DominantColors       *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"`
1189	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
1190	XXX_unrecognized     []byte                    `json:"-"`
1191	XXX_sizecache        int32                     `json:"-"`
1192}
1193
1194func (m *ImageProperties) Reset()         { *m = ImageProperties{} }
1195func (m *ImageProperties) String() string { return proto.CompactTextString(m) }
1196func (*ImageProperties) ProtoMessage()    {}
1197func (*ImageProperties) Descriptor() ([]byte, []int) {
1198	return fileDescriptor_1f6928ee25f8ae1f, []int{11}
1199}
1200
1201func (m *ImageProperties) XXX_Unmarshal(b []byte) error {
1202	return xxx_messageInfo_ImageProperties.Unmarshal(m, b)
1203}
1204func (m *ImageProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1205	return xxx_messageInfo_ImageProperties.Marshal(b, m, deterministic)
1206}
1207func (m *ImageProperties) XXX_Merge(src proto.Message) {
1208	xxx_messageInfo_ImageProperties.Merge(m, src)
1209}
1210func (m *ImageProperties) XXX_Size() int {
1211	return xxx_messageInfo_ImageProperties.Size(m)
1212}
1213func (m *ImageProperties) XXX_DiscardUnknown() {
1214	xxx_messageInfo_ImageProperties.DiscardUnknown(m)
1215}
1216
1217var xxx_messageInfo_ImageProperties proto.InternalMessageInfo
1218
1219func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
1220	if m != nil {
1221		return m.DominantColors
1222	}
1223	return nil
1224}
1225
1226// Single crop hint that is used to generate a new crop when serving an image.
1227type CropHint struct {
1228	// The bounding polygon for the crop region. The coordinates of the bounding
1229	// box are in the original image's scale, as returned in `ImageParams`.
1230	BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"`
1231	// Confidence of this being a salient region.  Range [0, 1].
1232	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
1233	// Fraction of importance of this salient region with respect to the original
1234	// image.
1235	ImportanceFraction   float32  `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"`
1236	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1237	XXX_unrecognized     []byte   `json:"-"`
1238	XXX_sizecache        int32    `json:"-"`
1239}
1240
1241func (m *CropHint) Reset()         { *m = CropHint{} }
1242func (m *CropHint) String() string { return proto.CompactTextString(m) }
1243func (*CropHint) ProtoMessage()    {}
1244func (*CropHint) Descriptor() ([]byte, []int) {
1245	return fileDescriptor_1f6928ee25f8ae1f, []int{12}
1246}
1247
1248func (m *CropHint) XXX_Unmarshal(b []byte) error {
1249	return xxx_messageInfo_CropHint.Unmarshal(m, b)
1250}
1251func (m *CropHint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1252	return xxx_messageInfo_CropHint.Marshal(b, m, deterministic)
1253}
1254func (m *CropHint) XXX_Merge(src proto.Message) {
1255	xxx_messageInfo_CropHint.Merge(m, src)
1256}
1257func (m *CropHint) XXX_Size() int {
1258	return xxx_messageInfo_CropHint.Size(m)
1259}
1260func (m *CropHint) XXX_DiscardUnknown() {
1261	xxx_messageInfo_CropHint.DiscardUnknown(m)
1262}
1263
1264var xxx_messageInfo_CropHint proto.InternalMessageInfo
1265
1266func (m *CropHint) GetBoundingPoly() *BoundingPoly {
1267	if m != nil {
1268		return m.BoundingPoly
1269	}
1270	return nil
1271}
1272
1273func (m *CropHint) GetConfidence() float32 {
1274	if m != nil {
1275		return m.Confidence
1276	}
1277	return 0
1278}
1279
1280func (m *CropHint) GetImportanceFraction() float32 {
1281	if m != nil {
1282		return m.ImportanceFraction
1283	}
1284	return 0
1285}
1286
1287// Set of crop hints that are used to generate new crops when serving images.
1288type CropHintsAnnotation struct {
1289	// Crop hint results.
1290	CropHints            []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"`
1291	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
1292	XXX_unrecognized     []byte      `json:"-"`
1293	XXX_sizecache        int32       `json:"-"`
1294}
1295
1296func (m *CropHintsAnnotation) Reset()         { *m = CropHintsAnnotation{} }
1297func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) }
1298func (*CropHintsAnnotation) ProtoMessage()    {}
1299func (*CropHintsAnnotation) Descriptor() ([]byte, []int) {
1300	return fileDescriptor_1f6928ee25f8ae1f, []int{13}
1301}
1302
1303func (m *CropHintsAnnotation) XXX_Unmarshal(b []byte) error {
1304	return xxx_messageInfo_CropHintsAnnotation.Unmarshal(m, b)
1305}
1306func (m *CropHintsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1307	return xxx_messageInfo_CropHintsAnnotation.Marshal(b, m, deterministic)
1308}
1309func (m *CropHintsAnnotation) XXX_Merge(src proto.Message) {
1310	xxx_messageInfo_CropHintsAnnotation.Merge(m, src)
1311}
1312func (m *CropHintsAnnotation) XXX_Size() int {
1313	return xxx_messageInfo_CropHintsAnnotation.Size(m)
1314}
1315func (m *CropHintsAnnotation) XXX_DiscardUnknown() {
1316	xxx_messageInfo_CropHintsAnnotation.DiscardUnknown(m)
1317}
1318
1319var xxx_messageInfo_CropHintsAnnotation proto.InternalMessageInfo
1320
1321func (m *CropHintsAnnotation) GetCropHints() []*CropHint {
1322	if m != nil {
1323		return m.CropHints
1324	}
1325	return nil
1326}
1327
1328// Parameters for crop hints annotation request.
1329type CropHintsParams struct {
1330	// Aspect ratios in floats, representing the ratio of the width to the height
1331	// of the image. For example, if the desired aspect ratio is 4/3, the
1332	// corresponding float value should be 1.33333.  If not specified, the
1333	// best possible crop is returned. The number of provided aspect ratios is
1334	// limited to a maximum of 16; any aspect ratios provided after the 16th are
1335	// ignored.
1336	AspectRatios         []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"`
1337	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
1338	XXX_unrecognized     []byte    `json:"-"`
1339	XXX_sizecache        int32     `json:"-"`
1340}
1341
1342func (m *CropHintsParams) Reset()         { *m = CropHintsParams{} }
1343func (m *CropHintsParams) String() string { return proto.CompactTextString(m) }
1344func (*CropHintsParams) ProtoMessage()    {}
1345func (*CropHintsParams) Descriptor() ([]byte, []int) {
1346	return fileDescriptor_1f6928ee25f8ae1f, []int{14}
1347}
1348
1349func (m *CropHintsParams) XXX_Unmarshal(b []byte) error {
1350	return xxx_messageInfo_CropHintsParams.Unmarshal(m, b)
1351}
1352func (m *CropHintsParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1353	return xxx_messageInfo_CropHintsParams.Marshal(b, m, deterministic)
1354}
1355func (m *CropHintsParams) XXX_Merge(src proto.Message) {
1356	xxx_messageInfo_CropHintsParams.Merge(m, src)
1357}
1358func (m *CropHintsParams) XXX_Size() int {
1359	return xxx_messageInfo_CropHintsParams.Size(m)
1360}
1361func (m *CropHintsParams) XXX_DiscardUnknown() {
1362	xxx_messageInfo_CropHintsParams.DiscardUnknown(m)
1363}
1364
1365var xxx_messageInfo_CropHintsParams proto.InternalMessageInfo
1366
1367func (m *CropHintsParams) GetAspectRatios() []float32 {
1368	if m != nil {
1369		return m.AspectRatios
1370	}
1371	return nil
1372}
1373
1374// Parameters for web detection request.
1375type WebDetectionParams struct {
1376	// Whether to include results derived from the geo information in the image.
1377	IncludeGeoResults    bool     `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"`
1378	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1379	XXX_unrecognized     []byte   `json:"-"`
1380	XXX_sizecache        int32    `json:"-"`
1381}
1382
1383func (m *WebDetectionParams) Reset()         { *m = WebDetectionParams{} }
1384func (m *WebDetectionParams) String() string { return proto.CompactTextString(m) }
1385func (*WebDetectionParams) ProtoMessage()    {}
1386func (*WebDetectionParams) Descriptor() ([]byte, []int) {
1387	return fileDescriptor_1f6928ee25f8ae1f, []int{15}
1388}
1389
1390func (m *WebDetectionParams) XXX_Unmarshal(b []byte) error {
1391	return xxx_messageInfo_WebDetectionParams.Unmarshal(m, b)
1392}
1393func (m *WebDetectionParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1394	return xxx_messageInfo_WebDetectionParams.Marshal(b, m, deterministic)
1395}
1396func (m *WebDetectionParams) XXX_Merge(src proto.Message) {
1397	xxx_messageInfo_WebDetectionParams.Merge(m, src)
1398}
1399func (m *WebDetectionParams) XXX_Size() int {
1400	return xxx_messageInfo_WebDetectionParams.Size(m)
1401}
1402func (m *WebDetectionParams) XXX_DiscardUnknown() {
1403	xxx_messageInfo_WebDetectionParams.DiscardUnknown(m)
1404}
1405
1406var xxx_messageInfo_WebDetectionParams proto.InternalMessageInfo
1407
1408func (m *WebDetectionParams) GetIncludeGeoResults() bool {
1409	if m != nil {
1410		return m.IncludeGeoResults
1411	}
1412	return false
1413}
1414
1415// Image context and/or feature-specific parameters.
1416type ImageContext struct {
1417	// lat/long rectangle that specifies the location of the image.
1418	LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"`
1419	// List of languages to use for TEXT_DETECTION. In most cases, an empty value
1420	// yields the best results since it enables automatic language detection. For
1421	// languages based on the Latin alphabet, setting `language_hints` is not
1422	// needed. In rare cases, when the language of the text in the image is known,
1423	// setting a hint will help get better results (although it will be a
1424	// significant hindrance if the hint is wrong). Text detection returns an
1425	// error if one or more of the specified languages is not one of the
1426	// [supported languages](/vision/docs/languages).
1427	LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
1428	// Parameters for crop hints annotation request.
1429	CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"`
1430	// Parameters for web detection.
1431	WebDetectionParams   *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"`
1432	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
1433	XXX_unrecognized     []byte              `json:"-"`
1434	XXX_sizecache        int32               `json:"-"`
1435}
1436
1437func (m *ImageContext) Reset()         { *m = ImageContext{} }
1438func (m *ImageContext) String() string { return proto.CompactTextString(m) }
1439func (*ImageContext) ProtoMessage()    {}
1440func (*ImageContext) Descriptor() ([]byte, []int) {
1441	return fileDescriptor_1f6928ee25f8ae1f, []int{16}
1442}
1443
1444func (m *ImageContext) XXX_Unmarshal(b []byte) error {
1445	return xxx_messageInfo_ImageContext.Unmarshal(m, b)
1446}
1447func (m *ImageContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1448	return xxx_messageInfo_ImageContext.Marshal(b, m, deterministic)
1449}
1450func (m *ImageContext) XXX_Merge(src proto.Message) {
1451	xxx_messageInfo_ImageContext.Merge(m, src)
1452}
1453func (m *ImageContext) XXX_Size() int {
1454	return xxx_messageInfo_ImageContext.Size(m)
1455}
1456func (m *ImageContext) XXX_DiscardUnknown() {
1457	xxx_messageInfo_ImageContext.DiscardUnknown(m)
1458}
1459
1460var xxx_messageInfo_ImageContext proto.InternalMessageInfo
1461
1462func (m *ImageContext) GetLatLongRect() *LatLongRect {
1463	if m != nil {
1464		return m.LatLongRect
1465	}
1466	return nil
1467}
1468
1469func (m *ImageContext) GetLanguageHints() []string {
1470	if m != nil {
1471		return m.LanguageHints
1472	}
1473	return nil
1474}
1475
1476func (m *ImageContext) GetCropHintsParams() *CropHintsParams {
1477	if m != nil {
1478		return m.CropHintsParams
1479	}
1480	return nil
1481}
1482
1483func (m *ImageContext) GetWebDetectionParams() *WebDetectionParams {
1484	if m != nil {
1485		return m.WebDetectionParams
1486	}
1487	return nil
1488}
1489
1490// Request for performing Google Cloud Vision API tasks over a user-provided
1491// image, with user-requested features.
1492type AnnotateImageRequest struct {
1493	// The image to be processed.
1494	Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
1495	// Requested features.
1496	Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"`
1497	// Additional context that may accompany the image.
1498	ImageContext         *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"`
1499	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
1500	XXX_unrecognized     []byte        `json:"-"`
1501	XXX_sizecache        int32         `json:"-"`
1502}
1503
1504func (m *AnnotateImageRequest) Reset()         { *m = AnnotateImageRequest{} }
1505func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) }
1506func (*AnnotateImageRequest) ProtoMessage()    {}
1507func (*AnnotateImageRequest) Descriptor() ([]byte, []int) {
1508	return fileDescriptor_1f6928ee25f8ae1f, []int{17}
1509}
1510
1511func (m *AnnotateImageRequest) XXX_Unmarshal(b []byte) error {
1512	return xxx_messageInfo_AnnotateImageRequest.Unmarshal(m, b)
1513}
1514func (m *AnnotateImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1515	return xxx_messageInfo_AnnotateImageRequest.Marshal(b, m, deterministic)
1516}
1517func (m *AnnotateImageRequest) XXX_Merge(src proto.Message) {
1518	xxx_messageInfo_AnnotateImageRequest.Merge(m, src)
1519}
1520func (m *AnnotateImageRequest) XXX_Size() int {
1521	return xxx_messageInfo_AnnotateImageRequest.Size(m)
1522}
1523func (m *AnnotateImageRequest) XXX_DiscardUnknown() {
1524	xxx_messageInfo_AnnotateImageRequest.DiscardUnknown(m)
1525}
1526
1527var xxx_messageInfo_AnnotateImageRequest proto.InternalMessageInfo
1528
1529func (m *AnnotateImageRequest) GetImage() *Image {
1530	if m != nil {
1531		return m.Image
1532	}
1533	return nil
1534}
1535
1536func (m *AnnotateImageRequest) GetFeatures() []*Feature {
1537	if m != nil {
1538		return m.Features
1539	}
1540	return nil
1541}
1542
1543func (m *AnnotateImageRequest) GetImageContext() *ImageContext {
1544	if m != nil {
1545		return m.ImageContext
1546	}
1547	return nil
1548}
1549
1550// Response to an image annotation request.
1551type AnnotateImageResponse struct {
1552	// If present, face detection has completed successfully.
1553	FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"`
1554	// If present, landmark detection has completed successfully.
1555	LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"`
1556	// If present, logo detection has completed successfully.
1557	LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"`
1558	// If present, label detection has completed successfully.
1559	LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
1560	// If present, text (OCR) detection has completed successfully.
1561	TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
1562	// If present, text (OCR) detection or document (OCR) text detection has
1563	// completed successfully.
1564	// This annotation provides the structural hierarchy for the OCR detected
1565	// text.
1566	FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"`
1567	// If present, safe-search annotation has completed successfully.
1568	SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"`
1569	// If present, image properties were extracted successfully.
1570	ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"`
1571	// If present, crop hints have completed successfully.
1572	CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"`
1573	// If present, web detection has completed successfully.
1574	WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"`
1575	// If set, represents the error message for the operation.
1576	// Note that filled-in image annotations are guaranteed to be
1577	// correct, even when `error` is set.
1578	Error                *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
1579	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
1580	XXX_unrecognized     []byte         `json:"-"`
1581	XXX_sizecache        int32          `json:"-"`
1582}
1583
1584func (m *AnnotateImageResponse) Reset()         { *m = AnnotateImageResponse{} }
1585func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) }
1586func (*AnnotateImageResponse) ProtoMessage()    {}
1587func (*AnnotateImageResponse) Descriptor() ([]byte, []int) {
1588	return fileDescriptor_1f6928ee25f8ae1f, []int{18}
1589}
1590
1591func (m *AnnotateImageResponse) XXX_Unmarshal(b []byte) error {
1592	return xxx_messageInfo_AnnotateImageResponse.Unmarshal(m, b)
1593}
1594func (m *AnnotateImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1595	return xxx_messageInfo_AnnotateImageResponse.Marshal(b, m, deterministic)
1596}
1597func (m *AnnotateImageResponse) XXX_Merge(src proto.Message) {
1598	xxx_messageInfo_AnnotateImageResponse.Merge(m, src)
1599}
1600func (m *AnnotateImageResponse) XXX_Size() int {
1601	return xxx_messageInfo_AnnotateImageResponse.Size(m)
1602}
1603func (m *AnnotateImageResponse) XXX_DiscardUnknown() {
1604	xxx_messageInfo_AnnotateImageResponse.DiscardUnknown(m)
1605}
1606
1607var xxx_messageInfo_AnnotateImageResponse proto.InternalMessageInfo
1608
1609func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
1610	if m != nil {
1611		return m.FaceAnnotations
1612	}
1613	return nil
1614}
1615
1616func (m *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
1617	if m != nil {
1618		return m.LandmarkAnnotations
1619	}
1620	return nil
1621}
1622
1623func (m *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
1624	if m != nil {
1625		return m.LogoAnnotations
1626	}
1627	return nil
1628}
1629
1630func (m *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
1631	if m != nil {
1632		return m.LabelAnnotations
1633	}
1634	return nil
1635}
1636
1637func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
1638	if m != nil {
1639		return m.TextAnnotations
1640	}
1641	return nil
1642}
1643
1644func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
1645	if m != nil {
1646		return m.FullTextAnnotation
1647	}
1648	return nil
1649}
1650
1651func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
1652	if m != nil {
1653		return m.SafeSearchAnnotation
1654	}
1655	return nil
1656}
1657
1658func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
1659	if m != nil {
1660		return m.ImagePropertiesAnnotation
1661	}
1662	return nil
1663}
1664
1665func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
1666	if m != nil {
1667		return m.CropHintsAnnotation
1668	}
1669	return nil
1670}
1671
1672func (m *AnnotateImageResponse) GetWebDetection() *WebDetection {
1673	if m != nil {
1674		return m.WebDetection
1675	}
1676	return nil
1677}
1678
1679func (m *AnnotateImageResponse) GetError() *status.Status {
1680	if m != nil {
1681		return m.Error
1682	}
1683	return nil
1684}
1685
1686// Multiple image annotation requests are batched into a single service call.
1687type BatchAnnotateImagesRequest struct {
1688	// Individual image annotation requests for this batch.
1689	Requests             []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"`
1690	XXX_NoUnkeyedLiteral struct{}                `json:"-"`
1691	XXX_unrecognized     []byte                  `json:"-"`
1692	XXX_sizecache        int32                   `json:"-"`
1693}
1694
1695func (m *BatchAnnotateImagesRequest) Reset()         { *m = BatchAnnotateImagesRequest{} }
1696func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) }
1697func (*BatchAnnotateImagesRequest) ProtoMessage()    {}
1698func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) {
1699	return fileDescriptor_1f6928ee25f8ae1f, []int{19}
1700}
1701
1702func (m *BatchAnnotateImagesRequest) XXX_Unmarshal(b []byte) error {
1703	return xxx_messageInfo_BatchAnnotateImagesRequest.Unmarshal(m, b)
1704}
1705func (m *BatchAnnotateImagesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1706	return xxx_messageInfo_BatchAnnotateImagesRequest.Marshal(b, m, deterministic)
1707}
1708func (m *BatchAnnotateImagesRequest) XXX_Merge(src proto.Message) {
1709	xxx_messageInfo_BatchAnnotateImagesRequest.Merge(m, src)
1710}
1711func (m *BatchAnnotateImagesRequest) XXX_Size() int {
1712	return xxx_messageInfo_BatchAnnotateImagesRequest.Size(m)
1713}
1714func (m *BatchAnnotateImagesRequest) XXX_DiscardUnknown() {
1715	xxx_messageInfo_BatchAnnotateImagesRequest.DiscardUnknown(m)
1716}
1717
1718var xxx_messageInfo_BatchAnnotateImagesRequest proto.InternalMessageInfo
1719
1720func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
1721	if m != nil {
1722		return m.Requests
1723	}
1724	return nil
1725}
1726
1727// Response to a batch image annotation request.
1728type BatchAnnotateImagesResponse struct {
1729	// Individual responses to image annotation requests within the batch.
1730	Responses            []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"`
1731	XXX_NoUnkeyedLiteral struct{}                 `json:"-"`
1732	XXX_unrecognized     []byte                   `json:"-"`
1733	XXX_sizecache        int32                    `json:"-"`
1734}
1735
1736func (m *BatchAnnotateImagesResponse) Reset()         { *m = BatchAnnotateImagesResponse{} }
1737func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) }
1738func (*BatchAnnotateImagesResponse) ProtoMessage()    {}
1739func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) {
1740	return fileDescriptor_1f6928ee25f8ae1f, []int{20}
1741}
1742
1743func (m *BatchAnnotateImagesResponse) XXX_Unmarshal(b []byte) error {
1744	return xxx_messageInfo_BatchAnnotateImagesResponse.Unmarshal(m, b)
1745}
1746func (m *BatchAnnotateImagesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1747	return xxx_messageInfo_BatchAnnotateImagesResponse.Marshal(b, m, deterministic)
1748}
1749func (m *BatchAnnotateImagesResponse) XXX_Merge(src proto.Message) {
1750	xxx_messageInfo_BatchAnnotateImagesResponse.Merge(m, src)
1751}
1752func (m *BatchAnnotateImagesResponse) XXX_Size() int {
1753	return xxx_messageInfo_BatchAnnotateImagesResponse.Size(m)
1754}
1755func (m *BatchAnnotateImagesResponse) XXX_DiscardUnknown() {
1756	xxx_messageInfo_BatchAnnotateImagesResponse.DiscardUnknown(m)
1757}
1758
1759var xxx_messageInfo_BatchAnnotateImagesResponse proto.InternalMessageInfo
1760
1761func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
1762	if m != nil {
1763		return m.Responses
1764	}
1765	return nil
1766}
1767
1768func init() {
1769	proto.RegisterEnum("google.cloud.vision.v1p1beta1.Likelihood", Likelihood_name, Likelihood_value)
1770	proto.RegisterEnum("google.cloud.vision.v1p1beta1.Feature_Type", Feature_Type_name, Feature_Type_value)
1771	proto.RegisterEnum("google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type", FaceAnnotation_Landmark_Type_name, FaceAnnotation_Landmark_Type_value)
1772	proto.RegisterType((*Feature)(nil), "google.cloud.vision.v1p1beta1.Feature")
1773	proto.RegisterType((*ImageSource)(nil), "google.cloud.vision.v1p1beta1.ImageSource")
1774	proto.RegisterType((*Image)(nil), "google.cloud.vision.v1p1beta1.Image")
1775	proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.vision.v1p1beta1.FaceAnnotation")
1776	proto.RegisterType((*FaceAnnotation_Landmark)(nil), "google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark")
1777	proto.RegisterType((*LocationInfo)(nil), "google.cloud.vision.v1p1beta1.LocationInfo")
1778	proto.RegisterType((*Property)(nil), "google.cloud.vision.v1p1beta1.Property")
1779	proto.RegisterType((*EntityAnnotation)(nil), "google.cloud.vision.v1p1beta1.EntityAnnotation")
1780	proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.vision.v1p1beta1.SafeSearchAnnotation")
1781	proto.RegisterType((*LatLongRect)(nil), "google.cloud.vision.v1p1beta1.LatLongRect")
1782	proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1p1beta1.ColorInfo")
1783	proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1p1beta1.DominantColorsAnnotation")
1784	proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1p1beta1.ImageProperties")
1785	proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1p1beta1.CropHint")
1786	proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1p1beta1.CropHintsAnnotation")
1787	proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1p1beta1.CropHintsParams")
1788	proto.RegisterType((*WebDetectionParams)(nil), "google.cloud.vision.v1p1beta1.WebDetectionParams")
1789	proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1p1beta1.ImageContext")
1790	proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1p1beta1.AnnotateImageRequest")
1791	proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1p1beta1.AnnotateImageResponse")
1792	proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest")
1793	proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse")
1794}
1795
1796func init() {
1797	proto.RegisterFile("google/cloud/vision/v1p1beta1/image_annotator.proto", fileDescriptor_1f6928ee25f8ae1f)
1798}
1799
1800var fileDescriptor_1f6928ee25f8ae1f = []byte{
1801	// 2392 bytes of a gzipped FileDescriptorProto
1802	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcd, 0x72, 0xe3, 0xc6,
1803	0xf1, 0x37, 0xa9, 0x2f, 0xb2, 0x49, 0x91, 0xd0, 0x48, 0x2b, 0x73, 0xb5, 0xbb, 0x5e, 0x19, 0xff,
1804	0xbf, 0x13, 0xc5, 0x71, 0xa8, 0x5a, 0xad, 0xe3, 0x54, 0xd6, 0x49, 0x39, 0x24, 0x05, 0x49, 0x2c,
1805	0x73, 0x49, 0xd4, 0x90, 0xb2, 0xbc, 0x5b, 0x4e, 0x21, 0x10, 0x38, 0xe4, 0xc2, 0x06, 0x31, 0x30,
1806	0x00, 0xee, 0x4a, 0x57, 0x5f, 0x73, 0xcc, 0x2d, 0xf7, 0x1c, 0x73, 0x4a, 0x9e, 0xc1, 0x2f, 0x90,
1807	0x43, 0x1e, 0x20, 0x39, 0xe4, 0x09, 0x52, 0xa9, 0x9c, 0x52, 0xf3, 0x01, 0x70, 0xc0, 0xfd, 0xa0,
1808	0xb8, 0xa9, 0x9c, 0x88, 0xe9, 0x9e, 0xdf, 0xaf, 0x67, 0xba, 0xa7, 0x67, 0x7a, 0x86, 0xf0, 0x70,
1809	0x4c, 0xe9, 0xd8, 0x23, 0x87, 0x8e, 0x47, 0xa7, 0xc3, 0xc3, 0xe7, 0x6e, 0xe4, 0x52, 0xff, 0xf0,
1810	0xf9, 0x83, 0xe0, 0xc1, 0x25, 0x89, 0xed, 0x07, 0x87, 0xee, 0xc4, 0x1e, 0x13, 0xcb, 0xf6, 0x7d,
1811	0x1a, 0xdb, 0x31, 0x0d, 0xeb, 0x41, 0x48, 0x63, 0x8a, 0xee, 0x09, 0x50, 0x9d, 0x83, 0xea, 0x02,
1812	0x54, 0x4f, 0x41, 0x7b, 0x77, 0x25, 0xa7, 0x1d, 0xb8, 0x87, 0x12, 0xea, 0x52, 0x3f, 0x12, 0xe0,
1813	0xbd, 0x8f, 0xde, 0x6c, 0x71, 0x4c, 0xe8, 0x84, 0xc4, 0xe1, 0xb5, 0xec, 0xbd, 0x60, 0x7c, 0x31,
1814	0xb9, 0x8a, 0xad, 0x99, 0x0d, 0x09, 0x7a, 0xf0, 0x66, 0xd0, 0x0b, 0x72, 0x69, 0x0d, 0x49, 0x4c,
1815	0x1c, 0x05, 0xf2, 0xae, 0x84, 0x84, 0x81, 0x73, 0x18, 0xc5, 0x76, 0x3c, 0x8d, 0xe6, 0x14, 0xf1,
1816	0x75, 0x40, 0x0e, 0x1d, 0xea, 0x25, 0x4e, 0xd8, 0xab, 0xa9, 0x0a, 0xcf, 0x8e, 0x3d, 0x7f, 0x2c,
1817	0x34, 0xfa, 0xbf, 0xf3, 0xb0, 0x71, 0x42, 0xec, 0x78, 0x1a, 0x12, 0xf4, 0x19, 0xac, 0xb2, 0x0e,
1818	0xb5, 0xdc, 0x7e, 0xee, 0xa0, 0x72, 0xf4, 0xe3, 0xfa, 0x1b, 0x3d, 0x57, 0x97, 0xa8, 0xfa, 0xe0,
1819	0x3a, 0x20, 0x98, 0x03, 0xd1, 0x7d, 0x28, 0x4d, 0xec, 0x2b, 0x2b, 0x24, 0xd1, 0xd4, 0x8b, 0xa3,
1820	0x5a, 0x7e, 0x3f, 0x77, 0xb0, 0x86, 0x61, 0x62, 0x5f, 0x61, 0x21, 0x41, 0x3b, 0xb0, 0x36, 0xa1,
1821	0x43, 0xe2, 0xd5, 0x56, 0xf6, 0x73, 0x07, 0x45, 0x2c, 0x1a, 0xfa, 0x3f, 0x73, 0xb0, 0xca, 0x58,
1822	0xd0, 0x0e, 0x68, 0x83, 0x27, 0xa6, 0x61, 0x9d, 0x77, 0xfb, 0xa6, 0xd1, 0x6a, 0x9f, 0xb4, 0x8d,
1823	0x63, 0xed, 0x1d, 0x84, 0xa0, 0x72, 0xd2, 0x68, 0x19, 0xd6, 0xb1, 0x31, 0x30, 0x5a, 0x83, 0x76,
1824	0xaf, 0xab, 0xe5, 0xd0, 0x2e, 0xa0, 0x4e, 0xa3, 0x7b, 0xfc, 0xb8, 0x81, 0x3f, 0x57, 0xe4, 0x79,
1825	0xd6, 0xb7, 0xd3, 0x3b, 0xed, 0x29, 0xb2, 0x15, 0xb4, 0x0d, 0xd5, 0x4e, 0xa3, 0x69, 0x74, 0x14,
1826	0xe1, 0x2a, 0xeb, 0x38, 0x30, 0xbe, 0x1c, 0x28, 0xb2, 0x35, 0x74, 0x07, 0xde, 0x3d, 0xee, 0xb5,
1827	0xce, 0x1f, 0x1b, 0xdd, 0x81, 0x35, 0xa7, 0x2c, 0xa1, 0xdb, 0x70, 0xab, 0xdf, 0x38, 0x31, 0xac,
1828	0xbe, 0xd1, 0xc0, 0xad, 0x33, 0x45, 0xb5, 0xce, 0x86, 0xdd, 0x7e, 0xdc, 0x38, 0x35, 0x2c, 0x13,
1829	0xf7, 0x4c, 0x03, 0x0f, 0xda, 0x46, 0x5f, 0xdb, 0x40, 0x15, 0x80, 0x16, 0xee, 0x99, 0xd6, 0x59,
1830	0xbb, 0x3b, 0xe8, 0x6b, 0x45, 0xb4, 0x05, 0x9b, 0x17, 0x46, 0x53, 0x01, 0x82, 0xde, 0x85, 0x52,
1831	0x9b, 0x2d, 0xda, 0x3e, 0x9d, 0x86, 0x0e, 0x41, 0x3a, 0x6c, 0x8e, 0x9d, 0xc8, 0x12, 0xeb, 0x78,
1832	0x1a, 0xba, 0x3c, 0x10, 0x45, 0x5c, 0x1a, 0x3b, 0x11, 0xef, 0x76, 0x1e, 0xba, 0xe8, 0x0e, 0x14,
1833	0x67, 0xfa, 0x3c, 0xd7, 0x17, 0x5c, 0xa9, 0xd4, 0x09, 0xac, 0xf1, 0x8e, 0xa8, 0x06, 0x1b, 0x0e,
1834	0xf5, 0x63, 0xe2, 0xc7, 0x9c, 0xa3, 0x8c, 0x93, 0x26, 0x6a, 0xc2, 0x7a, 0xc4, 0xad, 0x71, 0x70,
1835	0xe9, 0xe8, 0xc3, 0x05, 0x51, 0x56, 0xc6, 0x87, 0x25, 0x52, 0xff, 0x83, 0x06, 0x95, 0x13, 0xdb,
1836	0x21, 0x8d, 0x74, 0x2d, 0x23, 0x13, 0x36, 0x2f, 0xe9, 0xd4, 0x1f, 0xba, 0xfe, 0xd8, 0x0a, 0xa8,
1837	0x77, 0xcd, 0xcd, 0x96, 0x16, 0xae, 0xa1, 0xa6, 0xc4, 0x98, 0xd4, 0xbb, 0xc6, 0xe5, 0x4b, 0xa5,
1838	0x85, 0xce, 0x41, 0x1b, 0x0d, 0xad, 0x2c, 0x69, 0x7e, 0x79, 0xd2, 0xca, 0x68, 0xa8, 0xb6, 0xd1,
1839	0x00, 0x8a, 0x9e, 0xed, 0x0f, 0x27, 0x76, 0xf8, 0x4d, 0x54, 0x5b, 0xd9, 0x5f, 0x39, 0x28, 0x1d,
1840	0x7d, 0xb2, 0x68, 0xa1, 0x67, 0xa6, 0x5a, 0xef, 0x48, 0x38, 0x9e, 0x11, 0xa1, 0x7b, 0x00, 0x21,
1841	0xf5, 0x3c, 0xcb, 0xf6, 0xc7, 0x1e, 0xa9, 0xad, 0xee, 0xe7, 0x0e, 0xf2, 0xb8, 0xc8, 0x24, 0x0d,
1842	0x26, 0x60, 0x41, 0x0b, 0x6c, 0x5f, 0x6a, 0xd7, 0xb8, 0xb6, 0x10, 0xd8, 0xbe, 0x50, 0xde, 0x03,
1843	0x88, 0x5d, 0x2f, 0x96, 0xda, 0x75, 0x81, 0x65, 0x12, 0xa1, 0x7e, 0x00, 0x3b, 0x69, 0xfe, 0x5b,
1844	0x0e, 0xf5, 0x47, 0xee, 0x90, 0xf8, 0x0e, 0xa9, 0x6d, 0xf0, 0x8e, 0xdb, 0xa9, 0xae, 0x95, 0xaa,
1845	0xd0, 0x4f, 0x61, 0x37, 0x19, 0x1a, 0x73, 0x9d, 0x02, 0x2a, 0x70, 0xd0, 0x2d, 0x45, 0xab, 0xc0,
1846	0x4c, 0xa8, 0x7c, 0x4d, 0xaf, 0x2d, 0xcf, 0xfd, 0x86, 0x78, 0xee, 0x33, 0x4a, 0x87, 0xb5, 0x22,
1847	0xdf, 0x08, 0x7e, 0xb4, 0xc0, 0x3f, 0x9d, 0x14, 0x80, 0x37, 0xbf, 0xa6, 0xd7, 0xb3, 0x26, 0xfa,
1848	0x02, 0xb6, 0x22, 0x1a, 0x86, 0xf4, 0x85, 0x4a, 0x0a, 0xcb, 0x92, 0x6a, 0x82, 0x43, 0xe1, 0x1d,
1849	0x80, 0x66, 0xfb, 0x63, 0x12, 0xaa, 0xb4, 0xa5, 0x65, 0x69, 0xab, 0x9c, 0x42, 0x61, 0x7d, 0x0a,
1850	0xdb, 0xd1, 0x34, 0x0c, 0x42, 0x37, 0x22, 0x2a, 0x71, 0x79, 0x59, 0x62, 0x94, 0xb0, 0x28, 0xdc,
1851	0x0e, 0xd4, 0xa6, 0xfe, 0x90, 0x84, 0x16, 0xb9, 0x0a, 0x68, 0x44, 0x86, 0xaa, 0x81, 0xcd, 0x65,
1852	0x0d, 0xec, 0x72, 0x2a, 0x43, 0x30, 0x29, 0x46, 0xbe, 0x04, 0x74, 0xe9, 0x4d, 0xc3, 0x30, 0x4b,
1853	0x5f, 0x59, 0x96, 0x7e, 0x4b, 0x92, 0x64, 0x5d, 0xf3, 0x8c, 0xd8, 0xc3, 0x17, 0xc4, 0xce, 0xf8,
1854	0xbc, 0xba, 0xb4, 0x6b, 0x12, 0x96, 0x99, 0x6c, 0xef, 0xaf, 0x1b, 0x50, 0x48, 0x72, 0x0a, 0xf5,
1855	0xe4, 0x11, 0xb4, 0xc2, 0x99, 0x3f, 0x7d, 0xbb, 0xcc, 0x54, 0x8f, 0xa4, 0x16, 0x14, 0x02, 0x1a,
1856	0xb9, 0x4c, 0xcf, 0xf3, 0xb2, 0x74, 0xf4, 0xc3, 0x05, 0xa4, 0xa6, 0xec, 0x8e, 0x53, 0xa0, 0xfe,
1857	0xe7, 0xf5, 0xd9, 0x01, 0x75, 0xde, 0xfd, 0xbc, 0xdb, 0xbb, 0xe8, 0x5a, 0xc9, 0xf1, 0xa3, 0xbd,
1858	0x83, 0xca, 0x50, 0xe8, 0x18, 0x27, 0x03, 0xcb, 0x78, 0x62, 0x68, 0x39, 0xb4, 0x09, 0x45, 0xdc,
1859	0x3e, 0x3d, 0x13, 0xcd, 0x3c, 0xaa, 0xc1, 0x0e, 0x57, 0xf6, 0x4e, 0xac, 0xa4, 0x53, 0x13, 0xf7,
1860	0x2e, 0xb4, 0x15, 0x76, 0xa2, 0x88, 0x8e, 0xf3, 0xaa, 0x55, 0xa6, 0x4a, 0x40, 0x29, 0x17, 0x57,
1861	0xad, 0xa1, 0x3d, 0xd8, 0x4d, 0x51, 0x59, 0xdd, 0x3a, 0x83, 0x3d, 0x6e, 0x1f, 0x9b, 0xbd, 0x76,
1862	0x77, 0x60, 0x35, 0x8d, 0xc1, 0x85, 0x61, 0x74, 0x99, 0x96, 0x9d, 0x46, 0x65, 0x28, 0x74, 0x7b,
1863	0x7d, 0xc3, 0x1a, 0xb4, 0x4d, 0xad, 0xc0, 0xc6, 0x78, 0x6e, 0x9a, 0x06, 0xb6, 0x3a, 0x6d, 0x53,
1864	0x2b, 0xb2, 0x66, 0xa7, 0x77, 0x21, 0x9b, 0xc0, 0x4e, 0xae, 0xc7, 0xbd, 0xf3, 0xc1, 0x19, 0x1f,
1865	0x95, 0x56, 0x42, 0x55, 0x28, 0x89, 0x36, 0xb7, 0xa7, 0x95, 0x91, 0x06, 0x65, 0x21, 0x68, 0x19,
1866	0xdd, 0x81, 0x81, 0xb5, 0x4d, 0x74, 0x0b, 0xb6, 0x38, 0x7d, 0xb3, 0x37, 0x18, 0xf4, 0x1e, 0xcb,
1867	0x8e, 0x15, 0xe6, 0x2f, 0x55, 0xcc, 0xf9, 0xaa, 0xec, 0xf0, 0x56, 0xa5, 0x92, 0x44, 0x4b, 0x67,
1868	0x6d, 0x3c, 0x31, 0xac, 0x41, 0xcf, 0xb4, 0x9a, 0xbd, 0xf3, 0xee, 0x71, 0x03, 0x3f, 0xd1, 0xb6,
1869	0x32, 0x2a, 0x31, 0xeb, 0x56, 0x0f, 0x77, 0x0d, 0xac, 0x21, 0x74, 0x17, 0x6a, 0xa9, 0x4a, 0x32,
1870	0xa6, 0xc0, 0xed, 0xd4, 0xfd, 0x4c, 0xcb, 0x3f, 0x24, 0x6e, 0x67, 0xe6, 0xc8, 0x97, 0xcc, 0xdd,
1871	0xca, 0xea, 0x32, 0xf6, 0x76, 0xd1, 0x3d, 0xb8, 0x3d, 0xd3, 0xcd, 0x1b, 0x7c, 0x77, 0x16, 0xd5,
1872	0x79, 0x8b, 0x35, 0x74, 0x1f, 0xee, 0xa8, 0x71, 0xb6, 0x44, 0x08, 0x92, 0x88, 0x69, 0xb7, 0xd1,
1873	0x3e, 0xdc, 0xcd, 0x84, 0x74, 0xbe, 0xc7, 0x1e, 0x73, 0xa8, 0xa0, 0x68, 0x60, 0x6b, 0x80, 0x1b,
1874	0xa7, 0xac, 0x8e, 0xb8, 0xc3, 0xbc, 0x2f, 0x71, 0x8a, 0xf8, 0x2e, 0x2f, 0x86, 0x92, 0xb9, 0x9b,
1875	0xe7, 0x66, 0xbb, 0xa3, 0xdd, 0x63, 0xc5, 0xd0, 0x6c, 0x78, 0x42, 0xf8, 0x1e, 0xc3, 0x9f, 0xf4,
1876	0xb0, 0x71, 0x66, 0x34, 0x8e, 0xad, 0x53, 0x5e, 0x2b, 0x75, 0x1a, 0xda, 0x7d, 0x56, 0xb1, 0xb4,
1877	0xce, 0xda, 0x5d, 0xeb, 0xb4, 0xdb, 0x18, 0x9c, 0x31, 0xca, 0x7d, 0x66, 0x9f, 0x8b, 0x38, 0xef,
1878	0x69, 0xaf, 0xcb, 0xa4, 0xef, 0x33, 0x3c, 0x97, 0x0a, 0x66, 0x29, 0xd6, 0xf5, 0x5f, 0x40, 0xb9,
1879	0x43, 0x1d, 0x9e, 0x9b, 0x6d, 0x7f, 0x44, 0xd1, 0x47, 0xb0, 0xe1, 0xd9, 0xb1, 0xe5, 0xf9, 0x63,
1880	0x59, 0x1e, 0x6c, 0x27, 0xa9, 0xc8, 0x52, 0xb5, 0xde, 0xb1, 0xe3, 0x8e, 0x3f, 0xc6, 0xeb, 0x1e,
1881	0xff, 0xd5, 0x2f, 0xa0, 0x60, 0x86, 0x34, 0x20, 0x61, 0x7c, 0x8d, 0x10, 0xac, 0xfa, 0xf6, 0x84,
1882	0xc8, 0x82, 0x88, 0x7f, 0xb3, 0x5a, 0xf2, 0xb9, 0xed, 0x4d, 0x89, 0xac, 0x82, 0x44, 0x03, 0xbd,
1883	0x0f, 0xe5, 0xa9, 0xeb, 0xc7, 0x9f, 0x7c, 0x6c, 0x09, 0x25, 0xdb, 0x48, 0x56, 0x71, 0x49, 0xc8,
1884	0xbe, 0x60, 0x22, 0xfd, 0xf7, 0x2b, 0xa0, 0x19, 0x7e, 0xec, 0xc6, 0xd7, 0x4a, 0x01, 0xa3, 0xc1,
1885	0xca, 0xc4, 0x1d, 0x4a, 0x03, 0xec, 0x13, 0xed, 0xc2, 0xba, 0x47, 0x1d, 0xdb, 0x4b, 0x0c, 0xc8,
1886	0x16, 0xda, 0x87, 0xd2, 0x90, 0x44, 0x4e, 0xe8, 0x06, 0x7c, 0x53, 0x11, 0x95, 0xac, 0x2a, 0x62,
1887	0x23, 0x8b, 0x1c, 0x1a, 0x26, 0x85, 0x80, 0x68, 0xa0, 0xf7, 0x00, 0x94, 0x93, 0x58, 0x54, 0x01,
1888	0x8a, 0x84, 0xe9, 0x63, 0x1a, 0xb8, 0x8e, 0xed, 0xb9, 0xf1, 0xb5, 0xac, 0x03, 0x14, 0xc9, 0xcb,
1889	0x25, 0xd6, 0xc6, 0x7f, 0x5b, 0x62, 0xb5, 0xa1, 0xe8, 0xc9, 0xf8, 0x44, 0xb5, 0x02, 0xaf, 0x85,
1890	0x16, 0xb1, 0xa9, 0xf1, 0xc4, 0x33, 0x34, 0x3a, 0x05, 0x08, 0x44, 0xb0, 0x5c, 0x12, 0xd5, 0x8a,
1891	0x9c, 0x6b, 0xe1, 0x46, 0x2b, 0xa3, 0x8b, 0x15, 0xa8, 0xfe, 0xb7, 0x3c, 0xec, 0xf4, 0xed, 0x11,
1892	0xe9, 0x13, 0x3b, 0x74, 0x9e, 0x29, 0x01, 0xfa, 0x0c, 0xd6, 0xec, 0xe1, 0xd4, 0x8b, 0xe5, 0xed,
1893	0x64, 0x89, 0x43, 0x47, 0xe0, 0x18, 0x41, 0x14, 0x50, 0x3a, 0xe2, 0xe1, 0x5c, 0x8e, 0x80, 0xe3,
1894	0x50, 0x0b, 0x36, 0x26, 0x64, 0xc8, 0xc2, 0x21, 0x8f, 0xa7, 0x25, 0x28, 0x12, 0x24, 0x32, 0xa0,
1895	0xf0, 0xdc, 0xa5, 0x1e, 0x5f, 0x03, 0xab, 0xcb, 0xb2, 0xa4, 0x50, 0xf4, 0x4b, 0x58, 0x0d, 0x6d,
1896	0xe7, 0x7a, 0xf9, 0x0a, 0x8d, 0xc3, 0xf4, 0x17, 0x50, 0x62, 0xd9, 0x46, 0xfd, 0x31, 0x26, 0x4e,
1897	0x8c, 0x1e, 0x42, 0x69, 0xe2, 0xfa, 0xd6, 0x0d, 0x92, 0xb3, 0x38, 0x71, 0x7d, 0xf1, 0xc9, 0x41,
1898	0xf6, 0x55, 0x0a, 0xca, 0xbf, 0x09, 0x64, 0x5f, 0x89, 0x4f, 0x3d, 0x84, 0x62, 0x8b, 0xdd, 0x4b,
1899	0xf9, 0x7e, 0x70, 0x00, 0x6b, 0xfc, 0x92, 0x2a, 0x0d, 0xa2, 0x0c, 0x96, 0x77, 0xc3, 0xa2, 0xc3,
1900	0x2c, 0xa3, 0xf2, 0x6a, 0x46, 0x7d, 0x00, 0x95, 0xc0, 0xbd, 0x22, 0x9e, 0x35, 0x0a, 0x6d, 0x27,
1901	0x4d, 0xc6, 0x3c, 0xde, 0xe4, 0xd2, 0x13, 0x29, 0xd4, 0xbf, 0x82, 0xda, 0x31, 0x9d, 0xb8, 0xbe,
1902	0xed, 0xc7, 0x9c, 0x34, 0x52, 0x56, 0xd5, 0xaf, 0x60, 0x9d, 0x5b, 0x88, 0x6a, 0x39, 0xbe, 0x66,
1903	0x0f, 0x16, 0x78, 0x32, 0x1d, 0x3c, 0x96, 0x38, 0x3d, 0x82, 0x2a, 0xbf, 0x23, 0x99, 0xe9, 0x1a,
1904	0x46, 0xbf, 0x81, 0xea, 0x50, 0x1a, 0xb4, 0x52, 0x76, 0x36, 0xc3, 0x9f, 0x2d, 0x60, 0x7f, 0xdd,
1905	0x30, 0x71, 0x65, 0x98, 0xd1, 0xe8, 0x7f, 0xcc, 0x41, 0xa1, 0x15, 0xd2, 0xe0, 0xcc, 0xf5, 0xe3,
1906	0xff, 0xc1, 0xdd, 0x2b, 0xbb, 0x55, 0xe5, 0x5f, 0xda, 0xaa, 0x0e, 0x61, 0xdb, 0x9d, 0x04, 0x34,
1907	0x8c, 0x6d, 0xdf, 0x21, 0xf3, 0xde, 0x47, 0x33, 0x55, 0x1a, 0x82, 0x5f, 0xc3, 0x76, 0x32, 0x5c,
1908	0xd5, 0xfb, 0x27, 0x00, 0x4e, 0x48, 0x03, 0xeb, 0x19, 0x93, 0xcb, 0x08, 0x2c, 0xda, 0x35, 0x12,
1909	0x1e, 0x5c, 0x74, 0x12, 0x46, 0xfd, 0x13, 0xa8, 0xa6, 0xf4, 0xa6, 0x1d, 0xda, 0x93, 0x08, 0xfd,
1910	0x1f, 0x6c, 0xda, 0x51, 0x40, 0x9c, 0xd8, 0x0a, 0x99, 0x2d, 0xc1, 0x9e, 0xc7, 0x65, 0x21, 0xc4,
1911	0x5c, 0xa6, 0x1f, 0x03, 0xba, 0x20, 0x97, 0xc7, 0xc9, 0x15, 0x4a, 0x42, 0xeb, 0xb0, 0xed, 0xfa,
1912	0x8e, 0x37, 0x1d, 0x12, 0x6b, 0x4c, 0x68, 0xe6, 0x35, 0xa3, 0x80, 0xb7, 0xa4, 0xea, 0x94, 0x50,
1913	0xf9, 0xa8, 0xa1, 0x7f, 0x9f, 0x87, 0x32, 0x5f, 0x02, 0x2d, 0x76, 0xc7, 0xbe, 0x8a, 0x51, 0x17,
1914	0x36, 0x79, 0x56, 0x50, 0x7f, 0x6c, 0x85, 0xc4, 0x89, 0x65, 0x40, 0x16, 0x5d, 0xb5, 0x95, 0x8c,
1915	0xc4, 0x25, 0x4f, 0x49, 0xcf, 0x0f, 0xa0, 0xe2, 0xd9, 0xfe, 0x78, 0xca, 0xae, 0xfd, 0xc2, 0x55,
1916	0xf9, 0xfd, 0x95, 0x83, 0x22, 0xde, 0x4c, 0xa4, 0x7c, 0xe2, 0xe8, 0x29, 0x6c, 0xcd, 0xbc, 0x69,
1917	0x05, 0x7c, 0x32, 0xb2, 0xe6, 0xad, 0xdf, 0xd0, 0xa9, 0xd2, 0x7b, 0xb8, 0xea, 0xcc, 0xb9, 0xd3,
1918	0x81, 0x9d, 0xcc, 0x4b, 0x54, 0x42, 0xbf, 0xce, 0xe9, 0x1f, 0x2c, 0xa0, 0x7f, 0xd9, 0xc9, 0x18,
1919	0xbd, 0x78, 0x49, 0xa6, 0xff, 0x23, 0x07, 0x3b, 0x72, 0x75, 0x10, 0xee, 0x50, 0x4c, 0xbe, 0x9d,
1920	0x92, 0x28, 0x46, 0x8f, 0x60, 0x8d, 0xbf, 0x71, 0x48, 0x47, 0xfe, 0xff, 0x4d, 0xde, 0x2c, 0xb0,
1921	0x80, 0xa0, 0x26, 0x14, 0x46, 0xe2, 0xa5, 0x4a, 0xb8, 0xad, 0x74, 0xf4, 0x83, 0x9b, 0x3d, 0x6c,
1922	0xe1, 0x14, 0xc7, 0x32, 0x4c, 0x3c, 0xba, 0x38, 0x22, 0xc2, 0x7c, 0xa5, 0x2f, 0xce, 0x30, 0x75,
1923	0x51, 0xe0, 0xb2, 0xab, 0xb4, 0xf4, 0xdf, 0x16, 0xe0, 0xd6, 0xdc, 0x54, 0xa3, 0x80, 0xfa, 0x11,
1924	0x41, 0x5f, 0x82, 0x36, 0xb2, 0x1d, 0xa2, 0x3c, 0x14, 0x26, 0x99, 0xf1, 0x93, 0xa5, 0x6e, 0x43,
1925	0xb8, 0x3a, 0xca, 0xb4, 0x23, 0x74, 0x09, 0x3b, 0xc9, 0xc5, 0x3f, 0xc3, 0x2e, 0xbc, 0x72, 0xb8,
1926	0x80, 0x7d, 0xbe, 0x62, 0xc2, 0xdb, 0x09, 0x99, 0x6a, 0xe3, 0x29, 0x68, 0x1e, 0x1d, 0xd3, 0x0c,
1927	0xff, 0xca, 0xdb, 0xf1, 0x57, 0x19, 0x91, 0xca, 0xfd, 0x15, 0x6c, 0x79, 0xf6, 0x25, 0xf1, 0x32,
1928	0xe4, 0xab, 0x6f, 0x47, 0xae, 0x71, 0xa6, 0xb9, 0x91, 0xcf, 0x3d, 0xd0, 0x46, 0xb5, 0xb5, 0xb7,
1929	0x1c, 0x39, 0x23, 0x52, 0xb9, 0x2d, 0xd8, 0x19, 0x4d, 0x3d, 0xcf, 0x9a, 0x33, 0xc0, 0x9f, 0x16,
1930	0x16, 0xc7, 0x75, 0x90, 0x61, 0xc3, 0x88, 0x51, 0x65, 0x65, 0xc8, 0x85, 0xdd, 0xc8, 0x1e, 0x11,
1931	0x2b, 0xe2, 0x55, 0x93, 0x6a, 0x42, 0x24, 0xe8, 0xc3, 0x05, 0x26, 0x5e, 0x55, 0x71, 0xe1, 0x9d,
1932	0xe8, 0x55, 0x75, 0x98, 0x0f, 0x77, 0x44, 0x2e, 0xcc, 0x8a, 0x36, 0xd5, 0x5e, 0xe1, 0x46, 0xfb,
1933	0xcd, 0xdc, 0x89, 0x89, 0x6f, 0xbb, 0x59, 0x81, 0x62, 0x6f, 0x04, 0xb7, 0x94, 0x5d, 0x4d, 0xb1,
1934	0x54, 0xe2, 0x96, 0x8e, 0x6e, 0xba, 0xb3, 0xa9, 0x2b, 0xd7, 0x79, 0xc5, 0x59, 0x64, 0xc2, 0x66,
1935	0x66, 0x87, 0xe3, 0xcf, 0x32, 0x8b, 0x73, 0x5c, 0xdd, 0xda, 0x70, 0x59, 0xdd, 0xd4, 0x58, 0x79,
1936	0x43, 0xc2, 0x90, 0x86, 0xbc, 0x48, 0x53, 0xca, 0x9b, 0x30, 0x70, 0xea, 0x7d, 0xfe, 0x6c, 0x8f,
1937	0x45, 0x07, 0x7d, 0x02, 0x7b, 0x4d, 0x3b, 0x4e, 0xdd, 0x2c, 0x76, 0x84, 0x28, 0xd9, 0xfd, 0x7a,
1938	0x50, 0x08, 0xc5, 0x67, 0xb2, 0x13, 0x2c, 0x0a, 0xe7, 0xab, 0x36, 0x51, 0x9c, 0x92, 0xe8, 0xdf,
1939	0xc2, 0x9d, 0x57, 0x9a, 0x93, 0x3b, 0x10, 0x86, 0x62, 0x28, 0xbf, 0x13, 0x83, 0x1f, 0x2f, 0x67,
1940	0x50, 0x80, 0xf1, 0x8c, 0xe6, 0x43, 0x02, 0xa0, 0x3c, 0x27, 0x95, 0x60, 0x43, 0x3e, 0xa3, 0x68,
1941	0xef, 0xb0, 0x5b, 0xe6, 0x17, 0x06, 0x7e, 0x62, 0x9d, 0x77, 0x3b, 0xed, 0xcf, 0x8d, 0xce, 0x13,
1942	0x2d, 0x87, 0xca, 0x50, 0x48, 0x5b, 0x79, 0xd6, 0x32, 0x7b, 0xfd, 0x7e, 0xbb, 0xd9, 0x31, 0xb4,
1943	0x15, 0x04, 0xb0, 0x2e, 0x35, 0xab, 0xa8, 0x0a, 0x25, 0x0e, 0x95, 0x82, 0xb5, 0xa3, 0xef, 0x73,
1944	0x50, 0xe1, 0x63, 0x68, 0x24, 0xff, 0x02, 0xa1, 0x3f, 0xe5, 0x60, 0xfb, 0x15, 0xb3, 0x45, 0x3f,
1945	0x5f, 0x54, 0x1e, 0xbd, 0x36, 0x20, 0x7b, 0x8f, 0xde, 0x06, 0x2a, 0x3c, 0xa1, 0x7f, 0xf0, 0xdd,
1946	0x5f, 0xfe, 0xfe, 0xbb, 0xfc, 0x7d, 0x7d, 0x6f, 0xfe, 0x8f, 0xab, 0xe8, 0x91, 0x5c, 0xdb, 0xe4,
1947	0x51, 0xee, 0xc3, 0xe6, 0x77, 0x39, 0x78, 0xdf, 0xa1, 0x93, 0x37, 0x1b, 0x6a, 0x6e, 0x67, 0xe7,
1948	0x6a, 0x86, 0x34, 0xa6, 0x66, 0xee, 0x69, 0x4b, 0xa2, 0xc6, 0x94, 0x15, 0x08, 0x75, 0x1a, 0x8e,
1949	0x0f, 0xc7, 0xc4, 0xe7, 0xff, 0xf7, 0x1c, 0x0a, 0x95, 0x1d, 0xb8, 0xd1, 0x6b, 0xfe, 0x71, 0xfa,
1950	0x54, 0x08, 0xfe, 0x95, 0xcb, 0x5d, 0xae, 0x73, 0xc8, 0xc3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff,
1951	0xb8, 0x10, 0xf5, 0x85, 0x78, 0x1b, 0x00, 0x00,
1952}
1953
1954// Reference imports to suppress errors if they are not otherwise used.
1955var _ context.Context
1956var _ grpc.ClientConn
1957
1958// This is a compile-time assertion to ensure that this generated file
1959// is compatible with the grpc package it is being compiled against.
1960const _ = grpc.SupportPackageIsVersion4
1961
1962// ImageAnnotatorClient is the client API for ImageAnnotator service.
1963//
1964// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1965type ImageAnnotatorClient interface {
1966	// Run image detection and annotation for a batch of images.
1967	BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
1968}
1969
1970type imageAnnotatorClient struct {
1971	cc *grpc.ClientConn
1972}
1973
1974func NewImageAnnotatorClient(cc *grpc.ClientConn) ImageAnnotatorClient {
1975	return &imageAnnotatorClient{cc}
1976}
1977
1978func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
1979	out := new(BatchAnnotateImagesResponse)
1980	err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...)
1981	if err != nil {
1982		return nil, err
1983	}
1984	return out, nil
1985}
1986
1987// ImageAnnotatorServer is the server API for ImageAnnotator service.
1988type ImageAnnotatorServer interface {
1989	// Run image detection and annotation for a batch of images.
1990	BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
1991}
1992
1993func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
1994	s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
1995}
1996
1997func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1998	in := new(BatchAnnotateImagesRequest)
1999	if err := dec(in); err != nil {
2000		return nil, err
2001	}
2002	if interceptor == nil {
2003		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
2004	}
2005	info := &grpc.UnaryServerInfo{
2006		Server:     srv,
2007		FullMethod: "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages",
2008	}
2009	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2010		return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
2011	}
2012	return interceptor(ctx, in, info, handler)
2013}
2014
2015var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
2016	ServiceName: "google.cloud.vision.v1p1beta1.ImageAnnotator",
2017	HandlerType: (*ImageAnnotatorServer)(nil),
2018	Methods: []grpc.MethodDesc{
2019		{
2020			MethodName: "BatchAnnotateImages",
2021			Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
2022		},
2023	},
2024	Streams:  []grpc.StreamDesc{},
2025	Metadata: "google/cloud/vision/v1p1beta1/image_annotator.proto",
2026}
2027