OSDN Git Service

new repo
[bytom/vapor.git] / vendor / google.golang.org / genproto / googleapis / cloud / vision / v1 / image_annotator.pb.go
1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/cloud/vision/v1/image_annotator.proto
3
4 package vision
5
6 import proto "github.com/golang/protobuf/proto"
7 import fmt "fmt"
8 import math "math"
9 import _ "google.golang.org/genproto/googleapis/api/annotations"
10 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
11 import google_type "google.golang.org/genproto/googleapis/type/color"
12 import google_type1 "google.golang.org/genproto/googleapis/type/latlng"
13
14 import (
15         context "golang.org/x/net/context"
16         grpc "google.golang.org/grpc"
17 )
18
19 // Reference imports to suppress errors if they are not otherwise used.
20 var _ = proto.Marshal
21 var _ = fmt.Errorf
22 var _ = math.Inf
23
24 // A bucketized representation of likelihood, which is intended to give clients
25 // highly stable results across model upgrades.
26 type Likelihood int32
27
28 const (
29         // Unknown likelihood.
30         Likelihood_UNKNOWN Likelihood = 0
31         // It is very unlikely that the image belongs to the specified vertical.
32         Likelihood_VERY_UNLIKELY Likelihood = 1
33         // It is unlikely that the image belongs to the specified vertical.
34         Likelihood_UNLIKELY Likelihood = 2
35         // It is possible that the image belongs to the specified vertical.
36         Likelihood_POSSIBLE Likelihood = 3
37         // It is likely that the image belongs to the specified vertical.
38         Likelihood_LIKELY Likelihood = 4
39         // It is very likely that the image belongs to the specified vertical.
40         Likelihood_VERY_LIKELY Likelihood = 5
41 )
42
43 var Likelihood_name = map[int32]string{
44         0: "UNKNOWN",
45         1: "VERY_UNLIKELY",
46         2: "UNLIKELY",
47         3: "POSSIBLE",
48         4: "LIKELY",
49         5: "VERY_LIKELY",
50 }
51 var Likelihood_value = map[string]int32{
52         "UNKNOWN":       0,
53         "VERY_UNLIKELY": 1,
54         "UNLIKELY":      2,
55         "POSSIBLE":      3,
56         "LIKELY":        4,
57         "VERY_LIKELY":   5,
58 }
59
60 func (x Likelihood) String() string {
61         return proto.EnumName(Likelihood_name, int32(x))
62 }
63 func (Likelihood) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
64
65 // Type of image feature.
66 type Feature_Type int32
67
68 const (
69         // Unspecified feature type.
70         Feature_TYPE_UNSPECIFIED Feature_Type = 0
71         // Run face detection.
72         Feature_FACE_DETECTION Feature_Type = 1
73         // Run landmark detection.
74         Feature_LANDMARK_DETECTION Feature_Type = 2
75         // Run logo detection.
76         Feature_LOGO_DETECTION Feature_Type = 3
77         // Run label detection.
78         Feature_LABEL_DETECTION Feature_Type = 4
79         // Run OCR.
80         Feature_TEXT_DETECTION Feature_Type = 5
81         // Run dense text document OCR. Takes precedence when both
82         // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
83         Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11
84         // Run computer vision models to compute image safe-search properties.
85         Feature_SAFE_SEARCH_DETECTION Feature_Type = 6
86         // Compute a set of image properties, such as the image's dominant colors.
87         Feature_IMAGE_PROPERTIES Feature_Type = 7
88         // Run crop hints.
89         Feature_CROP_HINTS Feature_Type = 9
90         // Run web detection.
91         Feature_WEB_DETECTION Feature_Type = 10
92 )
93
94 var Feature_Type_name = map[int32]string{
95         0:  "TYPE_UNSPECIFIED",
96         1:  "FACE_DETECTION",
97         2:  "LANDMARK_DETECTION",
98         3:  "LOGO_DETECTION",
99         4:  "LABEL_DETECTION",
100         5:  "TEXT_DETECTION",
101         11: "DOCUMENT_TEXT_DETECTION",
102         6:  "SAFE_SEARCH_DETECTION",
103         7:  "IMAGE_PROPERTIES",
104         9:  "CROP_HINTS",
105         10: "WEB_DETECTION",
106 }
107 var Feature_Type_value = map[string]int32{
108         "TYPE_UNSPECIFIED":        0,
109         "FACE_DETECTION":          1,
110         "LANDMARK_DETECTION":      2,
111         "LOGO_DETECTION":          3,
112         "LABEL_DETECTION":         4,
113         "TEXT_DETECTION":          5,
114         "DOCUMENT_TEXT_DETECTION": 11,
115         "SAFE_SEARCH_DETECTION":   6,
116         "IMAGE_PROPERTIES":        7,
117         "CROP_HINTS":              9,
118         "WEB_DETECTION":           10,
119 }
120
121 func (x Feature_Type) String() string {
122         return proto.EnumName(Feature_Type_name, int32(x))
123 }
124 func (Feature_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
125
126 // Face landmark (feature) type.
127 // Left and right are defined from the vantage of the viewer of the image
128 // without considering mirror projections typical of photos. So, `LEFT_EYE`,
129 // typically, is the person's right eye.
130 type FaceAnnotation_Landmark_Type int32
131
132 const (
133         // Unknown face landmark detected. Should not be filled.
134         FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0
135         // Left eye.
136         FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1
137         // Right eye.
138         FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2
139         // Left of left eyebrow.
140         FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3
141         // Right of left eyebrow.
142         FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4
143         // Left of right eyebrow.
144         FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5
145         // Right of right eyebrow.
146         FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6
147         // Midpoint between eyes.
148         FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7
149         // Nose tip.
150         FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8
151         // Upper lip.
152         FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9
153         // Lower lip.
154         FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10
155         // Mouth left.
156         FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11
157         // Mouth right.
158         FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12
159         // Mouth center.
160         FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13
161         // Nose, bottom right.
162         FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14
163         // Nose, bottom left.
164         FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15
165         // Nose, bottom center.
166         FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16
167         // Left eye, top boundary.
168         FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17
169         // Left eye, right corner.
170         FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18
171         // Left eye, bottom boundary.
172         FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19
173         // Left eye, left corner.
174         FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20
175         // Right eye, top boundary.
176         FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21
177         // Right eye, right corner.
178         FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22
179         // Right eye, bottom boundary.
180         FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23
181         // Right eye, left corner.
182         FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24
183         // Left eyebrow, upper midpoint.
184         FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25
185         // Right eyebrow, upper midpoint.
186         FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26
187         // Left ear tragion.
188         FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27
189         // Right ear tragion.
190         FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28
191         // Left eye pupil.
192         FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29
193         // Right eye pupil.
194         FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30
195         // Forehead glabella.
196         FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31
197         // Chin gnathion.
198         FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32
199         // Chin left gonion.
200         FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33
201         // Chin right gonion.
202         FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34
203 )
204
205 var FaceAnnotation_Landmark_Type_name = map[int32]string{
206         0:  "UNKNOWN_LANDMARK",
207         1:  "LEFT_EYE",
208         2:  "RIGHT_EYE",
209         3:  "LEFT_OF_LEFT_EYEBROW",
210         4:  "RIGHT_OF_LEFT_EYEBROW",
211         5:  "LEFT_OF_RIGHT_EYEBROW",
212         6:  "RIGHT_OF_RIGHT_EYEBROW",
213         7:  "MIDPOINT_BETWEEN_EYES",
214         8:  "NOSE_TIP",
215         9:  "UPPER_LIP",
216         10: "LOWER_LIP",
217         11: "MOUTH_LEFT",
218         12: "MOUTH_RIGHT",
219         13: "MOUTH_CENTER",
220         14: "NOSE_BOTTOM_RIGHT",
221         15: "NOSE_BOTTOM_LEFT",
222         16: "NOSE_BOTTOM_CENTER",
223         17: "LEFT_EYE_TOP_BOUNDARY",
224         18: "LEFT_EYE_RIGHT_CORNER",
225         19: "LEFT_EYE_BOTTOM_BOUNDARY",
226         20: "LEFT_EYE_LEFT_CORNER",
227         21: "RIGHT_EYE_TOP_BOUNDARY",
228         22: "RIGHT_EYE_RIGHT_CORNER",
229         23: "RIGHT_EYE_BOTTOM_BOUNDARY",
230         24: "RIGHT_EYE_LEFT_CORNER",
231         25: "LEFT_EYEBROW_UPPER_MIDPOINT",
232         26: "RIGHT_EYEBROW_UPPER_MIDPOINT",
233         27: "LEFT_EAR_TRAGION",
234         28: "RIGHT_EAR_TRAGION",
235         29: "LEFT_EYE_PUPIL",
236         30: "RIGHT_EYE_PUPIL",
237         31: "FOREHEAD_GLABELLA",
238         32: "CHIN_GNATHION",
239         33: "CHIN_LEFT_GONION",
240         34: "CHIN_RIGHT_GONION",
241 }
242 var FaceAnnotation_Landmark_Type_value = map[string]int32{
243         "UNKNOWN_LANDMARK":             0,
244         "LEFT_EYE":                     1,
245         "RIGHT_EYE":                    2,
246         "LEFT_OF_LEFT_EYEBROW":         3,
247         "RIGHT_OF_LEFT_EYEBROW":        4,
248         "LEFT_OF_RIGHT_EYEBROW":        5,
249         "RIGHT_OF_RIGHT_EYEBROW":       6,
250         "MIDPOINT_BETWEEN_EYES":        7,
251         "NOSE_TIP":                     8,
252         "UPPER_LIP":                    9,
253         "LOWER_LIP":                    10,
254         "MOUTH_LEFT":                   11,
255         "MOUTH_RIGHT":                  12,
256         "MOUTH_CENTER":                 13,
257         "NOSE_BOTTOM_RIGHT":            14,
258         "NOSE_BOTTOM_LEFT":             15,
259         "NOSE_BOTTOM_CENTER":           16,
260         "LEFT_EYE_TOP_BOUNDARY":        17,
261         "LEFT_EYE_RIGHT_CORNER":        18,
262         "LEFT_EYE_BOTTOM_BOUNDARY":     19,
263         "LEFT_EYE_LEFT_CORNER":         20,
264         "RIGHT_EYE_TOP_BOUNDARY":       21,
265         "RIGHT_EYE_RIGHT_CORNER":       22,
266         "RIGHT_EYE_BOTTOM_BOUNDARY":    23,
267         "RIGHT_EYE_LEFT_CORNER":        24,
268         "LEFT_EYEBROW_UPPER_MIDPOINT":  25,
269         "RIGHT_EYEBROW_UPPER_MIDPOINT": 26,
270         "LEFT_EAR_TRAGION":             27,
271         "RIGHT_EAR_TRAGION":            28,
272         "LEFT_EYE_PUPIL":               29,
273         "RIGHT_EYE_PUPIL":              30,
274         "FOREHEAD_GLABELLA":            31,
275         "CHIN_GNATHION":                32,
276         "CHIN_LEFT_GONION":             33,
277         "CHIN_RIGHT_GONION":            34,
278 }
279
280 func (x FaceAnnotation_Landmark_Type) String() string {
281         return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x))
282 }
283 func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) {
284         return fileDescriptor1, []int{3, 0, 0}
285 }
286
287 // Users describe the type of Google Cloud Vision API tasks to perform over
288 // images by using *Feature*s. Each Feature indicates a type of image
289 // detection task to perform. Features encode the Cloud Vision API
290 // vertical to operate on and the number of top-scoring results to return.
291 type Feature struct {
292         // The feature type.
293         Type Feature_Type `protobuf:"varint,1,opt,name=type,enum=google.cloud.vision.v1.Feature_Type" json:"type,omitempty"`
294         // Maximum number of results of this type.
295         MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults" json:"max_results,omitempty"`
296 }
297
298 func (m *Feature) Reset()                    { *m = Feature{} }
299 func (m *Feature) String() string            { return proto.CompactTextString(m) }
300 func (*Feature) ProtoMessage()               {}
301 func (*Feature) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
302
303 func (m *Feature) GetType() Feature_Type {
304         if m != nil {
305                 return m.Type
306         }
307         return Feature_TYPE_UNSPECIFIED
308 }
309
310 func (m *Feature) GetMaxResults() int32 {
311         if m != nil {
312                 return m.MaxResults
313         }
314         return 0
315 }
316
317 // External image source (Google Cloud Storage image location).
318 type ImageSource struct {
319         // NOTE: For new code `image_uri` below is preferred.
320         // Google Cloud Storage image URI, which must be in the following form:
321         // `gs://bucket_name/object_name` (for details, see
322         // [Google Cloud Storage Request
323         // URIs](https://cloud.google.com/storage/docs/reference-uris)).
324         // NOTE: Cloud Storage object versioning is not supported.
325         GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri" json:"gcs_image_uri,omitempty"`
326         // Image URI which supports:
327         // 1) Google Cloud Storage image URI, which must be in the following form:
328         // `gs://bucket_name/object_name` (for details, see
329         // [Google Cloud Storage Request
330         // URIs](https://cloud.google.com/storage/docs/reference-uris)).
331         // NOTE: Cloud Storage object versioning is not supported.
332         // 2) Publicly accessible image HTTP/HTTPS URL.
333         // This is preferred over the legacy `gcs_image_uri` above. When both
334         // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes
335         // precedence.
336         ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri" json:"image_uri,omitempty"`
337 }
338
339 func (m *ImageSource) Reset()                    { *m = ImageSource{} }
340 func (m *ImageSource) String() string            { return proto.CompactTextString(m) }
341 func (*ImageSource) ProtoMessage()               {}
342 func (*ImageSource) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
343
344 func (m *ImageSource) GetGcsImageUri() string {
345         if m != nil {
346                 return m.GcsImageUri
347         }
348         return ""
349 }
350
351 func (m *ImageSource) GetImageUri() string {
352         if m != nil {
353                 return m.ImageUri
354         }
355         return ""
356 }
357
358 // Client image to perform Google Cloud Vision API tasks over.
359 type Image struct {
360         // Image content, represented as a stream of bytes.
361         // Note: as with all `bytes` fields, protobuffers use a pure binary
362         // representation, whereas JSON representations use base64.
363         Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
364         // Google Cloud Storage image location. If both `content` and `source`
365         // are provided for an image, `content` takes precedence and is
366         // used to perform the image annotation request.
367         Source *ImageSource `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"`
368 }
369
370 func (m *Image) Reset()                    { *m = Image{} }
371 func (m *Image) String() string            { return proto.CompactTextString(m) }
372 func (*Image) ProtoMessage()               {}
373 func (*Image) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
374
375 func (m *Image) GetContent() []byte {
376         if m != nil {
377                 return m.Content
378         }
379         return nil
380 }
381
382 func (m *Image) GetSource() *ImageSource {
383         if m != nil {
384                 return m.Source
385         }
386         return nil
387 }
388
389 // A face annotation object contains the results of face detection.
390 type FaceAnnotation struct {
391         // The bounding polygon around the face. The coordinates of the bounding box
392         // are in the original image's scale, as returned in `ImageParams`.
393         // The bounding box is computed to "frame" the face in accordance with human
394         // expectations. It is based on the landmarker results.
395         // Note that one or more x and/or y coordinates may not be generated in the
396         // `BoundingPoly` (the polygon will be unbounded) if only a partial face
397         // appears in the image to be annotated.
398         BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"`
399         // The `fd_bounding_poly` bounding polygon is tighter than the
400         // `boundingPoly`, and encloses only the skin part of the face. Typically, it
401         // is used to eliminate the face from any image analysis that detects the
402         // "amount of skin" visible in an image. It is not based on the
403         // landmarker results, only on the initial face detection, hence
404         // the <code>fd</code> (face detection) prefix.
405         FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly" json:"fd_bounding_poly,omitempty"`
406         // Detected face landmarks.
407         Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks" json:"landmarks,omitempty"`
408         // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
409         // of the face relative to the image vertical about the axis perpendicular to
410         // the face. Range [-180,180].
411         RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle" json:"roll_angle,omitempty"`
412         // Yaw angle, which indicates the leftward/rightward angle that the face is
413         // pointing relative to the vertical plane perpendicular to the image. Range
414         // [-180,180].
415         PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle" json:"pan_angle,omitempty"`
416         // Pitch angle, which indicates the upwards/downwards angle that the face is
417         // pointing relative to the image's horizontal plane. Range [-180,180].
418         TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle" json:"tilt_angle,omitempty"`
419         // Detection confidence. Range [0, 1].
420         DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence" json:"detection_confidence,omitempty"`
421         // Face landmarking confidence. Range [0, 1].
422         LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence" json:"landmarking_confidence,omitempty"`
423         // Joy likelihood.
424         JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"joy_likelihood,omitempty"`
425         // Sorrow likelihood.
426         SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"sorrow_likelihood,omitempty"`
427         // Anger likelihood.
428         AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"anger_likelihood,omitempty"`
429         // Surprise likelihood.
430         SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"surprise_likelihood,omitempty"`
431         // Under-exposed likelihood.
432         UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"under_exposed_likelihood,omitempty"`
433         // Blurred likelihood.
434         BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"blurred_likelihood,omitempty"`
435         // Headwear likelihood.
436         HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,enum=google.cloud.vision.v1.Likelihood" json:"headwear_likelihood,omitempty"`
437 }
438
439 func (m *FaceAnnotation) Reset()                    { *m = FaceAnnotation{} }
440 func (m *FaceAnnotation) String() string            { return proto.CompactTextString(m) }
441 func (*FaceAnnotation) ProtoMessage()               {}
442 func (*FaceAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
443
444 func (m *FaceAnnotation) GetBoundingPoly() *BoundingPoly {
445         if m != nil {
446                 return m.BoundingPoly
447         }
448         return nil
449 }
450
451 func (m *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly {
452         if m != nil {
453                 return m.FdBoundingPoly
454         }
455         return nil
456 }
457
458 func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
459         if m != nil {
460                 return m.Landmarks
461         }
462         return nil
463 }
464
465 func (m *FaceAnnotation) GetRollAngle() float32 {
466         if m != nil {
467                 return m.RollAngle
468         }
469         return 0
470 }
471
472 func (m *FaceAnnotation) GetPanAngle() float32 {
473         if m != nil {
474                 return m.PanAngle
475         }
476         return 0
477 }
478
479 func (m *FaceAnnotation) GetTiltAngle() float32 {
480         if m != nil {
481                 return m.TiltAngle
482         }
483         return 0
484 }
485
486 func (m *FaceAnnotation) GetDetectionConfidence() float32 {
487         if m != nil {
488                 return m.DetectionConfidence
489         }
490         return 0
491 }
492
493 func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
494         if m != nil {
495                 return m.LandmarkingConfidence
496         }
497         return 0
498 }
499
500 func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
501         if m != nil {
502                 return m.JoyLikelihood
503         }
504         return Likelihood_UNKNOWN
505 }
506
507 func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
508         if m != nil {
509                 return m.SorrowLikelihood
510         }
511         return Likelihood_UNKNOWN
512 }
513
514 func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
515         if m != nil {
516                 return m.AngerLikelihood
517         }
518         return Likelihood_UNKNOWN
519 }
520
521 func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
522         if m != nil {
523                 return m.SurpriseLikelihood
524         }
525         return Likelihood_UNKNOWN
526 }
527
528 func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
529         if m != nil {
530                 return m.UnderExposedLikelihood
531         }
532         return Likelihood_UNKNOWN
533 }
534
535 func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
536         if m != nil {
537                 return m.BlurredLikelihood
538         }
539         return Likelihood_UNKNOWN
540 }
541
542 func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
543         if m != nil {
544                 return m.HeadwearLikelihood
545         }
546         return Likelihood_UNKNOWN
547 }
548
549 // A face-specific landmark (for example, a face feature).
550 // Landmark positions may fall outside the bounds of the image
551 // if the face is near one or more edges of the image.
552 // Therefore it is NOT guaranteed that `0 <= x < width` or
553 // `0 <= y < height`.
554 type FaceAnnotation_Landmark struct {
555         // Face landmark type.
556         Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,enum=google.cloud.vision.v1.FaceAnnotation_Landmark_Type" json:"type,omitempty"`
557         // Face landmark position.
558         Position *Position `protobuf:"bytes,4,opt,name=position" json:"position,omitempty"`
559 }
560
561 func (m *FaceAnnotation_Landmark) Reset()                    { *m = FaceAnnotation_Landmark{} }
562 func (m *FaceAnnotation_Landmark) String() string            { return proto.CompactTextString(m) }
563 func (*FaceAnnotation_Landmark) ProtoMessage()               {}
564 func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
565
566 func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
567         if m != nil {
568                 return m.Type
569         }
570         return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
571 }
572
573 func (m *FaceAnnotation_Landmark) GetPosition() *Position {
574         if m != nil {
575                 return m.Position
576         }
577         return nil
578 }
579
580 // Detected entity location information.
581 type LocationInfo struct {
582         // lat/long location coordinates.
583         LatLng *google_type1.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng" json:"lat_lng,omitempty"`
584 }
585
586 func (m *LocationInfo) Reset()                    { *m = LocationInfo{} }
587 func (m *LocationInfo) String() string            { return proto.CompactTextString(m) }
588 func (*LocationInfo) ProtoMessage()               {}
589 func (*LocationInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
590
591 func (m *LocationInfo) GetLatLng() *google_type1.LatLng {
592         if m != nil {
593                 return m.LatLng
594         }
595         return nil
596 }
597
598 // A `Property` consists of a user-supplied name/value pair.
599 type Property struct {
600         // Name of the property.
601         Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
602         // Value of the property.
603         Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
604 }
605
606 func (m *Property) Reset()                    { *m = Property{} }
607 func (m *Property) String() string            { return proto.CompactTextString(m) }
608 func (*Property) ProtoMessage()               {}
609 func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
610
611 func (m *Property) GetName() string {
612         if m != nil {
613                 return m.Name
614         }
615         return ""
616 }
617
618 func (m *Property) GetValue() string {
619         if m != nil {
620                 return m.Value
621         }
622         return ""
623 }
624
625 // Set of detected entity features.
626 type EntityAnnotation struct {
627         // Opaque entity ID. Some IDs may be available in
628         // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).
629         Mid string `protobuf:"bytes,1,opt,name=mid" json:"mid,omitempty"`
630         // The language code for the locale in which the entity textual
631         // `description` is expressed.
632         Locale string `protobuf:"bytes,2,opt,name=locale" json:"locale,omitempty"`
633         // Entity textual description, expressed in its `locale` language.
634         Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
635         // Overall score of the result. Range [0, 1].
636         Score float32 `protobuf:"fixed32,4,opt,name=score" json:"score,omitempty"`
637         // The accuracy of the entity detection in an image.
638         // For example, for an image in which the "Eiffel Tower" entity is detected,
639         // this field represents the confidence that there is a tower in the query
640         // image. Range [0, 1].
641         Confidence float32 `protobuf:"fixed32,5,opt,name=confidence" json:"confidence,omitempty"`
642         // The relevancy of the ICA (Image Content Annotation) label to the
643         // image. For example, the relevancy of "tower" is likely higher to an image
644         // containing the detected "Eiffel Tower" than to an image containing a
645         // detected distant towering building, even though the confidence that
646         // there is a tower in each image may be the same. Range [0, 1].
647         Topicality float32 `protobuf:"fixed32,6,opt,name=topicality" json:"topicality,omitempty"`
648         // Image region to which this entity belongs. Currently not produced
649         // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
650         // are produced for the entire text detected in an image region, followed by
651         // `boundingPoly`s for each word within the detected text.
652         BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"`
653         // The location information for the detected entity. Multiple
654         // `LocationInfo` elements can be present because one location may
655         // indicate the location of the scene in the image, and another location
656         // may indicate the location of the place where the image was taken.
657         // Location information is usually present for landmarks.
658         Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations" json:"locations,omitempty"`
659         // Some entities may have optional user-supplied `Property` (name/value)
660         // fields, such a score or string that qualifies the entity.
661         Properties []*Property `protobuf:"bytes,9,rep,name=properties" json:"properties,omitempty"`
662 }
663
664 func (m *EntityAnnotation) Reset()                    { *m = EntityAnnotation{} }
665 func (m *EntityAnnotation) String() string            { return proto.CompactTextString(m) }
666 func (*EntityAnnotation) ProtoMessage()               {}
667 func (*EntityAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
668
669 func (m *EntityAnnotation) GetMid() string {
670         if m != nil {
671                 return m.Mid
672         }
673         return ""
674 }
675
676 func (m *EntityAnnotation) GetLocale() string {
677         if m != nil {
678                 return m.Locale
679         }
680         return ""
681 }
682
683 func (m *EntityAnnotation) GetDescription() string {
684         if m != nil {
685                 return m.Description
686         }
687         return ""
688 }
689
690 func (m *EntityAnnotation) GetScore() float32 {
691         if m != nil {
692                 return m.Score
693         }
694         return 0
695 }
696
697 func (m *EntityAnnotation) GetConfidence() float32 {
698         if m != nil {
699                 return m.Confidence
700         }
701         return 0
702 }
703
704 func (m *EntityAnnotation) GetTopicality() float32 {
705         if m != nil {
706                 return m.Topicality
707         }
708         return 0
709 }
710
711 func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
712         if m != nil {
713                 return m.BoundingPoly
714         }
715         return nil
716 }
717
718 func (m *EntityAnnotation) GetLocations() []*LocationInfo {
719         if m != nil {
720                 return m.Locations
721         }
722         return nil
723 }
724
725 func (m *EntityAnnotation) GetProperties() []*Property {
726         if m != nil {
727                 return m.Properties
728         }
729         return nil
730 }
731
732 // Set of features pertaining to the image, computed by computer vision
733 // methods over safe-search verticals (for example, adult, spoof, medical,
734 // violence).
735 type SafeSearchAnnotation struct {
736         // Represents the adult content likelihood for the image.
737         Adult Likelihood `protobuf:"varint,1,opt,name=adult,enum=google.cloud.vision.v1.Likelihood" json:"adult,omitempty"`
738         // Spoof likelihood. The likelihood that an modification
739         // was made to the image's canonical version to make it appear
740         // funny or offensive.
741         Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,enum=google.cloud.vision.v1.Likelihood" json:"spoof,omitempty"`
742         // Likelihood that this is a medical image.
743         Medical Likelihood `protobuf:"varint,3,opt,name=medical,enum=google.cloud.vision.v1.Likelihood" json:"medical,omitempty"`
744         // Violence likelihood.
745         Violence Likelihood `protobuf:"varint,4,opt,name=violence,enum=google.cloud.vision.v1.Likelihood" json:"violence,omitempty"`
746 }
747
748 func (m *SafeSearchAnnotation) Reset()                    { *m = SafeSearchAnnotation{} }
749 func (m *SafeSearchAnnotation) String() string            { return proto.CompactTextString(m) }
750 func (*SafeSearchAnnotation) ProtoMessage()               {}
751 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
752
753 func (m *SafeSearchAnnotation) GetAdult() Likelihood {
754         if m != nil {
755                 return m.Adult
756         }
757         return Likelihood_UNKNOWN
758 }
759
760 func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
761         if m != nil {
762                 return m.Spoof
763         }
764         return Likelihood_UNKNOWN
765 }
766
767 func (m *SafeSearchAnnotation) GetMedical() Likelihood {
768         if m != nil {
769                 return m.Medical
770         }
771         return Likelihood_UNKNOWN
772 }
773
774 func (m *SafeSearchAnnotation) GetViolence() Likelihood {
775         if m != nil {
776                 return m.Violence
777         }
778         return Likelihood_UNKNOWN
779 }
780
781 // Rectangle determined by min and max `LatLng` pairs.
782 type LatLongRect struct {
783         // Min lat/long pair.
784         MinLatLng *google_type1.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng" json:"min_lat_lng,omitempty"`
785         // Max lat/long pair.
786         MaxLatLng *google_type1.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng" json:"max_lat_lng,omitempty"`
787 }
788
789 func (m *LatLongRect) Reset()                    { *m = LatLongRect{} }
790 func (m *LatLongRect) String() string            { return proto.CompactTextString(m) }
791 func (*LatLongRect) ProtoMessage()               {}
792 func (*LatLongRect) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
793
794 func (m *LatLongRect) GetMinLatLng() *google_type1.LatLng {
795         if m != nil {
796                 return m.MinLatLng
797         }
798         return nil
799 }
800
801 func (m *LatLongRect) GetMaxLatLng() *google_type1.LatLng {
802         if m != nil {
803                 return m.MaxLatLng
804         }
805         return nil
806 }
807
808 // Color information consists of RGB channels, score, and the fraction of
809 // the image that the color occupies in the image.
810 type ColorInfo struct {
811         // RGB components of the color.
812         Color *google_type.Color `protobuf:"bytes,1,opt,name=color" json:"color,omitempty"`
813         // Image-specific score for this color. Value in range [0, 1].
814         Score float32 `protobuf:"fixed32,2,opt,name=score" json:"score,omitempty"`
815         // The fraction of pixels the color occupies in the image.
816         // Value in range [0, 1].
817         PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction" json:"pixel_fraction,omitempty"`
818 }
819
820 func (m *ColorInfo) Reset()                    { *m = ColorInfo{} }
821 func (m *ColorInfo) String() string            { return proto.CompactTextString(m) }
822 func (*ColorInfo) ProtoMessage()               {}
823 func (*ColorInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
824
825 func (m *ColorInfo) GetColor() *google_type.Color {
826         if m != nil {
827                 return m.Color
828         }
829         return nil
830 }
831
832 func (m *ColorInfo) GetScore() float32 {
833         if m != nil {
834                 return m.Score
835         }
836         return 0
837 }
838
839 func (m *ColorInfo) GetPixelFraction() float32 {
840         if m != nil {
841                 return m.PixelFraction
842         }
843         return 0
844 }
845
846 // Set of dominant colors and their corresponding scores.
847 type DominantColorsAnnotation struct {
848         // RGB color values with their score and pixel fraction.
849         Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors" json:"colors,omitempty"`
850 }
851
852 func (m *DominantColorsAnnotation) Reset()                    { *m = DominantColorsAnnotation{} }
853 func (m *DominantColorsAnnotation) String() string            { return proto.CompactTextString(m) }
854 func (*DominantColorsAnnotation) ProtoMessage()               {}
855 func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
856
857 func (m *DominantColorsAnnotation) GetColors() []*ColorInfo {
858         if m != nil {
859                 return m.Colors
860         }
861         return nil
862 }
863
864 // Stores image properties, such as dominant colors.
865 type ImageProperties struct {
866         // If present, dominant colors completed successfully.
867         DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors" json:"dominant_colors,omitempty"`
868 }
869
870 func (m *ImageProperties) Reset()                    { *m = ImageProperties{} }
871 func (m *ImageProperties) String() string            { return proto.CompactTextString(m) }
872 func (*ImageProperties) ProtoMessage()               {}
873 func (*ImageProperties) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
874
875 func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation {
876         if m != nil {
877                 return m.DominantColors
878         }
879         return nil
880 }
881
882 // Single crop hint that is used to generate a new crop when serving an image.
883 type CropHint struct {
884         // The bounding polygon for the crop region. The coordinates of the bounding
885         // box are in the original image's scale, as returned in `ImageParams`.
886         BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"`
887         // Confidence of this being a salient region.  Range [0, 1].
888         Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"`
889         // Fraction of importance of this salient region with respect to the original
890         // image.
891         ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction" json:"importance_fraction,omitempty"`
892 }
893
894 func (m *CropHint) Reset()                    { *m = CropHint{} }
895 func (m *CropHint) String() string            { return proto.CompactTextString(m) }
896 func (*CropHint) ProtoMessage()               {}
897 func (*CropHint) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
898
899 func (m *CropHint) GetBoundingPoly() *BoundingPoly {
900         if m != nil {
901                 return m.BoundingPoly
902         }
903         return nil
904 }
905
906 func (m *CropHint) GetConfidence() float32 {
907         if m != nil {
908                 return m.Confidence
909         }
910         return 0
911 }
912
913 func (m *CropHint) GetImportanceFraction() float32 {
914         if m != nil {
915                 return m.ImportanceFraction
916         }
917         return 0
918 }
919
920 // Set of crop hints that are used to generate new crops when serving images.
921 type CropHintsAnnotation struct {
922         CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints" json:"crop_hints,omitempty"`
923 }
924
925 func (m *CropHintsAnnotation) Reset()                    { *m = CropHintsAnnotation{} }
926 func (m *CropHintsAnnotation) String() string            { return proto.CompactTextString(m) }
927 func (*CropHintsAnnotation) ProtoMessage()               {}
928 func (*CropHintsAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
929
930 func (m *CropHintsAnnotation) GetCropHints() []*CropHint {
931         if m != nil {
932                 return m.CropHints
933         }
934         return nil
935 }
936
937 // Parameters for crop hints annotation request.
938 type CropHintsParams struct {
939         // Aspect ratios in floats, representing the ratio of the width to the height
940         // of the image. For example, if the desired aspect ratio is 4/3, the
941         // corresponding float value should be 1.33333.  If not specified, the
942         // best possible crop is returned. The number of provided aspect ratios is
943         // limited to a maximum of 16; any aspect ratios provided after the 16th are
944         // ignored.
945         AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios" json:"aspect_ratios,omitempty"`
946 }
947
948 func (m *CropHintsParams) Reset()                    { *m = CropHintsParams{} }
949 func (m *CropHintsParams) String() string            { return proto.CompactTextString(m) }
950 func (*CropHintsParams) ProtoMessage()               {}
951 func (*CropHintsParams) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
952
953 func (m *CropHintsParams) GetAspectRatios() []float32 {
954         if m != nil {
955                 return m.AspectRatios
956         }
957         return nil
958 }
959
960 // Image context and/or feature-specific parameters.
961 type ImageContext struct {
962         // lat/long rectangle that specifies the location of the image.
963         LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect" json:"lat_long_rect,omitempty"`
964         // List of languages to use for TEXT_DETECTION. In most cases, an empty value
965         // yields the best results since it enables automatic language detection. For
966         // languages based on the Latin alphabet, setting `language_hints` is not
967         // needed. In rare cases, when the language of the text in the image is known,
968         // setting a hint will help get better results (although it will be a
969         // significant hindrance if the hint is wrong). Text detection returns an
970         // error if one or more of the specified languages is not one of the
971         // [supported languages](/vision/docs/languages).
972         LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints" json:"language_hints,omitempty"`
973         // Parameters for crop hints annotation request.
974         CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams" json:"crop_hints_params,omitempty"`
975 }
976
977 func (m *ImageContext) Reset()                    { *m = ImageContext{} }
978 func (m *ImageContext) String() string            { return proto.CompactTextString(m) }
979 func (*ImageContext) ProtoMessage()               {}
980 func (*ImageContext) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
981
982 func (m *ImageContext) GetLatLongRect() *LatLongRect {
983         if m != nil {
984                 return m.LatLongRect
985         }
986         return nil
987 }
988
989 func (m *ImageContext) GetLanguageHints() []string {
990         if m != nil {
991                 return m.LanguageHints
992         }
993         return nil
994 }
995
996 func (m *ImageContext) GetCropHintsParams() *CropHintsParams {
997         if m != nil {
998                 return m.CropHintsParams
999         }
1000         return nil
1001 }
1002
1003 // Request for performing Google Cloud Vision API tasks over a user-provided
1004 // image, with user-requested features.
1005 type AnnotateImageRequest struct {
1006         // The image to be processed.
1007         Image *Image `protobuf:"bytes,1,opt,name=image" json:"image,omitempty"`
1008         // Requested features.
1009         Features []*Feature `protobuf:"bytes,2,rep,name=features" json:"features,omitempty"`
1010         // Additional context that may accompany the image.
1011         ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext" json:"image_context,omitempty"`
1012 }
1013
1014 func (m *AnnotateImageRequest) Reset()                    { *m = AnnotateImageRequest{} }
1015 func (m *AnnotateImageRequest) String() string            { return proto.CompactTextString(m) }
1016 func (*AnnotateImageRequest) ProtoMessage()               {}
1017 func (*AnnotateImageRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
1018
1019 func (m *AnnotateImageRequest) GetImage() *Image {
1020         if m != nil {
1021                 return m.Image
1022         }
1023         return nil
1024 }
1025
1026 func (m *AnnotateImageRequest) GetFeatures() []*Feature {
1027         if m != nil {
1028                 return m.Features
1029         }
1030         return nil
1031 }
1032
1033 func (m *AnnotateImageRequest) GetImageContext() *ImageContext {
1034         if m != nil {
1035                 return m.ImageContext
1036         }
1037         return nil
1038 }
1039
1040 // Response to an image annotation request.
1041 type AnnotateImageResponse struct {
1042         // If present, face detection has completed successfully.
1043         FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations" json:"face_annotations,omitempty"`
1044         // If present, landmark detection has completed successfully.
1045         LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations" json:"landmark_annotations,omitempty"`
1046         // If present, logo detection has completed successfully.
1047         LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations" json:"logo_annotations,omitempty"`
1048         // If present, label detection has completed successfully.
1049         LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations" json:"label_annotations,omitempty"`
1050         // If present, text (OCR) detection or document (OCR) text detection has
1051         // completed successfully.
1052         TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations" json:"text_annotations,omitempty"`
1053         // If present, text (OCR) detection or document (OCR) text detection has
1054         // completed successfully.
1055         // This annotation provides the structural hierarchy for the OCR detected
1056         // text.
1057         FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation" json:"full_text_annotation,omitempty"`
1058         // If present, safe-search annotation has completed successfully.
1059         SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation" json:"safe_search_annotation,omitempty"`
1060         // If present, image properties were extracted successfully.
1061         ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation" json:"image_properties_annotation,omitempty"`
1062         // If present, crop hints have completed successfully.
1063         CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation" json:"crop_hints_annotation,omitempty"`
1064         // If present, web detection has completed successfully.
1065         WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection" json:"web_detection,omitempty"`
1066         // If set, represents the error message for the operation.
1067         // Note that filled-in image annotations are guaranteed to be
1068         // correct, even when `error` is set.
1069         Error *google_rpc.Status `protobuf:"bytes,9,opt,name=error" json:"error,omitempty"`
1070 }
1071
1072 func (m *AnnotateImageResponse) Reset()                    { *m = AnnotateImageResponse{} }
1073 func (m *AnnotateImageResponse) String() string            { return proto.CompactTextString(m) }
1074 func (*AnnotateImageResponse) ProtoMessage()               {}
1075 func (*AnnotateImageResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
1076
1077 func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation {
1078         if m != nil {
1079                 return m.FaceAnnotations
1080         }
1081         return nil
1082 }
1083
1084 func (m *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation {
1085         if m != nil {
1086                 return m.LandmarkAnnotations
1087         }
1088         return nil
1089 }
1090
1091 func (m *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation {
1092         if m != nil {
1093                 return m.LogoAnnotations
1094         }
1095         return nil
1096 }
1097
1098 func (m *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation {
1099         if m != nil {
1100                 return m.LabelAnnotations
1101         }
1102         return nil
1103 }
1104
1105 func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation {
1106         if m != nil {
1107                 return m.TextAnnotations
1108         }
1109         return nil
1110 }
1111
1112 func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation {
1113         if m != nil {
1114                 return m.FullTextAnnotation
1115         }
1116         return nil
1117 }
1118
1119 func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation {
1120         if m != nil {
1121                 return m.SafeSearchAnnotation
1122         }
1123         return nil
1124 }
1125
1126 func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties {
1127         if m != nil {
1128                 return m.ImagePropertiesAnnotation
1129         }
1130         return nil
1131 }
1132
1133 func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation {
1134         if m != nil {
1135                 return m.CropHintsAnnotation
1136         }
1137         return nil
1138 }
1139
1140 func (m *AnnotateImageResponse) GetWebDetection() *WebDetection {
1141         if m != nil {
1142                 return m.WebDetection
1143         }
1144         return nil
1145 }
1146
1147 func (m *AnnotateImageResponse) GetError() *google_rpc.Status {
1148         if m != nil {
1149                 return m.Error
1150         }
1151         return nil
1152 }
1153
1154 // Multiple image annotation requests are batched into a single service call.
1155 type BatchAnnotateImagesRequest struct {
1156         // Individual image annotation requests for this batch.
1157         Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests" json:"requests,omitempty"`
1158 }
1159
1160 func (m *BatchAnnotateImagesRequest) Reset()                    { *m = BatchAnnotateImagesRequest{} }
1161 func (m *BatchAnnotateImagesRequest) String() string            { return proto.CompactTextString(m) }
1162 func (*BatchAnnotateImagesRequest) ProtoMessage()               {}
1163 func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
1164
1165 func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest {
1166         if m != nil {
1167                 return m.Requests
1168         }
1169         return nil
1170 }
1171
1172 // Response to a batch image annotation request.
1173 type BatchAnnotateImagesResponse struct {
1174         // Individual responses to image annotation requests within the batch.
1175         Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses" json:"responses,omitempty"`
1176 }
1177
1178 func (m *BatchAnnotateImagesResponse) Reset()                    { *m = BatchAnnotateImagesResponse{} }
1179 func (m *BatchAnnotateImagesResponse) String() string            { return proto.CompactTextString(m) }
1180 func (*BatchAnnotateImagesResponse) ProtoMessage()               {}
1181 func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
1182
1183 func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse {
1184         if m != nil {
1185                 return m.Responses
1186         }
1187         return nil
1188 }
1189
1190 func init() {
1191         proto.RegisterType((*Feature)(nil), "google.cloud.vision.v1.Feature")
1192         proto.RegisterType((*ImageSource)(nil), "google.cloud.vision.v1.ImageSource")
1193         proto.RegisterType((*Image)(nil), "google.cloud.vision.v1.Image")
1194         proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.vision.v1.FaceAnnotation")
1195         proto.RegisterType((*FaceAnnotation_Landmark)(nil), "google.cloud.vision.v1.FaceAnnotation.Landmark")
1196         proto.RegisterType((*LocationInfo)(nil), "google.cloud.vision.v1.LocationInfo")
1197         proto.RegisterType((*Property)(nil), "google.cloud.vision.v1.Property")
1198         proto.RegisterType((*EntityAnnotation)(nil), "google.cloud.vision.v1.EntityAnnotation")
1199         proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.vision.v1.SafeSearchAnnotation")
1200         proto.RegisterType((*LatLongRect)(nil), "google.cloud.vision.v1.LatLongRect")
1201         proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1.ColorInfo")
1202         proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1.DominantColorsAnnotation")
1203         proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1.ImageProperties")
1204         proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1.CropHint")
1205         proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1.CropHintsAnnotation")
1206         proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1.CropHintsParams")
1207         proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1.ImageContext")
1208         proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1.AnnotateImageRequest")
1209         proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1.AnnotateImageResponse")
1210         proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1.BatchAnnotateImagesRequest")
1211         proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1.BatchAnnotateImagesResponse")
1212         proto.RegisterEnum("google.cloud.vision.v1.Likelihood", Likelihood_name, Likelihood_value)
1213         proto.RegisterEnum("google.cloud.vision.v1.Feature_Type", Feature_Type_name, Feature_Type_value)
1214         proto.RegisterEnum("google.cloud.vision.v1.FaceAnnotation_Landmark_Type", FaceAnnotation_Landmark_Type_name, FaceAnnotation_Landmark_Type_value)
1215 }
1216
1217 // Reference imports to suppress errors if they are not otherwise used.
1218 var _ context.Context
1219 var _ grpc.ClientConn
1220
1221 // This is a compile-time assertion to ensure that this generated file
1222 // is compatible with the grpc package it is being compiled against.
1223 const _ = grpc.SupportPackageIsVersion4
1224
1225 // Client API for ImageAnnotator service
1226
1227 type ImageAnnotatorClient interface {
1228         // Run image detection and annotation for a batch of images.
1229         BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error)
1230 }
1231
1232 type imageAnnotatorClient struct {
1233         cc *grpc.ClientConn
1234 }
1235
1236 func NewImageAnnotatorClient(cc *grpc.ClientConn) ImageAnnotatorClient {
1237         return &imageAnnotatorClient{cc}
1238 }
1239
1240 func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) {
1241         out := new(BatchAnnotateImagesResponse)
1242         err := grpc.Invoke(ctx, "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages", in, out, c.cc, opts...)
1243         if err != nil {
1244                 return nil, err
1245         }
1246         return out, nil
1247 }
1248
1249 // Server API for ImageAnnotator service
1250
1251 type ImageAnnotatorServer interface {
1252         // Run image detection and annotation for a batch of images.
1253         BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error)
1254 }
1255
1256 func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) {
1257         s.RegisterService(&_ImageAnnotator_serviceDesc, srv)
1258 }
1259
1260 func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1261         in := new(BatchAnnotateImagesRequest)
1262         if err := dec(in); err != nil {
1263                 return nil, err
1264         }
1265         if interceptor == nil {
1266                 return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in)
1267         }
1268         info := &grpc.UnaryServerInfo{
1269                 Server:     srv,
1270                 FullMethod: "/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages",
1271         }
1272         handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1273                 return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest))
1274         }
1275         return interceptor(ctx, in, info, handler)
1276 }
1277
1278 var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
1279         ServiceName: "google.cloud.vision.v1.ImageAnnotator",
1280         HandlerType: (*ImageAnnotatorServer)(nil),
1281         Methods: []grpc.MethodDesc{
1282                 {
1283                         MethodName: "BatchAnnotateImages",
1284                         Handler:    _ImageAnnotator_BatchAnnotateImages_Handler,
1285                 },
1286         },
1287         Streams:  []grpc.StreamDesc{},
1288         Metadata: "google/cloud/vision/v1/image_annotator.proto",
1289 }
1290
1291 func init() { proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor1) }
1292
1293 var fileDescriptor1 = []byte{
1294         // 2281 bytes of a gzipped FileDescriptorProto
1295         0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0x4b, 0x73, 0x23, 0x49,
1296         0xf1, 0x5f, 0xc9, 0x2f, 0x29, 0xf5, 0x6a, 0x97, 0x1f, 0xa3, 0xb1, 0xe7, 0xe1, 0xed, 0xfd, 0xcf,
1297         0x1f, 0xc7, 0x30, 0xd8, 0x8c, 0x67, 0x21, 0x96, 0x9d, 0x09, 0x40, 0x92, 0xdb, 0xb6, 0x62, 0x64,
1298         0x49, 0x5b, 0x92, 0xd7, 0x6b, 0x20, 0xe8, 0x68, 0xb7, 0x4a, 0x9a, 0x9e, 0x6d, 0x75, 0x35, 0xdd,
1299         0xad, 0x19, 0xfb, 0x4a, 0x04, 0x11, 0xdc, 0xb9, 0x73, 0xe4, 0x4e, 0x04, 0x5f, 0x81, 0x03, 0x47,
1300         0x62, 0xcf, 0xdc, 0xf8, 0x0c, 0x04, 0x47, 0xa2, 0x1e, 0xdd, 0x2a, 0x69, 0x2c, 0x8f, 0x4c, 0x70,
1301         0x52, 0x57, 0x66, 0xfe, 0x7e, 0x59, 0x95, 0x55, 0x59, 0x59, 0x55, 0x82, 0x67, 0x03, 0x4a, 0x07,
1302         0x2e, 0xd9, 0xb7, 0x5d, 0x3a, 0xea, 0xed, 0xbf, 0x73, 0x42, 0x87, 0x7a, 0xfb, 0xef, 0x9e, 0xef,
1303         0x3b, 0x43, 0x6b, 0x40, 0x4c, 0xcb, 0xf3, 0x68, 0x64, 0x45, 0x34, 0xd8, 0xf3, 0x03, 0x1a, 0x51,
1304         0xb4, 0x29, 0xac, 0xf7, 0xb8, 0xf5, 0x9e, 0xb0, 0xde, 0x7b, 0xf7, 0x7c, 0xeb, 0x81, 0x64, 0xb1,
1305         0x7c, 0x67, 0x5f, 0x62, 0x1c, 0xea, 0x85, 0x02, 0xb5, 0xf5, 0x64, 0x86, 0x8f, 0x01, 0xa1, 0x43,
1306         0x12, 0x05, 0xd7, 0xd2, 0x6c, 0x56, 0x57, 0x22, 0x72, 0x15, 0x99, 0x63, 0x56, 0x69, 0xfd, 0x74,
1307         0x86, 0xf5, 0x7b, 0x72, 0x69, 0xf6, 0x48, 0x44, 0x6c, 0xc5, 0xf6, 0x9e, 0xb4, 0x0d, 0x7c, 0x7b,
1308         0x3f, 0x8c, 0xac, 0x68, 0x14, 0x4e, 0x29, 0xa2, 0x6b, 0x9f, 0xec, 0xdb, 0xd4, 0x8d, 0x07, 0xba,
1309         0x55, 0x56, 0x15, 0xae, 0x15, 0xb9, 0xde, 0x40, 0x68, 0xf4, 0x7f, 0xa4, 0x61, 0xe5, 0x88, 0x58,
1310         0xd1, 0x28, 0x20, 0xe8, 0x0b, 0x58, 0x64, 0x06, 0xe5, 0xd4, 0x4e, 0x6a, 0xb7, 0x78, 0xf0, 0x7f,
1311         0x7b, 0x37, 0x47, 0x67, 0x4f, 0x9a, 0xef, 0x75, 0xaf, 0x7d, 0x82, 0x39, 0x02, 0x3d, 0x86, 0xdc,
1312         0xd0, 0xba, 0x32, 0x03, 0x12, 0x8e, 0xdc, 0x28, 0x2c, 0xa7, 0x77, 0x52, 0xbb, 0x4b, 0x18, 0x86,
1313         0xd6, 0x15, 0x16, 0x12, 0xfd, 0x5f, 0x29, 0x58, 0x64, 0xf6, 0x68, 0x1d, 0xb4, 0xee, 0x45, 0xdb,
1314         0x30, 0xcf, 0x9a, 0x9d, 0xb6, 0x51, 0xab, 0x1f, 0xd5, 0x8d, 0x43, 0xed, 0x13, 0x84, 0xa0, 0x78,
1315         0x54, 0xa9, 0x19, 0xe6, 0xa1, 0xd1, 0x35, 0x6a, 0xdd, 0x7a, 0xab, 0xa9, 0xa5, 0xd0, 0x26, 0xa0,
1316         0x46, 0xa5, 0x79, 0x78, 0x5a, 0xc1, 0xaf, 0x15, 0x79, 0x9a, 0xd9, 0x36, 0x5a, 0xc7, 0x2d, 0x45,
1317         0xb6, 0x80, 0xd6, 0xa0, 0xd4, 0xa8, 0x54, 0x8d, 0x86, 0x22, 0x5c, 0x64, 0x86, 0x5d, 0xe3, 0x9b,
1318         0xae, 0x22, 0x5b, 0x42, 0xdb, 0x70, 0xef, 0xb0, 0x55, 0x3b, 0x3b, 0x35, 0x9a, 0x5d, 0x73, 0x4a,
1319         0x99, 0x43, 0xf7, 0x61, 0xa3, 0x53, 0x39, 0x32, 0xcc, 0x8e, 0x51, 0xc1, 0xb5, 0x13, 0x45, 0xb5,
1320         0xcc, 0xba, 0x5d, 0x3f, 0xad, 0x1c, 0x1b, 0x66, 0x1b, 0xb7, 0xda, 0x06, 0xee, 0xd6, 0x8d, 0x8e,
1321         0xb6, 0x82, 0x8a, 0x00, 0x35, 0xdc, 0x6a, 0x9b, 0x27, 0xf5, 0x66, 0xb7, 0xa3, 0x65, 0xd1, 0x2a,
1322         0x14, 0xce, 0x8d, 0xaa, 0x02, 0x04, 0xbd, 0x09, 0xb9, 0x3a, 0x5b, 0x7b, 0x1d, 0x3a, 0x0a, 0x6c,
1323         0x82, 0x74, 0x28, 0x0c, 0xec, 0xd0, 0x14, 0xcb, 0x71, 0x14, 0x38, 0x3c, 0xd6, 0x59, 0x9c, 0x1b,
1324         0xd8, 0x21, 0x37, 0x3b, 0x0b, 0x1c, 0xb4, 0x0d, 0xd9, 0xb1, 0x3e, 0xcd, 0xf5, 0x19, 0x47, 0x2a,
1325         0xf5, 0x5f, 0xc3, 0x12, 0x37, 0x44, 0x65, 0x58, 0xb1, 0xa9, 0x17, 0x11, 0x2f, 0xe2, 0x1c, 0x79,
1326         0x1c, 0x37, 0xd1, 0x4b, 0x58, 0x0e, 0xb9, 0x37, 0x0e, 0xce, 0x1d, 0x7c, 0x36, 0x6b, 0x22, 0x95,
1327         0x8e, 0x61, 0x09, 0xd1, 0xff, 0x5e, 0x82, 0xe2, 0x91, 0x65, 0x93, 0x4a, 0xb2, 0x40, 0x51, 0x1d,
1328         0x0a, 0x97, 0x74, 0xe4, 0xf5, 0x1c, 0x6f, 0x60, 0xfa, 0xd4, 0xbd, 0xe6, 0xfe, 0x72, 0xb3, 0xd7,
1329         0x47, 0x55, 0x1a, 0xb7, 0xa9, 0x7b, 0x8d, 0xf3, 0x97, 0x4a, 0x0b, 0x35, 0x41, 0xeb, 0xf7, 0xcc,
1330         0x49, 0xb6, 0xf4, 0x1d, 0xd8, 0x8a, 0xfd, 0x9e, 0xda, 0x46, 0xa7, 0x90, 0x75, 0x2d, 0xaf, 0x37,
1331         0xb4, 0x82, 0x6f, 0xc3, 0xf2, 0xc2, 0xce, 0xc2, 0x6e, 0xee, 0x60, 0x7f, 0xe6, 0xb2, 0x9d, 0x18,
1332         0xd5, 0x5e, 0x43, 0xe2, 0xf0, 0x98, 0x01, 0x3d, 0x04, 0x08, 0xa8, 0xeb, 0x9a, 0x96, 0x37, 0x70,
1333         0x49, 0x79, 0x71, 0x27, 0xb5, 0x9b, 0xc6, 0x59, 0x26, 0xa9, 0x30, 0x01, 0x9b, 0x18, 0xdf, 0xf2,
1334         0xa4, 0x76, 0x89, 0x6b, 0x33, 0xbe, 0xe5, 0x09, 0xe5, 0x43, 0x80, 0xc8, 0x71, 0x23, 0xa9, 0x5d,
1335         0x16, 0x58, 0x26, 0x11, 0xea, 0xe7, 0xb0, 0x9e, 0xa4, 0xb1, 0x69, 0x53, 0xaf, 0xef, 0xf4, 0x88,
1336         0x67, 0x93, 0xf2, 0x0a, 0x37, 0x5c, 0x4b, 0x74, 0xb5, 0x44, 0x85, 0x7e, 0x04, 0x9b, 0x71, 0xd7,
1337         0x58, 0xb0, 0x14, 0x50, 0x86, 0x83, 0x36, 0x14, 0xad, 0x02, 0xab, 0x43, 0xf1, 0x2d, 0xbd, 0x36,
1338         0x5d, 0xe7, 0x5b, 0xe2, 0x3a, 0x6f, 0x28, 0xed, 0x95, 0xb3, 0x3c, 0x9f, 0xf5, 0x59, 0x81, 0x69,
1339         0x24, 0x96, 0xb8, 0xf0, 0x96, 0x5e, 0x8f, 0x9b, 0xa8, 0x05, 0xab, 0x21, 0x0d, 0x02, 0xfa, 0x5e,
1340         0x65, 0x83, 0xb9, 0xd9, 0x34, 0x01, 0x56, 0x08, 0x4f, 0x41, 0xb3, 0xbc, 0x01, 0x09, 0x54, 0xbe,
1341         0xdc, 0xdc, 0x7c, 0x25, 0x8e, 0x55, 0xe8, 0x3a, 0xb0, 0x16, 0x8e, 0x02, 0x3f, 0x70, 0x42, 0xa2,
1342         0x32, 0xe6, 0xe7, 0x66, 0x44, 0x31, 0x5c, 0x21, 0xfd, 0x15, 0x94, 0x47, 0x5e, 0x8f, 0x04, 0x26,
1343         0xb9, 0xf2, 0x69, 0x48, 0x7a, 0x2a, 0x73, 0x61, 0x6e, 0xe6, 0x4d, 0xce, 0x61, 0x08, 0x0a, 0x85,
1344         0xfd, 0x2b, 0x40, 0x97, 0xee, 0x28, 0x08, 0x26, 0x79, 0x8b, 0x73, 0xf3, 0xae, 0x4a, 0xf4, 0x64,
1345         0x14, 0xde, 0x10, 0xab, 0xf7, 0x9e, 0x58, 0x13, 0x71, 0x2d, 0xcd, 0x1f, 0x85, 0x18, 0x3e, 0x96,
1346         0x6d, 0xfd, 0x6d, 0x05, 0x32, 0x71, 0x8a, 0xa0, 0x13, 0x59, 0x18, 0x16, 0x38, 0xe5, 0xe7, 0x77,
1347         0xcc, 0x30, 0xb5, 0x50, 0xbc, 0x82, 0x8c, 0x4f, 0x43, 0x87, 0xe9, 0x79, 0x7e, 0xe5, 0x0e, 0x76,
1348         0x66, 0xb1, 0xb5, 0xa5, 0x1d, 0x4e, 0x10, 0xfa, 0x5f, 0x96, 0xc7, 0x55, 0xe4, 0xac, 0xf9, 0xba,
1349         0xd9, 0x3a, 0x6f, 0x9a, 0x71, 0x8d, 0xd0, 0x3e, 0x41, 0x79, 0xc8, 0x34, 0x8c, 0xa3, 0xae, 0x69,
1350         0x5c, 0x18, 0x5a, 0x0a, 0x15, 0x20, 0x8b, 0xeb, 0xc7, 0x27, 0xa2, 0x99, 0x46, 0x65, 0x58, 0xe7,
1351         0xca, 0xd6, 0x91, 0x19, 0x1b, 0x55, 0x71, 0xeb, 0x5c, 0x5b, 0x60, 0xdb, 0xbe, 0x30, 0x9c, 0x56,
1352         0x2d, 0x32, 0x55, 0x0c, 0x4a, 0xb8, 0xb8, 0x6a, 0x09, 0x6d, 0xc1, 0x66, 0x82, 0x9a, 0xd4, 0x2d,
1353         0x33, 0xd8, 0x69, 0xfd, 0xb0, 0xdd, 0xaa, 0x37, 0xbb, 0x66, 0xd5, 0xe8, 0x9e, 0x1b, 0x46, 0x93,
1354         0x69, 0x59, 0xc9, 0xc8, 0x43, 0xa6, 0xd9, 0xea, 0x18, 0x66, 0xb7, 0xde, 0xd6, 0x32, 0xac, 0x8f,
1355         0x67, 0xed, 0xb6, 0x81, 0xcd, 0x46, 0xbd, 0xad, 0x65, 0x59, 0xb3, 0xd1, 0x3a, 0x97, 0x4d, 0x60,
1356         0xe5, 0xe5, 0xb4, 0x75, 0xd6, 0x3d, 0xe1, 0xbd, 0xd2, 0x72, 0xa8, 0x04, 0x39, 0xd1, 0xe6, 0xfe,
1357         0xb4, 0x3c, 0xd2, 0x20, 0x2f, 0x04, 0x35, 0xa3, 0xd9, 0x35, 0xb0, 0x56, 0x40, 0x1b, 0xb0, 0xca,
1358         0xe9, 0xab, 0xad, 0x6e, 0xb7, 0x75, 0x2a, 0x0d, 0x8b, 0x2c, 0x5e, 0xaa, 0x98, 0xf3, 0x95, 0x58,
1359         0x85, 0x55, 0xa5, 0x92, 0x44, 0x4b, 0x46, 0x6d, 0x5c, 0x18, 0x66, 0xb7, 0xd5, 0x36, 0xab, 0xad,
1360         0xb3, 0xe6, 0x61, 0x05, 0x5f, 0x68, 0xab, 0x13, 0x2a, 0x31, 0xea, 0x5a, 0x0b, 0x37, 0x0d, 0xac,
1361         0x21, 0xf4, 0x00, 0xca, 0x89, 0x4a, 0x32, 0x26, 0xc0, 0xb5, 0x24, 0xfc, 0x4c, 0xcb, 0x3f, 0x24,
1362         0x6e, 0x7d, 0x1c, 0xc8, 0x0f, 0xdc, 0x6d, 0x4c, 0xea, 0x26, 0xfc, 0x6d, 0xa2, 0x87, 0x70, 0x7f,
1363         0xac, 0x9b, 0x76, 0x78, 0x6f, 0x3c, 0xab, 0xd3, 0x1e, 0xcb, 0xe8, 0x31, 0x6c, 0xab, 0xf3, 0x6c,
1364         0x8a, 0x29, 0x88, 0x67, 0x4c, 0xbb, 0x8f, 0x76, 0xe0, 0xc1, 0xc4, 0x94, 0x4e, 0x5b, 0x6c, 0xb1,
1365         0x80, 0x0a, 0x8a, 0x0a, 0x36, 0xbb, 0xb8, 0x72, 0xcc, 0x8a, 0xfd, 0x36, 0x8b, 0xbe, 0xc4, 0x29,
1366         0xe2, 0x07, 0xfc, 0xc4, 0x12, 0x8f, 0xbd, 0x7d, 0xd6, 0xae, 0x37, 0xb4, 0x87, 0xec, 0xc4, 0x32,
1367         0xee, 0x9e, 0x10, 0x3e, 0x62, 0xf8, 0xa3, 0x16, 0x36, 0x4e, 0x8c, 0xca, 0xa1, 0x79, 0xcc, 0x0f,
1368         0x34, 0x8d, 0x8a, 0xf6, 0x98, 0x1d, 0x2b, 0x6a, 0x27, 0xf5, 0xa6, 0x79, 0xdc, 0xac, 0x74, 0x4f,
1369         0x18, 0xe5, 0x0e, 0xf3, 0xcf, 0x45, 0x9c, 0xf7, 0xb8, 0xd5, 0x64, 0xd2, 0x4f, 0x19, 0x9e, 0x4b,
1370         0x05, 0xb3, 0x14, 0xeb, 0xfa, 0x2b, 0xc8, 0x37, 0xa8, 0xcd, 0x93, 0xb2, 0xee, 0xf5, 0x29, 0x7a,
1371         0x06, 0x2b, 0xae, 0x15, 0x99, 0xae, 0x37, 0x90, 0xa5, 0x7c, 0x2d, 0xce, 0x41, 0x96, 0xa3, 0x7b,
1372         0x0d, 0x2b, 0x6a, 0x78, 0x03, 0xbc, 0xec, 0xf2, 0x5f, 0xfd, 0x73, 0xc8, 0xb4, 0x03, 0xea, 0x93,
1373         0x20, 0xba, 0x46, 0x08, 0x16, 0x3d, 0x6b, 0x48, 0xe4, 0xa9, 0x85, 0x7f, 0xa3, 0x75, 0x58, 0x7a,
1374         0x67, 0xb9, 0x23, 0x22, 0x8f, 0x2a, 0xa2, 0xa1, 0xff, 0x6e, 0x01, 0x34, 0xc3, 0x8b, 0x9c, 0xe8,
1375         0x5a, 0x39, 0x49, 0x68, 0xb0, 0x30, 0x74, 0x7a, 0x12, 0xcd, 0x3e, 0xd1, 0x26, 0x2c, 0xbb, 0xd4,
1376         0xb6, 0xdc, 0x18, 0x2d, 0x5b, 0x68, 0x07, 0x72, 0x3d, 0x12, 0xda, 0x81, 0xe3, 0xf3, 0xad, 0x62,
1377         0x41, 0x9c, 0x92, 0x14, 0x11, 0x73, 0x1b, 0xda, 0x34, 0x88, 0xcb, 0xb4, 0x68, 0xa0, 0x47, 0x00,
1378         0x4a, 0x9d, 0x14, 0x35, 0x5a, 0x91, 0x30, 0x7d, 0x44, 0x7d, 0xc7, 0xb6, 0x5c, 0x27, 0xba, 0x96,
1379         0x55, 0x5a, 0x91, 0x7c, 0x78, 0xd6, 0x59, 0xf9, 0xaf, 0xcf, 0x3a, 0x55, 0xc8, 0xba, 0x32, 0xea,
1380         0x61, 0x39, 0xc3, 0xcf, 0x26, 0x33, 0x69, 0xd4, 0xe9, 0xc1, 0x63, 0x18, 0xfa, 0x39, 0x80, 0x2f,
1381         0x62, 0xef, 0x90, 0xb0, 0x9c, 0xe5, 0x24, 0xb3, 0x37, 0x4c, 0x39, 0x4b, 0x58, 0xc1, 0xe8, 0xbf,
1382         0x4f, 0xc3, 0x7a, 0xc7, 0xea, 0x93, 0x0e, 0xb1, 0x02, 0xfb, 0x8d, 0x32, 0x17, 0x5f, 0xc0, 0x92,
1383         0xd5, 0x1b, 0xb9, 0x91, 0x3c, 0xed, 0xcf, 0x53, 0x27, 0x04, 0x80, 0x21, 0x43, 0x9f, 0xd2, 0x3e,
1384         0x9f, 0xb2, 0x39, 0x91, 0x1c, 0x80, 0x5e, 0xc1, 0xca, 0x90, 0xf4, 0x58, 0xac, 0x65, 0x29, 0x99,
1385         0x07, 0x1b, 0x43, 0xd0, 0x4f, 0x21, 0xf3, 0xce, 0xa1, 0x2e, 0x9f, 0xd9, 0xc5, 0xb9, 0xe1, 0x09,
1386         0x46, 0x7f, 0x0f, 0x39, 0xb6, 0xb4, 0xa9, 0x37, 0xc0, 0xc4, 0x8e, 0xd0, 0x0b, 0xc8, 0x0d, 0x1d,
1387         0xcf, 0x9c, 0x23, 0x13, 0xb2, 0x43, 0xc7, 0x13, 0x9f, 0x1c, 0x64, 0x5d, 0x25, 0xa0, 0xf4, 0x6d,
1388         0x20, 0xeb, 0x4a, 0x7c, 0xea, 0x01, 0x64, 0x6b, 0xec, 0x32, 0xc6, 0x93, 0x6f, 0x17, 0x96, 0xf8,
1389         0xcd, 0x4c, 0x3a, 0x44, 0x13, 0x58, 0x6e, 0x86, 0x85, 0xc1, 0x78, 0x85, 0xa7, 0xd5, 0x15, 0xfe,
1390         0x04, 0x8a, 0xbe, 0x73, 0x45, 0x5c, 0xb3, 0x1f, 0x58, 0x76, 0x92, 0x1c, 0x69, 0x5c, 0xe0, 0xd2,
1391         0x23, 0x29, 0xd4, 0xcf, 0xa0, 0x7c, 0x48, 0x87, 0x8e, 0x67, 0x79, 0x11, 0x27, 0x0d, 0x95, 0xa9,
1392         0xff, 0x09, 0x2c, 0x73, 0x0f, 0x61, 0x39, 0xc5, 0x57, 0xd4, 0xa7, 0xb3, 0xc2, 0x98, 0xf4, 0x1a,
1393         0x4b, 0x80, 0xee, 0x42, 0x89, 0xdf, 0x1a, 0xda, 0xc9, 0x0a, 0x43, 0x17, 0x50, 0xea, 0x49, 0x4f,
1394         0x66, 0x42, 0xcb, 0x86, 0xf6, 0xc3, 0x59, 0xb4, 0xb3, 0x3a, 0x86, 0x8b, 0xbd, 0x09, 0x8d, 0xfe,
1395         0xa7, 0x14, 0x64, 0x6a, 0x01, 0xf5, 0x4f, 0x1c, 0x2f, 0xfa, 0x5f, 0x5e, 0x43, 0x26, 0x77, 0x89,
1396         0xf4, 0x07, 0xbb, 0xc4, 0x3e, 0xac, 0x39, 0x43, 0x9f, 0x06, 0x91, 0xe5, 0xd9, 0x64, 0x3a, 0xd0,
1397         0x68, 0xac, 0x4a, 0xa2, 0xfd, 0x35, 0xac, 0xc5, 0xfd, 0x54, 0x03, 0xfd, 0x33, 0x00, 0x3b, 0xa0,
1398         0xbe, 0xf9, 0x86, 0xc9, 0x65, 0xb0, 0x67, 0xa6, 0x6f, 0x4c, 0x80, 0xb3, 0x76, 0x4c, 0xa5, 0xff,
1399         0x18, 0x4a, 0x09, 0x6f, 0xdb, 0x0a, 0xac, 0x61, 0x88, 0x3e, 0x83, 0x82, 0x15, 0xfa, 0xc4, 0x8e,
1400         0xcc, 0x80, 0x39, 0x11, 0xb4, 0x69, 0x9c, 0x17, 0x42, 0xcc, 0x65, 0xfa, 0x77, 0x29, 0xc8, 0xf3,
1401         0x79, 0xaa, 0xb1, 0x3b, 0xe1, 0x55, 0x84, 0x8e, 0xa1, 0xc0, 0xd7, 0x2c, 0xf5, 0x06, 0x66, 0x40,
1402         0xec, 0x48, 0x06, 0x6f, 0xe6, 0xd5, 0x50, 0x49, 0x14, 0x9c, 0x73, 0x95, 0xac, 0x79, 0x02, 0x45,
1403         0xd7, 0xf2, 0x06, 0x23, 0x76, 0x3f, 0x15, 0xc3, 0x4a, 0xef, 0x2c, 0xec, 0x66, 0x71, 0x21, 0x96,
1404         0xf2, 0xbe, 0xa2, 0x0e, 0xac, 0x8e, 0x47, 0x6e, 0xfa, 0xbc, 0xeb, 0xf2, 0xc0, 0xf7, 0xbd, 0x8f,
1405         0x05, 0x40, 0x8e, 0x14, 0x97, 0xec, 0x49, 0x01, 0x1b, 0xd5, 0xba, 0x8c, 0x2e, 0xe1, 0xa3, 0xc3,
1406         0xe4, 0x37, 0x23, 0x12, 0xb2, 0x54, 0x5e, 0xe2, 0x17, 0x64, 0x39, 0xaa, 0x87, 0xb7, 0x5e, 0x78,
1407         0xb1, 0xb0, 0x45, 0x2f, 0x21, 0xd3, 0x17, 0x2f, 0x19, 0x62, 0x0c, 0xb9, 0x83, 0xc7, 0x1f, 0x79,
1408         0xf1, 0xc0, 0x09, 0x80, 0x2d, 0x46, 0x71, 0x47, 0xb7, 0x45, 0x80, 0xf9, 0xda, 0xb8, 0x65, 0x31,
1409         0xaa, 0x93, 0x81, 0xf3, 0x8e, 0xd2, 0xd2, 0xff, 0xba, 0x02, 0x1b, 0x53, 0xa3, 0x0a, 0x7d, 0xea,
1410         0x85, 0x04, 0x7d, 0x05, 0x5a, 0xdf, 0xb2, 0x89, 0xf2, 0x58, 0x14, 0x2f, 0xa2, 0xff, 0x9f, 0xef,
1411         0x08, 0x8e, 0x4b, 0xfd, 0x89, 0x76, 0x88, 0x7e, 0x09, 0xeb, 0xf1, 0xad, 0x71, 0x82, 0x56, 0x04,
1412         0x60, 0x77, 0x16, 0xed, 0x74, 0x25, 0xc7, 0x6b, 0x31, 0x8b, 0x4a, 0xde, 0x01, 0xcd, 0xa5, 0x03,
1413         0x3a, 0x41, 0xbc, 0x70, 0x47, 0xe2, 0x12, 0x63, 0x50, 0x49, 0xcf, 0x60, 0xd5, 0xb5, 0x2e, 0x89,
1414         0x3b, 0xc1, 0xba, 0x78, 0x47, 0x56, 0x8d, 0x53, 0x4c, 0xf5, 0x75, 0xea, 0x21, 0x2e, 0x2c, 0x2f,
1415         0xdd, 0xb5, 0xaf, 0x8c, 0x41, 0x25, 0xfd, 0x06, 0xd6, 0xfb, 0x23, 0xd7, 0x35, 0xa7, 0x98, 0xf9,
1416         0x85, 0xf4, 0x96, 0x49, 0xeb, 0x4e, 0xd0, 0x60, 0xc4, 0x38, 0x26, 0x65, 0xe8, 0x12, 0x36, 0x43,
1417         0xab, 0x4f, 0xcc, 0x90, 0x97, 0x71, 0x95, 0x7b, 0x99, 0x73, 0x3f, 0x9b, 0xc5, 0x7d, 0x53, 0xed,
1418         0xc7, 0xeb, 0xe1, 0x4d, 0x27, 0x82, 0x01, 0x6c, 0x8b, 0x35, 0x3d, 0x3e, 0x3e, 0xa8, 0x8e, 0x32,
1419         0xb7, 0x67, 0xef, 0x54, 0x59, 0xc0, 0xf7, 0x9d, 0x49, 0x81, 0xe2, 0xc8, 0x84, 0x0d, 0x65, 0x73,
1420         0x50, 0x5c, 0xe4, 0xb8, 0x8b, 0xef, 0x7f, 0x74, 0x83, 0x50, 0x17, 0xa2, 0x7d, 0xc3, 0xbe, 0x5b,
1421         0x87, 0xc2, 0xc4, 0xbb, 0x29, 0xbf, 0xb7, 0xdf, 0x92, 0x9d, 0xe7, 0xe4, 0xf2, 0x30, 0xb6, 0xc5,
1422         0xf9, 0xf7, 0x4a, 0x8b, 0x95, 0x6b, 0x12, 0x04, 0x34, 0xe0, 0x8f, 0x28, 0x4a, 0xb9, 0x0e, 0x7c,
1423         0x7b, 0xaf, 0xc3, 0xdf, 0x5e, 0xb1, 0x30, 0xd0, 0xfb, 0xb0, 0x55, 0xb5, 0xa2, 0x24, 0xa2, 0x22,
1424         0x97, 0xc3, 0x78, 0x8b, 0x3a, 0x81, 0x4c, 0x20, 0x3e, 0xe3, 0x1c, 0x9e, 0x39, 0x65, 0x37, 0x6d,
1425         0x71, 0x38, 0x41, 0xeb, 0x6f, 0x61, 0xfb, 0x46, 0x3f, 0x72, 0xd3, 0x78, 0x0d, 0xd9, 0x40, 0x7e,
1426         0xc7, 0x9e, 0x7e, 0x30, 0xa7, 0x27, 0x81, 0xc2, 0x63, 0xfc, 0x53, 0x02, 0xa0, 0x3c, 0x34, 0xe4,
1427         0x60, 0x45, 0xde, 0xba, 0xb5, 0x4f, 0xd8, 0xa5, 0xe4, 0x6b, 0x03, 0x5f, 0x98, 0x67, 0xcd, 0x46,
1428         0xfd, 0xb5, 0xd1, 0xb8, 0xd0, 0x52, 0xec, 0x6e, 0x9b, 0xb4, 0xd2, 0xac, 0xd5, 0x6e, 0x75, 0x3a,
1429         0xf5, 0x6a, 0xc3, 0xd0, 0x16, 0x10, 0xc0, 0xb2, 0xd4, 0x2c, 0xb2, 0x7b, 0x2c, 0x87, 0x4a, 0xc1,
1430         0xd2, 0xc1, 0x9f, 0x53, 0x50, 0xe4, 0x7d, 0xa8, 0xc4, 0x0f, 0xf4, 0xe8, 0x8f, 0x29, 0x58, 0xbb,
1431         0x61, 0x98, 0xe8, 0x60, 0x66, 0xb9, 0x9f, 0x19, 0xfb, 0xad, 0x17, 0x77, 0xc2, 0x88, 0xb1, 0xeb,
1432         0x8f, 0x7e, 0xfb, 0xdd, 0x3f, 0xff, 0x90, 0x2e, 0xeb, 0x6b, 0xc9, 0xdf, 0x07, 0xe1, 0x97, 0x72,
1433         0xa9, 0x92, 0x2f, 0x53, 0x4f, 0xab, 0x11, 0x6c, 0xd9, 0x74, 0x38, 0x83, 0xb9, 0xba, 0x36, 0x39,
1434         0x9c, 0x76, 0x40, 0x23, 0xda, 0x4e, 0xfd, 0xe2, 0x95, 0x34, 0x1f, 0x50, 0x56, 0x2e, 0xf7, 0x68,
1435         0x30, 0xd8, 0x1f, 0x10, 0x8f, 0xbf, 0xc4, 0xef, 0x0b, 0x95, 0xe5, 0x3b, 0xe1, 0xf4, 0x9f, 0x00,
1436         0x2f, 0xc5, 0xd7, 0xbf, 0x53, 0xa9, 0xcb, 0x65, 0x6e, 0xfb, 0xe2, 0x3f, 0x01, 0x00, 0x00, 0xff,
1437         0xff, 0xe5, 0x59, 0xbe, 0xb0, 0xe8, 0x18, 0x00, 0x00,
1438 }