From 1e95789587db7d93ebbaa5eb65da17d3dbf8ab64 Mon Sep 17 00:00:00 2001 From: Jonathan Amsterdam <jba@users.noreply.github.com> Date: Fri, 3 Mar 2017 15:47:30 -0500 Subject: [PATCH] vision: update files for vision 1.1 (#21) --- googleapis/cloud/vision/v1/geometry.pb.go | 14 +- .../cloud/vision/v1/image_annotator.pb.go | 628 +++++++++++------- .../cloud/vision/v1/text_annotation.pb.go | 538 +++++++++++++++ .../cloud/vision/v1/web_detection.pb.go | 194 ++++++ 4 files changed, 1142 insertions(+), 232 deletions(-) create mode 100644 googleapis/cloud/vision/v1/text_annotation.pb.go create mode 100644 googleapis/cloud/vision/v1/web_detection.pb.go diff --git a/googleapis/cloud/vision/v1/geometry.pb.go b/googleapis/cloud/vision/v1/geometry.pb.go index e6d2930f..455cd456 100644 --- a/googleapis/cloud/vision/v1/geometry.pb.go +++ b/googleapis/cloud/vision/v1/geometry.pb.go @@ -8,6 +8,8 @@ Package vision is a generated protocol buffer package. It is generated from these files: google/cloud/vision/v1/geometry.proto google/cloud/vision/v1/image_annotator.proto + google/cloud/vision/v1/text_annotation.proto + google/cloud/vision/v1/web_detection.proto It has these top-level messages: Vertex @@ -25,11 +27,21 @@ It has these top-level messages: ColorInfo DominantColorsAnnotation ImageProperties + CropHint + CropHintsAnnotation + CropHintsParams ImageContext AnnotateImageRequest AnnotateImageResponse BatchAnnotateImagesRequest BatchAnnotateImagesResponse + TextAnnotation + Page + Block + Paragraph + Word + Symbol + WebDetection */ package vision @@ -142,7 +154,7 @@ func init() { proto.RegisterFile("google/cloud/vision/v1/geometry.proto", fileDe var fileDescriptor0 = []byte{ // 237 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x31, 0x4b, 0x03, 0x31, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x90, 0x31, 0x4b, 0x03, 0x31, 0x14, 0x80, 0x79, 0x57, 0x2c, 0x25, 0xd6, 0xe5, 0x06, 0x39, 0x1c, 0xa4, 0x1c, 0x0a, 0x9d, 0x12, 0xaa, 0x4e, 0xea, 0x74, 0x8b, 0xe0, 0x74, 0xdc, 0xe0, 0xe0, 0x56, 0xaf, 0x8f, 0x47, 0xe0, 0x9a, 0x57, 0x92, 0x34, 0x34, 0xfd, 0xe5, 0x8e, 0xd2, 0xa4, 0x28, 0x8a, 0xdd, 0xf2, 0x91, 0x8f, 0xf7, diff --git a/googleapis/cloud/vision/v1/image_annotator.pb.go b/googleapis/cloud/vision/v1/image_annotator.pb.go index 1c291347..9b028bba 100644 --- a/googleapis/cloud/vision/v1/image_annotator.pb.go +++ b/googleapis/cloud/vision/v1/image_annotator.pb.go @@ -22,22 +22,22 @@ var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf -// A bucketized representation of likelihood meant to give our clients highly -// stable results across model upgrades. +// A bucketized representation of likelihood, which is intended to give clients +// highly stable results across model upgrades. type Likelihood int32 const ( // Unknown likelihood. Likelihood_UNKNOWN Likelihood = 0 - // The image very unlikely belongs to the vertical specified. + // It is very unlikely that the image belongs to the specified vertical. Likelihood_VERY_UNLIKELY Likelihood = 1 - // The image unlikely belongs to the vertical specified. + // It is unlikely that the image belongs to the specified vertical. Likelihood_UNLIKELY Likelihood = 2 - // The image possibly belongs to the vertical specified. + // It is possible that the image belongs to the specified vertical. Likelihood_POSSIBLE Likelihood = 3 - // The image likely belongs to the vertical specified. + // It is likely that the image belongs to the specified vertical. Likelihood_LIKELY Likelihood = 4 - // The image very likely belongs to the vertical specified. + // It is very likely that the image belongs to the specified vertical. Likelihood_VERY_LIKELY Likelihood = 5 ) @@ -79,31 +79,44 @@ const ( Feature_LABEL_DETECTION Feature_Type = 4 // Run OCR. Feature_TEXT_DETECTION Feature_Type = 5 - // Run various computer vision models to compute image safe-search properties. + // Run dense text document OCR. Takes precedence when both + // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. + Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11 + // Run computer vision models to compute image safe-search properties. Feature_SAFE_SEARCH_DETECTION Feature_Type = 6 - // Compute a set of properties about the image (such as the image's dominant colors). + // Compute a set of image properties, such as the image's dominant colors. Feature_IMAGE_PROPERTIES Feature_Type = 7 + // Run crop hints. + Feature_CROP_HINTS Feature_Type = 9 + // Run web detection. + Feature_WEB_DETECTION Feature_Type = 10 ) var Feature_Type_name = map[int32]string{ - 0: "TYPE_UNSPECIFIED", - 1: "FACE_DETECTION", - 2: "LANDMARK_DETECTION", - 3: "LOGO_DETECTION", - 4: "LABEL_DETECTION", - 5: "TEXT_DETECTION", - 6: "SAFE_SEARCH_DETECTION", - 7: "IMAGE_PROPERTIES", + 0: "TYPE_UNSPECIFIED", + 1: "FACE_DETECTION", + 2: "LANDMARK_DETECTION", + 3: "LOGO_DETECTION", + 4: "LABEL_DETECTION", + 5: "TEXT_DETECTION", + 11: "DOCUMENT_TEXT_DETECTION", + 6: "SAFE_SEARCH_DETECTION", + 7: "IMAGE_PROPERTIES", + 9: "CROP_HINTS", + 10: "WEB_DETECTION", } var Feature_Type_value = map[string]int32{ - "TYPE_UNSPECIFIED": 0, - "FACE_DETECTION": 1, - "LANDMARK_DETECTION": 2, - "LOGO_DETECTION": 3, - "LABEL_DETECTION": 4, - "TEXT_DETECTION": 5, - "SAFE_SEARCH_DETECTION": 6, - "IMAGE_PROPERTIES": 7, + "TYPE_UNSPECIFIED": 0, + "FACE_DETECTION": 1, + "LANDMARK_DETECTION": 2, + "LOGO_DETECTION": 3, + "LABEL_DETECTION": 4, + "TEXT_DETECTION": 5, + "DOCUMENT_TEXT_DETECTION": 11, + "SAFE_SEARCH_DETECTION": 6, + "IMAGE_PROPERTIES": 7, + "CROP_HINTS": 9, + "WEB_DETECTION": 10, } func (x Feature_Type) String() string { @@ -112,9 +125,9 @@ func (x Feature_Type) String() string { func (Feature_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} } // Face landmark (feature) type. -// Left and right are defined from the vantage of the viewer of the image, -// without considering mirror projections typical of photos. So, LEFT_EYE, -// typically is the person's right eye. +// Left and right are defined from the vantage of the viewer of the image +// without considering mirror projections typical of photos. So, `LEFT_EYE`, +// typically, is the person's right eye. type FaceAnnotation_Landmark_Type int32 const ( @@ -272,9 +285,9 @@ func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0, 0} } -// The <em>Feature</em> indicates what type of image detection task to perform. // Users describe the type of Google Cloud Vision API tasks to perform over -// images by using <em>Feature</em>s. Features encode the Cloud Vision API +// images by using *Feature*s. Each Feature indicates a type of image +// detection task to perform. Features encode the Cloud Vision API // vertical to operate on and the number of top-scoring results to return. type Feature struct { // The feature type. @@ -304,11 +317,24 @@ func (m *Feature) GetMaxResults() int32 { // External image source (Google Cloud Storage image location). type ImageSource struct { - // Google Cloud Storage image URI. It must be in the following form: - // `gs://bucket_name/object_name`. For more - // details, please see: https://cloud.google.com/storage/docs/reference-uris. - // NOTE: Cloud Storage object versioning is not supported! + // NOTE: For new code `image_uri` below is preferred. + // Google Cloud Storage image URI, which must be in the following form: + // `gs://bucket_name/object_name` (for details, see + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris)). + // NOTE: Cloud Storage object versioning is not supported. GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri" json:"gcs_image_uri,omitempty"` + // Image URI which supports: + // 1) Google Cloud Storage image URI, which must be in the following form: + // `gs://bucket_name/object_name` (for details, see + // [Google Cloud Storage Request + // URIs](https://cloud.google.com/storage/docs/reference-uris)). + // NOTE: Cloud Storage object versioning is not supported. + // 2) Publicly accessible image HTTP/HTTPS URL. + // This is preferred over the legacy `gcs_image_uri` above. When both + // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes + // precedence. + ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri" json:"image_uri,omitempty"` } func (m *ImageSource) Reset() { *m = ImageSource{} } @@ -323,15 +349,22 @@ func (m *ImageSource) GetGcsImageUri() string { return "" } +func (m *ImageSource) GetImageUri() string { + if m != nil { + return m.ImageUri + } + return "" +} + // Client image to perform Google Cloud Vision API tasks over. type Image struct { // Image content, represented as a stream of bytes. // Note: as with all `bytes` fields, protobuffers use a pure binary // representation, whereas JSON representations use base64. Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` - // Google Cloud Storage image location. If both 'content' and 'source' - // are filled for an image, 'content' takes precedence and it will be - // used for performing the image annotation request. + // Google Cloud Storage image location. If both `content` and `source` + // are provided for an image, `content` takes precedence and is + // used to perform the image annotation request. Source *ImageSource `protobuf:"bytes,2,opt,name=source" json:"source,omitempty"` } @@ -357,35 +390,32 @@ func (m *Image) GetSource() *ImageSource { // A face annotation object contains the results of face detection. type FaceAnnotation struct { // The bounding polygon around the face. The coordinates of the bounding box - // are in the original image's scale, as returned in ImageParams. + // are in the original image's scale, as returned in `ImageParams`. // The bounding box is computed to "frame" the face in accordance with human // expectations. It is based on the landmarker results. // Note that one or more x and/or y coordinates may not be generated in the - // BoundingPoly (the polygon will be unbounded) if only a partial face appears in - // the image to be annotated. + // `BoundingPoly` (the polygon will be unbounded) if only a partial face + // appears in the image to be annotated. BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"` - // This bounding polygon is tighter than the previous - // <code>boundingPoly</code>, and - // encloses only the skin part of the face. Typically, it is used to - // eliminate the face from any image analysis that detects the + // The `fd_bounding_poly` bounding polygon is tighter than the + // `boundingPoly`, and encloses only the skin part of the face. Typically, it + // is used to eliminate the face from any image analysis that detects the // "amount of skin" visible in an image. It is not based on the // landmarker results, only on the initial face detection, hence // the <code>fd</code> (face detection) prefix. FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly" json:"fd_bounding_poly,omitempty"` // Detected face landmarks. Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks" json:"landmarks,omitempty"` - // Roll angle. Indicates the amount of clockwise/anti-clockwise rotation of - // the - // face relative to the image vertical, about the axis perpendicular to the - // face. Range [-180,180]. + // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation + // of the face relative to the image vertical about the axis perpendicular to + // the face. Range [-180,180]. RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle" json:"roll_angle,omitempty"` - // Yaw angle. Indicates the leftward/rightward angle that the face is - // pointing, relative to the vertical plane perpendicular to the image. Range + // Yaw angle, which indicates the leftward/rightward angle that the face is + // pointing relative to the vertical plane perpendicular to the image. Range // [-180,180]. PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle" json:"pan_angle,omitempty"` - // Pitch angle. Indicates the upwards/downwards angle that the face is - // pointing - // relative to the image's horizontal plane. Range [-180,180]. + // Pitch angle, which indicates the upwards/downwards angle that the face is + // pointing relative to the image's horizontal plane. Range [-180,180]. TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle" json:"tilt_angle,omitempty"` // Detection confidence. Range [0, 1]. DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence" json:"detection_confidence,omitempty"` @@ -519,8 +549,9 @@ func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood { // A face-specific landmark (for example, a face feature). // Landmark positions may fall outside the bounds of the image -// when the face is near one or more edges of the image. -// Therefore it is NOT guaranteed that 0 <= x < width or 0 <= y < height. +// if the face is near one or more edges of the image. +// Therefore it is NOT guaranteed that `0 <= x < width` or +// `0 <= y < height`. type FaceAnnotation_Landmark struct { // Face landmark type. Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,enum=google.cloud.vision.v1.FaceAnnotation_Landmark_Type" json:"type,omitempty"` @@ -549,7 +580,7 @@ func (m *FaceAnnotation_Landmark) GetPosition() *Position { // Detected entity location information. type LocationInfo struct { - // Lat - long location coordinates. + // lat/long location coordinates. LatLng *google_type1.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng" json:"lat_lng,omitempty"` } @@ -565,7 +596,7 @@ func (m *LocationInfo) GetLatLng() *google_type1.LatLng { return nil } -// Arbitrary name/value pair. +// A `Property` consists of a user-supplied name/value pair. type Property struct { // Name of the property. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` @@ -594,40 +625,40 @@ func (m *Property) GetValue() string { // Set of detected entity features. type EntityAnnotation struct { - // Opaque entity ID. Some IDs might be available in Knowledge Graph(KG). - // For more details on KG please see: - // https://developers.google.com/knowledge-graph/ + // Opaque entity ID. Some IDs may be available in + // [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/). Mid string `protobuf:"bytes,1,opt,name=mid" json:"mid,omitempty"` // The language code for the locale in which the entity textual - // <code>description</code> (next field) is expressed. + // `description` is expressed. Locale string `protobuf:"bytes,2,opt,name=locale" json:"locale,omitempty"` - // Entity textual description, expressed in its <code>locale</code> language. + // Entity textual description, expressed in its `locale` language. Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"` // Overall score of the result. Range [0, 1]. Score float32 `protobuf:"fixed32,4,opt,name=score" json:"score,omitempty"` // The accuracy of the entity detection in an image. - // For example, for an image containing 'Eiffel Tower,' this field represents - // the confidence that there is a tower in the query image. Range [0, 1]. + // For example, for an image in which the "Eiffel Tower" entity is detected, + // this field represents the confidence that there is a tower in the query + // image. Range [0, 1]. Confidence float32 `protobuf:"fixed32,5,opt,name=confidence" json:"confidence,omitempty"` // The relevancy of the ICA (Image Content Annotation) label to the - // image. For example, the relevancy of 'tower' to an image containing - // 'Eiffel Tower' is likely higher than an image containing a distant towering - // building, though the confidence that there is a tower may be the same. - // Range [0, 1]. + // image. For example, the relevancy of "tower" is likely higher to an image + // containing the detected "Eiffel Tower" than to an image containing a + // detected distant towering building, even though the confidence that + // there is a tower in each image may be the same. Range [0, 1]. Topicality float32 `protobuf:"fixed32,6,opt,name=topicality" json:"topicality,omitempty"` - // Image region to which this entity belongs. Not filled currently + // Image region to which this entity belongs. Currently not produced // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s // are produced for the entire text detected in an image region, followed by // `boundingPoly`s for each word within the detected text. BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"` // The location information for the detected entity. Multiple - // <code>LocationInfo</code> elements can be present since one location may - // indicate the location of the scene in the query image, and another the - // location of the place where the query image was taken. Location information - // is usually present for landmarks. + // `LocationInfo` elements can be present because one location may + // indicate the location of the scene in the image, and another location + // may indicate the location of the place where the image was taken. + // Location information is usually present for landmarks. Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations" json:"locations,omitempty"` - // Some entities can have additional optional <code>Property</code> fields. - // For example a different kind of score or string that qualifies the entity. + // Some entities may have optional user-supplied `Property` (name/value) + // fields, such a score or string that qualifies the entity. Properties []*Property `protobuf:"bytes,9,rep,name=properties" json:"properties,omitempty"` } @@ -699,17 +730,17 @@ func (m *EntityAnnotation) GetProperties() []*Property { return nil } -// Set of features pertaining to the image, computed by various computer vision +// Set of features pertaining to the image, computed by computer vision // methods over safe-search verticals (for example, adult, spoof, medical, // violence). type SafeSearchAnnotation struct { - // Represents the adult contents likelihood for the image. + // Represents the adult content likelihood for the image. Adult Likelihood `protobuf:"varint,1,opt,name=adult,enum=google.cloud.vision.v1.Likelihood" json:"adult,omitempty"` - // Spoof likelihood. The likelihood that an obvious modification + // Spoof likelihood. The likelihood that an modification // was made to the image's canonical version to make it appear // funny or offensive. Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,enum=google.cloud.vision.v1.Likelihood" json:"spoof,omitempty"` - // Likelihood this is a medical image. + // Likelihood that this is a medical image. Medical Likelihood `protobuf:"varint,3,opt,name=medical,enum=google.cloud.vision.v1.Likelihood" json:"medical,omitempty"` // Violence likelihood. Violence Likelihood `protobuf:"varint,4,opt,name=violence,enum=google.cloud.vision.v1.Likelihood" json:"violence,omitempty"` @@ -748,7 +779,7 @@ func (m *SafeSearchAnnotation) GetViolence() Likelihood { return Likelihood_UNKNOWN } -// Rectangle determined by min and max LatLng pairs. +// Rectangle determined by min and max `LatLng` pairs. type LatLongRect struct { // Min lat/long pair. MinLatLng *google_type1.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng" json:"min_lat_lng,omitempty"` @@ -775,14 +806,14 @@ func (m *LatLongRect) GetMaxLatLng() *google_type1.LatLng { return nil } -// Color information consists of RGB channels, score and fraction of -// image the color occupies in the image. +// Color information consists of RGB channels, score, and the fraction of +// the image that the color occupies in the image. type ColorInfo struct { // RGB components of the color. Color *google_type.Color `protobuf:"bytes,1,opt,name=color" json:"color,omitempty"` // Image-specific score for this color. Value in range [0, 1]. Score float32 `protobuf:"fixed32,2,opt,name=score" json:"score,omitempty"` - // Stores the fraction of pixels the color occupies in the image. + // The fraction of pixels the color occupies in the image. // Value in range [0, 1]. PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction" json:"pixel_fraction,omitempty"` } @@ -815,7 +846,7 @@ func (m *ColorInfo) GetPixelFraction() float32 { // Set of dominant colors and their corresponding scores. type DominantColorsAnnotation struct { - // RGB color values, with their score and pixel fraction. + // RGB color values with their score and pixel fraction. Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors" json:"colors,omitempty"` } @@ -831,7 +862,7 @@ func (m *DominantColorsAnnotation) GetColors() []*ColorInfo { return nil } -// Stores image properties (e.g. dominant colors). +// Stores image properties, such as dominant colors. type ImageProperties struct { // If present, dominant colors completed successfully. DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors" json:"dominant_colors,omitempty"` @@ -849,9 +880,87 @@ func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation { return nil } -// Image context. +// Single crop hint that is used to generate a new crop when serving an image. +type CropHint struct { + // The bounding polygon for the crop region. The coordinates of the bounding + // box are in the original image's scale, as returned in `ImageParams`. + BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly" json:"bounding_poly,omitempty"` + // Confidence of this being a salient region. Range [0, 1]. + Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"` + // Fraction of importance of this salient region with respect to the original + // image. + ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction" json:"importance_fraction,omitempty"` +} + +func (m *CropHint) Reset() { *m = CropHint{} } +func (m *CropHint) String() string { return proto.CompactTextString(m) } +func (*CropHint) ProtoMessage() {} +func (*CropHint) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} } + +func (m *CropHint) GetBoundingPoly() *BoundingPoly { + if m != nil { + return m.BoundingPoly + } + return nil +} + +func (m *CropHint) GetConfidence() float32 { + if m != nil { + return m.Confidence + } + return 0 +} + +func (m *CropHint) GetImportanceFraction() float32 { + if m != nil { + return m.ImportanceFraction + } + return 0 +} + +// Set of crop hints that are used to generate new crops when serving images. +type CropHintsAnnotation struct { + CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints" json:"crop_hints,omitempty"` +} + +func (m *CropHintsAnnotation) Reset() { *m = CropHintsAnnotation{} } +func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) } +func (*CropHintsAnnotation) ProtoMessage() {} +func (*CropHintsAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} } + +func (m *CropHintsAnnotation) GetCropHints() []*CropHint { + if m != nil { + return m.CropHints + } + return nil +} + +// Parameters for crop hints annotation request. +type CropHintsParams struct { + // Aspect ratios in floats, representing the ratio of the width to the height + // of the image. For example, if the desired aspect ratio is 4/3, the + // corresponding float value should be 1.33333. If not specified, the + // best possible crop is returned. The number of provided aspect ratios is + // limited to a maximum of 16; any aspect ratios provided after the 16th are + // ignored. + AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios" json:"aspect_ratios,omitempty"` +} + +func (m *CropHintsParams) Reset() { *m = CropHintsParams{} } +func (m *CropHintsParams) String() string { return proto.CompactTextString(m) } +func (*CropHintsParams) ProtoMessage() {} +func (*CropHintsParams) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} } + +func (m *CropHintsParams) GetAspectRatios() []float32 { + if m != nil { + return m.AspectRatios + } + return nil +} + +// Image context and/or feature-specific parameters. type ImageContext struct { - // Lat/long rectangle that specifies the location of the image. + // lat/long rectangle that specifies the location of the image. LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect" json:"lat_long_rect,omitempty"` // List of languages to use for TEXT_DETECTION. In most cases, an empty value // yields the best results since it enables automatic language detection. For @@ -860,15 +969,16 @@ type ImageContext struct { // setting a hint will help get better results (although it will be a // significant hindrance if the hint is wrong). Text detection returns an // error if one or more of the specified languages is not one of the - // [supported - // languages](/translate/v2/translate-reference#supported_languages). + // [supported languages](/vision/docs/languages). LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints" json:"language_hints,omitempty"` + // Parameters for crop hints annotation request. + CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams" json:"crop_hints_params,omitempty"` } func (m *ImageContext) Reset() { *m = ImageContext{} } func (m *ImageContext) String() string { return proto.CompactTextString(m) } func (*ImageContext) ProtoMessage() {} -func (*ImageContext) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} } +func (*ImageContext) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} } func (m *ImageContext) GetLatLongRect() *LatLongRect { if m != nil { @@ -884,6 +994,13 @@ func (m *ImageContext) GetLanguageHints() []string { return nil } +func (m *ImageContext) GetCropHintsParams() *CropHintsParams { + if m != nil { + return m.CropHintsParams + } + return nil +} + // Request for performing Google Cloud Vision API tasks over a user-provided // image, with user-requested features. type AnnotateImageRequest struct { @@ -898,7 +1015,7 @@ type AnnotateImageRequest struct { func (m *AnnotateImageRequest) Reset() { *m = AnnotateImageRequest{} } func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) } func (*AnnotateImageRequest) ProtoMessage() {} -func (*AnnotateImageRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} } +func (*AnnotateImageRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} } func (m *AnnotateImageRequest) GetImage() *Image { if m != nil { @@ -923,30 +1040,40 @@ func (m *AnnotateImageRequest) GetImageContext() *ImageContext { // Response to an image annotation request. type AnnotateImageResponse struct { - // If present, face detection completed successfully. + // If present, face detection has completed successfully. FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations" json:"face_annotations,omitempty"` - // If present, landmark detection completed successfully. + // If present, landmark detection has completed successfully. LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations" json:"landmark_annotations,omitempty"` - // If present, logo detection completed successfully. + // If present, logo detection has completed successfully. LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations" json:"logo_annotations,omitempty"` - // If present, label detection completed successfully. + // If present, label detection has completed successfully. LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations" json:"label_annotations,omitempty"` - // If present, text (OCR) detection completed successfully. + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations" json:"text_annotations,omitempty"` - // If present, safe-search annotation completed successfully. + // If present, text (OCR) detection or document (OCR) text detection has + // completed successfully. + // This annotation provides the structural hierarchy for the OCR detected + // text. + FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation" json:"full_text_annotation,omitempty"` + // If present, safe-search annotation has completed successfully. SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation" json:"safe_search_annotation,omitempty"` // If present, image properties were extracted successfully. ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation" json:"image_properties_annotation,omitempty"` + // If present, crop hints have completed successfully. + CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation" json:"crop_hints_annotation,omitempty"` + // If present, web detection has completed successfully. + WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection" json:"web_detection,omitempty"` // If set, represents the error message for the operation. - // Note that filled-in mage annotations are guaranteed to be - // correct, even when <code>error</code> is non-empty. + // Note that filled-in image annotations are guaranteed to be + // correct, even when `error` is set. Error *google_rpc.Status `protobuf:"bytes,9,opt,name=error" json:"error,omitempty"` } func (m *AnnotateImageResponse) Reset() { *m = AnnotateImageResponse{} } func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) } func (*AnnotateImageResponse) ProtoMessage() {} -func (*AnnotateImageResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} } +func (*AnnotateImageResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} } func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation { if m != nil { @@ -983,6 +1110,13 @@ func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation { return nil } +func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation { + if m != nil { + return m.FullTextAnnotation + } + return nil +} + func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation { if m != nil { return m.SafeSearchAnnotation @@ -997,6 +1131,20 @@ func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties return nil } +func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation { + if m != nil { + return m.CropHintsAnnotation + } + return nil +} + +func (m *AnnotateImageResponse) GetWebDetection() *WebDetection { + if m != nil { + return m.WebDetection + } + return nil +} + func (m *AnnotateImageResponse) GetError() *google_rpc.Status { if m != nil { return m.Error @@ -1013,7 +1161,7 @@ type BatchAnnotateImagesRequest struct { func (m *BatchAnnotateImagesRequest) Reset() { *m = BatchAnnotateImagesRequest{} } func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) } func (*BatchAnnotateImagesRequest) ProtoMessage() {} -func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} } +func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} } func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest { if m != nil { @@ -1031,7 +1179,7 @@ type BatchAnnotateImagesResponse struct { func (m *BatchAnnotateImagesResponse) Reset() { *m = BatchAnnotateImagesResponse{} } func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) } func (*BatchAnnotateImagesResponse) ProtoMessage() {} -func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} } +func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} } func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse { if m != nil { @@ -1054,6 +1202,9 @@ func init() { proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1.ColorInfo") proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1.DominantColorsAnnotation") proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1.ImageProperties") + proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1.CropHint") + proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1.CropHintsAnnotation") + proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1.CropHintsParams") proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1.ImageContext") proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1.AnnotateImageRequest") proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1.AnnotateImageResponse") @@ -1141,133 +1292,148 @@ var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor1) } var fileDescriptor1 = []byte{ - // 2044 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x6e, 0xe3, 0xc8, - 0x11, 0x1e, 0x49, 0x96, 0x2d, 0x95, 0x6c, 0x99, 0x6e, 0x7b, 0xbc, 0x1a, 0xcf, 0x9f, 0x97, 0xc9, - 0x24, 0xc6, 0x62, 0x22, 0x67, 0x3c, 0x1b, 0x60, 0xb3, 0x33, 0x08, 0x22, 0xd9, 0xb4, 0x2d, 0x8c, - 0x2c, 0x6a, 0x5b, 0x72, 0x26, 0x4e, 0x82, 0x10, 0x34, 0xd5, 0xe2, 0x70, 0x96, 0x62, 0x33, 0x24, - 0xe5, 0xb1, 0x2e, 0x39, 0x04, 0x08, 0x90, 0x7b, 0xce, 0xc9, 0x3b, 0x04, 0x08, 0x72, 0xcd, 0x39, - 0xc7, 0x60, 0x5f, 0x21, 0x0f, 0x91, 0x63, 0xd0, 0x3f, 0xa4, 0x5a, 0x5e, 0x6b, 0x22, 0xef, 0x49, - 0xec, 0xaa, 0xfa, 0xbe, 0xaa, 0xae, 0xea, 0xbf, 0x12, 0x3c, 0x77, 0x29, 0x75, 0x7d, 0xb2, 0xef, - 0xf8, 0x74, 0x3c, 0xd8, 0xbf, 0xf2, 0x62, 0x8f, 0x06, 0xfb, 0x57, 0x2f, 0xf6, 0xbd, 0x91, 0xed, - 0x12, 0xcb, 0x0e, 0x02, 0x9a, 0xd8, 0x09, 0x8d, 0xea, 0x61, 0x44, 0x13, 0x8a, 0xb6, 0x85, 0x75, - 0x9d, 0x5b, 0xd7, 0x85, 0x75, 0xfd, 0xea, 0xc5, 0xce, 0x23, 0xc9, 0x62, 0x87, 0xde, 0xbe, 0xc4, - 0x78, 0x34, 0x88, 0x05, 0x6a, 0xe7, 0xd9, 0x1c, 0x1f, 0x2e, 0xa1, 0x23, 0x92, 0x44, 0x13, 0x69, - 0xf6, 0x89, 0x34, 0x8b, 0x42, 0x67, 0x3f, 0x4e, 0xec, 0x64, 0x1c, 0xdf, 0x50, 0x24, 0x93, 0x90, - 0xec, 0x3b, 0xd4, 0x4f, 0xc3, 0xd9, 0xa9, 0xa9, 0x0a, 0xdf, 0x4e, 0xfc, 0xc0, 0x15, 0x1a, 0xfd, - 0x2f, 0x79, 0x58, 0x39, 0x26, 0x76, 0x32, 0x8e, 0x08, 0xfa, 0x02, 0x96, 0x98, 0x41, 0x2d, 0xb7, - 0x9b, 0xdb, 0xab, 0x1e, 0x7c, 0xbf, 0x7e, 0xfb, 0x1c, 0xea, 0xd2, 0xbc, 0xde, 0x9f, 0x84, 0x04, - 0x73, 0x04, 0x7a, 0x0a, 0x95, 0x91, 0x7d, 0x6d, 0x45, 0x24, 0x1e, 0xfb, 0x49, 0x5c, 0xcb, 0xef, - 0xe6, 0xf6, 0x8a, 0x18, 0x46, 0xf6, 0x35, 0x16, 0x12, 0xfd, 0x1f, 0x39, 0x58, 0x62, 0xf6, 0x68, - 0x0b, 0xb4, 0xfe, 0x45, 0xd7, 0xb0, 0xce, 0x3b, 0xbd, 0xae, 0x71, 0xd8, 0x3a, 0x6e, 0x19, 0x47, - 0xda, 0x3d, 0x84, 0xa0, 0x7a, 0xdc, 0x38, 0x34, 0xac, 0x23, 0xa3, 0x6f, 0x1c, 0xf6, 0x5b, 0x66, - 0x47, 0xcb, 0xa1, 0x6d, 0x40, 0xed, 0x46, 0xe7, 0xe8, 0xac, 0x81, 0xdf, 0x28, 0xf2, 0x3c, 0xb3, - 0x6d, 0x9b, 0x27, 0xa6, 0x22, 0x2b, 0xa0, 0x4d, 0x58, 0x6f, 0x37, 0x9a, 0x46, 0x5b, 0x11, 0x2e, - 0x31, 0xc3, 0xbe, 0xf1, 0xcb, 0xbe, 0x22, 0x2b, 0xa2, 0x07, 0x70, 0xbf, 0xd7, 0x38, 0x36, 0xac, - 0x9e, 0xd1, 0xc0, 0x87, 0xa7, 0x8a, 0x6a, 0x99, 0x45, 0xd6, 0x3a, 0x6b, 0x9c, 0x18, 0x56, 0x17, - 0x9b, 0x5d, 0x03, 0xf7, 0x5b, 0x46, 0x4f, 0x5b, 0xd1, 0x5f, 0x40, 0xa5, 0xc5, 0x2a, 0xdc, 0xa3, - 0xe3, 0xc8, 0x21, 0x48, 0x87, 0x35, 0xd7, 0x89, 0x2d, 0x51, 0xf4, 0x71, 0xe4, 0xf1, 0x5c, 0x95, - 0x71, 0xc5, 0x75, 0x62, 0x6e, 0x76, 0x1e, 0x79, 0xfa, 0x6f, 0xa1, 0xc8, 0xbf, 0x51, 0x0d, 0x56, - 0x1c, 0x1a, 0x24, 0x24, 0x48, 0xb8, 0xd9, 0x2a, 0x4e, 0x87, 0xe8, 0x15, 0x2c, 0xc7, 0x9c, 0x90, - 0xa7, 0xaa, 0x72, 0xf0, 0xbd, 0x79, 0xb9, 0x56, 0x7c, 0x63, 0x09, 0xd1, 0xff, 0xbd, 0x0e, 0xd5, - 0x63, 0xdb, 0x21, 0x8d, 0x6c, 0xfd, 0xa0, 0x16, 0xac, 0x5d, 0xd2, 0x71, 0x30, 0xf0, 0x02, 0xd7, - 0x0a, 0xa9, 0x3f, 0xe1, 0xfe, 0x2a, 0xf3, 0x4b, 0xd8, 0x94, 0xc6, 0x5d, 0xea, 0x4f, 0xf0, 0xea, - 0xa5, 0x32, 0x42, 0x1d, 0xd0, 0x86, 0x03, 0x6b, 0x96, 0x2d, 0x7f, 0x07, 0xb6, 0xea, 0x70, 0xa0, - 0x8e, 0xd1, 0x19, 0x94, 0x7d, 0x3b, 0x18, 0x8c, 0xec, 0xe8, 0xeb, 0xb8, 0x56, 0xd8, 0x2d, 0xec, - 0x55, 0x0e, 0xf6, 0xe7, 0xae, 0xac, 0x99, 0x59, 0xd5, 0xdb, 0x12, 0x87, 0xa7, 0x0c, 0xe8, 0x31, - 0x40, 0x44, 0x7d, 0xdf, 0xb2, 0x03, 0xd7, 0x27, 0xb5, 0xa5, 0xdd, 0xdc, 0x5e, 0x1e, 0x97, 0x99, - 0xa4, 0xc1, 0x04, 0xe8, 0x21, 0x94, 0x43, 0x3b, 0x90, 0xda, 0x22, 0xd7, 0x96, 0x42, 0x3b, 0x10, - 0xca, 0xc7, 0x00, 0x89, 0xe7, 0x27, 0x52, 0xbb, 0x2c, 0xb0, 0x4c, 0x22, 0xd4, 0x2f, 0x60, 0x6b, - 0x40, 0x12, 0xe2, 0x30, 0xdf, 0x96, 0x43, 0x83, 0xa1, 0x37, 0x20, 0x81, 0x43, 0x6a, 0x2b, 0xdc, - 0x70, 0x33, 0xd3, 0x1d, 0x66, 0x2a, 0xf4, 0x13, 0xd8, 0x4e, 0x43, 0x63, 0xc9, 0x52, 0x40, 0x25, - 0x0e, 0xba, 0xaf, 0x68, 0x15, 0x58, 0x0b, 0xaa, 0xef, 0xe9, 0xc4, 0xf2, 0xbd, 0xaf, 0x89, 0xef, - 0xbd, 0xa3, 0x74, 0x50, 0x2b, 0xf3, 0x2d, 0xa7, 0xcf, 0x4b, 0x4c, 0x3b, 0xb3, 0xc4, 0x6b, 0xef, - 0xe9, 0x64, 0x3a, 0x44, 0x26, 0x6c, 0xc4, 0x34, 0x8a, 0xe8, 0x07, 0x95, 0x0d, 0x16, 0x66, 0xd3, - 0x04, 0x58, 0x21, 0x3c, 0x03, 0xcd, 0x0e, 0x5c, 0x12, 0xa9, 0x7c, 0x95, 0x85, 0xf9, 0xd6, 0x39, - 0x56, 0xa1, 0xeb, 0xc1, 0x66, 0x3c, 0x8e, 0xc2, 0xc8, 0x8b, 0x89, 0xca, 0xb8, 0xba, 0x30, 0x23, - 0x4a, 0xe1, 0x0a, 0xe9, 0x6f, 0xa0, 0x36, 0x0e, 0x06, 0x24, 0xb2, 0xc8, 0x75, 0x48, 0x63, 0x32, - 0x50, 0x99, 0xd7, 0x16, 0x66, 0xde, 0xe6, 0x1c, 0x86, 0xa0, 0x50, 0xd8, 0xbf, 0x02, 0x74, 0xe9, - 0x8f, 0xa3, 0x68, 0x96, 0xb7, 0xba, 0x30, 0xef, 0x86, 0x44, 0xcf, 0x66, 0xe1, 0x1d, 0xb1, 0x07, - 0x1f, 0x88, 0x3d, 0x93, 0xd7, 0xf5, 0xc5, 0xb3, 0x90, 0xc2, 0xa7, 0xb2, 0x9d, 0x7f, 0xad, 0x40, - 0x29, 0xdd, 0x22, 0xe8, 0x54, 0x9e, 0xdd, 0x05, 0x4e, 0xf9, 0xf9, 0x1d, 0x77, 0x98, 0x7a, 0x96, - 0xbf, 0x86, 0x52, 0x48, 0x63, 0x8f, 0xe9, 0xf9, 0xfe, 0xaa, 0x1c, 0xec, 0xce, 0x63, 0xeb, 0x4a, - 0x3b, 0x9c, 0x21, 0xf4, 0xbf, 0x2f, 0x4f, 0x0f, 0xfa, 0xf3, 0xce, 0x9b, 0x8e, 0xf9, 0xb6, 0x63, - 0xa5, 0xc7, 0xb8, 0x76, 0x0f, 0xad, 0x42, 0xa9, 0x6d, 0x1c, 0xf7, 0x2d, 0xe3, 0xc2, 0xd0, 0x72, - 0x68, 0x0d, 0xca, 0xb8, 0x75, 0x72, 0x2a, 0x86, 0x79, 0x54, 0x83, 0x2d, 0xae, 0x34, 0x8f, 0xad, - 0xd4, 0xa8, 0x89, 0xcd, 0xb7, 0x5a, 0x81, 0x1d, 0xdb, 0xc2, 0xf0, 0xa6, 0x6a, 0x89, 0xa9, 0x52, - 0x50, 0xc6, 0xc5, 0x55, 0x45, 0xb4, 0x03, 0xdb, 0x19, 0x6a, 0x56, 0xb7, 0xcc, 0x60, 0x67, 0xad, - 0xa3, 0xae, 0xd9, 0xea, 0xf4, 0xad, 0xa6, 0xd1, 0x7f, 0x6b, 0x18, 0x1d, 0xa6, 0xed, 0x69, 0x2b, - 0x2c, 0xc6, 0x8e, 0xd9, 0x33, 0xac, 0x7e, 0xab, 0xab, 0x95, 0x58, 0x8c, 0xe7, 0xdd, 0xae, 0x81, - 0xad, 0x76, 0xab, 0xab, 0x95, 0xd9, 0xb0, 0x6d, 0xbe, 0x95, 0x43, 0x40, 0x55, 0x80, 0x33, 0xf3, - 0xbc, 0x7f, 0xca, 0xa3, 0xd2, 0x2a, 0x68, 0x1d, 0x2a, 0x62, 0xcc, 0xfd, 0x69, 0xab, 0x48, 0x83, - 0x55, 0x21, 0x38, 0x34, 0x3a, 0x7d, 0x03, 0x6b, 0x6b, 0xe8, 0x3e, 0x6c, 0x70, 0xfa, 0xa6, 0xd9, - 0xef, 0x9b, 0x67, 0xd2, 0xb0, 0xca, 0xf2, 0xa5, 0x8a, 0x39, 0xdf, 0x3a, 0xbb, 0x04, 0x55, 0xa9, - 0x24, 0xd1, 0xb2, 0x59, 0x1b, 0x17, 0x86, 0xd5, 0x37, 0xbb, 0x56, 0xd3, 0x3c, 0xef, 0x1c, 0x35, - 0xf0, 0x85, 0xb6, 0x31, 0xa3, 0x12, 0xb3, 0x3e, 0x34, 0x71, 0xc7, 0xc0, 0x1a, 0x42, 0x8f, 0xa0, - 0x96, 0xa9, 0x24, 0x63, 0x06, 0xdc, 0xcc, 0xd2, 0xcf, 0xb4, 0xfc, 0x43, 0xe2, 0xb6, 0xa6, 0x89, - 0xfc, 0x96, 0xbb, 0xfb, 0xb3, 0xba, 0x19, 0x7f, 0xdb, 0xe8, 0x31, 0x3c, 0x98, 0xea, 0x6e, 0x3a, - 0xfc, 0x64, 0x5a, 0xd5, 0x9b, 0x1e, 0x6b, 0xe8, 0x29, 0x3c, 0x54, 0xeb, 0x6c, 0x89, 0x12, 0xa4, - 0x15, 0xd3, 0x1e, 0xa0, 0x5d, 0x78, 0x34, 0x53, 0xd2, 0x9b, 0x16, 0x3b, 0x2c, 0xa1, 0x82, 0xa2, - 0x81, 0xad, 0x3e, 0x6e, 0x9c, 0xb0, 0x5b, 0xfe, 0x21, 0xcb, 0xbe, 0xc4, 0x29, 0xe2, 0x47, 0xfc, - 0x51, 0x91, 0xce, 0xbd, 0x7b, 0xde, 0x6d, 0xb5, 0xb5, 0xc7, 0xec, 0x51, 0x31, 0x0d, 0x4f, 0x08, - 0x9f, 0x30, 0xfc, 0xb1, 0x89, 0x8d, 0x53, 0xa3, 0x71, 0x64, 0x9d, 0xf0, 0x37, 0x47, 0xbb, 0xa1, - 0x3d, 0x45, 0x1b, 0xb0, 0x76, 0x78, 0xda, 0xea, 0x58, 0x27, 0x9d, 0x46, 0xff, 0x94, 0x51, 0xee, - 0x32, 0xff, 0x5c, 0xc4, 0x79, 0x4f, 0xcc, 0x0e, 0x93, 0x7e, 0xca, 0xf0, 0x5c, 0x2a, 0x98, 0xa5, - 0x58, 0xd7, 0x5f, 0xc3, 0x6a, 0x9b, 0x3a, 0x7c, 0x53, 0xb6, 0x82, 0x21, 0x45, 0xcf, 0x61, 0xc5, - 0xb7, 0x13, 0xcb, 0x0f, 0x5c, 0x79, 0x95, 0x6f, 0xa6, 0x7b, 0x90, 0xed, 0xd1, 0x7a, 0xdb, 0x4e, - 0xda, 0x81, 0x8b, 0x97, 0x7d, 0xfe, 0xab, 0x7f, 0x0e, 0xa5, 0x6e, 0x44, 0x43, 0x12, 0x25, 0x13, - 0x84, 0x60, 0x29, 0xb0, 0x47, 0x44, 0x3e, 0x4c, 0xf8, 0x37, 0xda, 0x82, 0xe2, 0x95, 0xed, 0x8f, - 0xc5, 0x6b, 0xa3, 0x8c, 0xc5, 0x40, 0xff, 0x63, 0x01, 0x34, 0x23, 0x48, 0xbc, 0x64, 0xa2, 0xbc, - 0x24, 0x34, 0x28, 0x8c, 0xbc, 0x81, 0x44, 0xb3, 0x4f, 0xb4, 0x0d, 0xcb, 0x3e, 0x75, 0x6c, 0x3f, - 0x45, 0xcb, 0x11, 0xda, 0x85, 0xca, 0x80, 0xc4, 0x4e, 0xe4, 0x85, 0xfc, 0xa8, 0x28, 0x88, 0x87, - 0x90, 0x22, 0x62, 0x6e, 0x63, 0x87, 0x46, 0xe9, 0x35, 0x2d, 0x06, 0xe8, 0x09, 0x80, 0x72, 0x4f, - 0x8a, 0x3b, 0x5a, 0x91, 0x30, 0x7d, 0x42, 0x43, 0xcf, 0xb1, 0x7d, 0x2f, 0x99, 0xc8, 0x5b, 0x5a, - 0x91, 0x7c, 0xfb, 0xad, 0xb3, 0xf2, 0x9d, 0xdf, 0x3a, 0x4d, 0x28, 0xfb, 0x32, 0xeb, 0x71, 0xad, - 0xc4, 0xdf, 0x26, 0x73, 0x69, 0xd4, 0xf2, 0xe0, 0x29, 0x0c, 0xfd, 0x1c, 0x20, 0x14, 0xb9, 0xf7, - 0x48, 0x5c, 0x2b, 0x73, 0x92, 0xf9, 0x07, 0xa6, 0xac, 0x12, 0x56, 0x30, 0xfa, 0x9f, 0xf2, 0xb0, - 0xd5, 0xb3, 0x87, 0xa4, 0x47, 0xec, 0xc8, 0x79, 0xa7, 0xd4, 0xe2, 0x0b, 0x28, 0xda, 0x83, 0xb1, - 0x9f, 0xc8, 0x07, 0xf9, 0x22, 0xf7, 0x84, 0x00, 0x30, 0x64, 0x1c, 0x52, 0x3a, 0xe4, 0x25, 0x5b, - 0x10, 0xc9, 0x01, 0xe8, 0x35, 0xac, 0x8c, 0xc8, 0x80, 0xe5, 0x5a, 0x5e, 0x25, 0x8b, 0x60, 0x53, - 0x08, 0xfa, 0x19, 0x94, 0xae, 0x3c, 0xea, 0xf3, 0xca, 0x2e, 0x2d, 0x0c, 0xcf, 0x30, 0xfa, 0x07, - 0xa8, 0xb0, 0xa5, 0x4d, 0x03, 0x17, 0x13, 0x27, 0x41, 0x2f, 0xa1, 0x32, 0xf2, 0x02, 0x6b, 0x81, - 0x9d, 0x50, 0x1e, 0x79, 0x81, 0xf8, 0xe4, 0x20, 0xfb, 0x3a, 0x03, 0xe5, 0x3f, 0x06, 0xb2, 0xaf, - 0xc5, 0xa7, 0x1e, 0x41, 0xf9, 0x90, 0xf5, 0x4b, 0x7c, 0xf3, 0xed, 0x41, 0x91, 0x37, 0x4f, 0xd2, - 0x21, 0x9a, 0xc1, 0x72, 0x33, 0x2c, 0x0c, 0xa6, 0x2b, 0x3c, 0xaf, 0xae, 0xf0, 0x67, 0x50, 0x0d, - 0xbd, 0x6b, 0xe2, 0x5b, 0xc3, 0xc8, 0x76, 0xb2, 0xcd, 0x91, 0xc7, 0x6b, 0x5c, 0x7a, 0x2c, 0x85, - 0xfa, 0x39, 0xd4, 0x8e, 0xe8, 0xc8, 0x0b, 0xec, 0x20, 0xe1, 0xa4, 0xb1, 0x52, 0xfa, 0x9f, 0xc2, - 0x32, 0xf7, 0x10, 0xd7, 0x72, 0x7c, 0x45, 0x7d, 0x3a, 0x2f, 0x8d, 0x59, 0xd4, 0x58, 0x02, 0x74, - 0x1f, 0xd6, 0x79, 0xd7, 0xd0, 0xcd, 0x56, 0x18, 0xba, 0x80, 0xf5, 0x81, 0xf4, 0x64, 0x65, 0xb4, - 0x6c, 0x6a, 0x3f, 0x9e, 0x47, 0x3b, 0x2f, 0x30, 0x5c, 0x1d, 0xcc, 0x68, 0xf4, 0xdf, 0xc3, 0x2a, - 0xf7, 0x76, 0xc8, 0x3a, 0x9b, 0xeb, 0x04, 0x9d, 0xc0, 0x1a, 0xcf, 0x3c, 0x0d, 0x5c, 0x2b, 0x22, - 0x4e, 0x22, 0x1d, 0xcd, 0x6d, 0x70, 0x94, 0x72, 0xe3, 0x8a, 0xaf, 0xd4, 0xfe, 0x19, 0x54, 0x7d, - 0x3b, 0x70, 0xc7, 0xac, 0xd1, 0x7a, 0xe7, 0x05, 0xbc, 0xab, 0x2c, 0xec, 0x95, 0xf1, 0x5a, 0x2a, - 0x3d, 0x65, 0x42, 0xfd, 0x9b, 0x1c, 0x6c, 0xc9, 0xf0, 0x08, 0x0f, 0x04, 0x93, 0xdf, 0x8d, 0x49, - 0xcc, 0xd6, 0x4e, 0x91, 0x77, 0x69, 0x32, 0x80, 0xc7, 0x1f, 0xed, 0xb0, 0xb0, 0xb0, 0x45, 0xaf, - 0xa0, 0x34, 0x14, 0xdd, 0xad, 0x70, 0x57, 0x39, 0x78, 0xfa, 0x7f, 0xba, 0x60, 0x9c, 0x01, 0xd8, - 0xc1, 0x24, 0xfa, 0x42, 0x47, 0xe4, 0x82, 0x57, 0xfd, 0x23, 0x27, 0x8a, 0x9a, 0x37, 0xbc, 0xea, - 0x29, 0x23, 0xfd, 0x9f, 0x45, 0xb8, 0x7f, 0x63, 0x56, 0x71, 0x48, 0x83, 0x98, 0xa0, 0xaf, 0x40, - 0x1b, 0xda, 0x4e, 0xf6, 0x87, 0x03, 0x3f, 0xb9, 0xc4, 0x12, 0xf9, 0xc1, 0x62, 0x6f, 0x3e, 0xbc, - 0x3e, 0x9c, 0x19, 0xc7, 0xe8, 0xd7, 0xb0, 0x95, 0xb6, 0x29, 0x33, 0xb4, 0x22, 0x01, 0x7b, 0xf3, - 0x68, 0x6f, 0x5e, 0x1d, 0x78, 0x33, 0x65, 0x51, 0xc9, 0x7b, 0xa0, 0xf9, 0xd4, 0xa5, 0x33, 0xc4, - 0x85, 0x3b, 0x12, 0xaf, 0x33, 0x06, 0x95, 0xf4, 0x1c, 0x36, 0x7c, 0xfb, 0x92, 0xf8, 0x33, 0xac, - 0x4b, 0x77, 0x64, 0xd5, 0x38, 0xc5, 0x8d, 0x58, 0x59, 0xf6, 0x67, 0x58, 0x8b, 0x77, 0x8d, 0x95, - 0x31, 0xa8, 0xa4, 0x97, 0xb0, 0x1d, 0xdb, 0x43, 0x62, 0xc5, 0xfc, 0x74, 0x57, 0xb8, 0xf9, 0xd5, - 0x56, 0x39, 0x78, 0x3e, 0x8f, 0xfa, 0xb6, 0x2b, 0x01, 0x6f, 0xc5, 0xb7, 0x5d, 0x14, 0x2e, 0x3c, - 0x14, 0x2b, 0x6f, 0x7a, 0xab, 0xa8, 0x8e, 0x4a, 0xdc, 0xd1, 0x0f, 0x3f, 0xba, 0x0e, 0xa7, 0xa7, - 0x05, 0x7e, 0xe0, 0xcd, 0x0a, 0x14, 0x47, 0x7b, 0x50, 0x24, 0x51, 0x44, 0x23, 0xde, 0xaf, 0x2a, - 0x27, 0x63, 0x14, 0x3a, 0xf5, 0x1e, 0xff, 0x27, 0x0a, 0x0b, 0x03, 0x7d, 0x08, 0x3b, 0x4d, 0x3b, - 0xc9, 0xa2, 0x14, 0xab, 0x38, 0x4e, 0x37, 0xe7, 0x29, 0x94, 0x22, 0xf1, 0x99, 0xae, 0xde, 0xb9, - 0x69, 0xb8, 0x6d, 0x73, 0xe3, 0x0c, 0xad, 0xbf, 0x87, 0x87, 0xb7, 0xfa, 0x91, 0xdb, 0xe5, 0x0d, - 0x94, 0x23, 0xf9, 0x9d, 0x7a, 0xfa, 0xd1, 0x82, 0x9e, 0x04, 0x0a, 0x4f, 0xf1, 0x9f, 0x11, 0x00, - 0xa5, 0xa7, 0xab, 0xc0, 0x8a, 0x6c, 0x70, 0xb4, 0x7b, 0xec, 0xfd, 0xf7, 0x0b, 0x03, 0x5f, 0x58, - 0xe7, 0x9d, 0x76, 0xeb, 0x8d, 0xd1, 0xbe, 0xd0, 0x72, 0xac, 0x8d, 0xc8, 0x46, 0x79, 0x36, 0xea, - 0x9a, 0xbd, 0x5e, 0xab, 0xd9, 0x36, 0xb4, 0x02, 0x02, 0x58, 0x96, 0x9a, 0x25, 0xd6, 0x32, 0x70, - 0xa8, 0x14, 0x14, 0x0f, 0xfe, 0x96, 0x83, 0x2a, 0x8f, 0xa1, 0x91, 0xfe, 0xa9, 0x88, 0xfe, 0x9a, - 0x83, 0xcd, 0x5b, 0xa6, 0x89, 0x0e, 0xe6, 0x3e, 0x7a, 0xe6, 0xe6, 0x7e, 0xe7, 0xe5, 0x9d, 0x30, - 0x62, 0xee, 0xfa, 0x93, 0x3f, 0x7c, 0xf3, 0x9f, 0x3f, 0xe7, 0x6b, 0xfa, 0x66, 0xf6, 0x97, 0x67, - 0xfc, 0xa5, 0x5c, 0x61, 0xe4, 0xcb, 0xdc, 0x67, 0xcd, 0x04, 0x76, 0x1c, 0x3a, 0x9a, 0xc3, 0xdc, - 0xdc, 0x9c, 0x9d, 0x4e, 0x37, 0xa2, 0x09, 0xed, 0xe6, 0x7e, 0xf5, 0x5a, 0x9a, 0xbb, 0x94, 0x9d, - 0xe9, 0x75, 0x1a, 0xb9, 0xfb, 0x2e, 0x09, 0xf8, 0xff, 0x92, 0xfb, 0x42, 0x65, 0x87, 0x5e, 0x7c, - 0xf3, 0xdf, 0xd0, 0x57, 0xe2, 0xeb, 0xbf, 0xb9, 0xdc, 0xe5, 0x32, 0xb7, 0x7d, 0xf9, 0xbf, 0x00, - 0x00, 0x00, 0xff, 0xff, 0x83, 0x58, 0x40, 0x64, 0x9c, 0x15, 0x00, 0x00, + // 2281 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x59, 0x4b, 0x73, 0x23, 0x49, + 0xf1, 0x5f, 0xc9, 0x2f, 0x29, 0xf5, 0x6a, 0x97, 0x1f, 0xa3, 0xb1, 0xe7, 0xe1, 0xed, 0xfd, 0xcf, + 0x1f, 0xc7, 0x30, 0xd8, 0x8c, 0x67, 0x21, 0x96, 0x9d, 0x09, 0x40, 0x92, 0xdb, 0xb6, 0x62, 0x64, + 0x49, 0x5b, 0x92, 0xd7, 0x6b, 0x20, 0xe8, 0x68, 0xb7, 0x4a, 0x9a, 0x9e, 0x6d, 0x75, 0x35, 0xdd, + 0xad, 0x19, 0xfb, 0x4a, 0x04, 0x11, 0xdc, 0xb9, 0x73, 0xe4, 0x4e, 0x04, 0x5f, 0x81, 0x03, 0x47, + 0x62, 0xcf, 0xdc, 0xf8, 0x0c, 0x04, 0x47, 0xa2, 0x1e, 0xdd, 0x2a, 0x69, 0x2c, 0x8f, 0x4c, 0x70, + 0x52, 0x57, 0x66, 0xfe, 0x7e, 0x59, 0x95, 0x55, 0x59, 0x59, 0x55, 0x82, 0x67, 0x03, 0x4a, 0x07, + 0x2e, 0xd9, 0xb7, 0x5d, 0x3a, 0xea, 0xed, 0xbf, 0x73, 0x42, 0x87, 0x7a, 0xfb, 0xef, 0x9e, 0xef, + 0x3b, 0x43, 0x6b, 0x40, 0x4c, 0xcb, 0xf3, 0x68, 0x64, 0x45, 0x34, 0xd8, 0xf3, 0x03, 0x1a, 0x51, + 0xb4, 0x29, 0xac, 0xf7, 0xb8, 0xf5, 0x9e, 0xb0, 0xde, 0x7b, 0xf7, 0x7c, 0xeb, 0x81, 0x64, 0xb1, + 0x7c, 0x67, 0x5f, 0x62, 0x1c, 0xea, 0x85, 0x02, 0xb5, 0xf5, 0x64, 0x86, 0x8f, 0x01, 0xa1, 0x43, + 0x12, 0x05, 0xd7, 0xd2, 0x6c, 0x56, 0x57, 0x22, 0x72, 0x15, 0x99, 0x63, 0x56, 0x69, 0xfd, 0x74, + 0x86, 0xf5, 0x7b, 0x72, 0x69, 0xf6, 0x48, 0x44, 0x6c, 0xc5, 0xf6, 0x9e, 0xb4, 0x0d, 0x7c, 0x7b, + 0x3f, 0x8c, 0xac, 0x68, 0x14, 0x4e, 0x29, 0xa2, 0x6b, 0x9f, 0xec, 0xdb, 0xd4, 0x8d, 0x07, 0xba, + 0x55, 0x56, 0x15, 0xae, 0x15, 0xb9, 0xde, 0x40, 0x68, 0xf4, 0x7f, 0xa4, 0x61, 0xe5, 0x88, 0x58, + 0xd1, 0x28, 0x20, 0xe8, 0x0b, 0x58, 0x64, 0x06, 0xe5, 0xd4, 0x4e, 0x6a, 0xb7, 0x78, 0xf0, 0x7f, + 0x7b, 0x37, 0x47, 0x67, 0x4f, 0x9a, 0xef, 0x75, 0xaf, 0x7d, 0x82, 0x39, 0x02, 0x3d, 0x86, 0xdc, + 0xd0, 0xba, 0x32, 0x03, 0x12, 0x8e, 0xdc, 0x28, 0x2c, 0xa7, 0x77, 0x52, 0xbb, 0x4b, 0x18, 0x86, + 0xd6, 0x15, 0x16, 0x12, 0xfd, 0x5f, 0x29, 0x58, 0x64, 0xf6, 0x68, 0x1d, 0xb4, 0xee, 0x45, 0xdb, + 0x30, 0xcf, 0x9a, 0x9d, 0xb6, 0x51, 0xab, 0x1f, 0xd5, 0x8d, 0x43, 0xed, 0x13, 0x84, 0xa0, 0x78, + 0x54, 0xa9, 0x19, 0xe6, 0xa1, 0xd1, 0x35, 0x6a, 0xdd, 0x7a, 0xab, 0xa9, 0xa5, 0xd0, 0x26, 0xa0, + 0x46, 0xa5, 0x79, 0x78, 0x5a, 0xc1, 0xaf, 0x15, 0x79, 0x9a, 0xd9, 0x36, 0x5a, 0xc7, 0x2d, 0x45, + 0xb6, 0x80, 0xd6, 0xa0, 0xd4, 0xa8, 0x54, 0x8d, 0x86, 0x22, 0x5c, 0x64, 0x86, 0x5d, 0xe3, 0x9b, + 0xae, 0x22, 0x5b, 0x42, 0xdb, 0x70, 0xef, 0xb0, 0x55, 0x3b, 0x3b, 0x35, 0x9a, 0x5d, 0x73, 0x4a, + 0x99, 0x43, 0xf7, 0x61, 0xa3, 0x53, 0x39, 0x32, 0xcc, 0x8e, 0x51, 0xc1, 0xb5, 0x13, 0x45, 0xb5, + 0xcc, 0xba, 0x5d, 0x3f, 0xad, 0x1c, 0x1b, 0x66, 0x1b, 0xb7, 0xda, 0x06, 0xee, 0xd6, 0x8d, 0x8e, + 0xb6, 0x82, 0x8a, 0x00, 0x35, 0xdc, 0x6a, 0x9b, 0x27, 0xf5, 0x66, 0xb7, 0xa3, 0x65, 0xd1, 0x2a, + 0x14, 0xce, 0x8d, 0xaa, 0x02, 0x04, 0xbd, 0x09, 0xb9, 0x3a, 0x5b, 0x7b, 0x1d, 0x3a, 0x0a, 0x6c, + 0x82, 0x74, 0x28, 0x0c, 0xec, 0xd0, 0x14, 0xcb, 0x71, 0x14, 0x38, 0x3c, 0xd6, 0x59, 0x9c, 0x1b, + 0xd8, 0x21, 0x37, 0x3b, 0x0b, 0x1c, 0xb4, 0x0d, 0xd9, 0xb1, 0x3e, 0xcd, 0xf5, 0x19, 0x47, 0x2a, + 0xf5, 0x5f, 0xc3, 0x12, 0x37, 0x44, 0x65, 0x58, 0xb1, 0xa9, 0x17, 0x11, 0x2f, 0xe2, 0x1c, 0x79, + 0x1c, 0x37, 0xd1, 0x4b, 0x58, 0x0e, 0xb9, 0x37, 0x0e, 0xce, 0x1d, 0x7c, 0x36, 0x6b, 0x22, 0x95, + 0x8e, 0x61, 0x09, 0xd1, 0xff, 0x5e, 0x82, 0xe2, 0x91, 0x65, 0x93, 0x4a, 0xb2, 0x40, 0x51, 0x1d, + 0x0a, 0x97, 0x74, 0xe4, 0xf5, 0x1c, 0x6f, 0x60, 0xfa, 0xd4, 0xbd, 0xe6, 0xfe, 0x72, 0xb3, 0xd7, + 0x47, 0x55, 0x1a, 0xb7, 0xa9, 0x7b, 0x8d, 0xf3, 0x97, 0x4a, 0x0b, 0x35, 0x41, 0xeb, 0xf7, 0xcc, + 0x49, 0xb6, 0xf4, 0x1d, 0xd8, 0x8a, 0xfd, 0x9e, 0xda, 0x46, 0xa7, 0x90, 0x75, 0x2d, 0xaf, 0x37, + 0xb4, 0x82, 0x6f, 0xc3, 0xf2, 0xc2, 0xce, 0xc2, 0x6e, 0xee, 0x60, 0x7f, 0xe6, 0xb2, 0x9d, 0x18, + 0xd5, 0x5e, 0x43, 0xe2, 0xf0, 0x98, 0x01, 0x3d, 0x04, 0x08, 0xa8, 0xeb, 0x9a, 0x96, 0x37, 0x70, + 0x49, 0x79, 0x71, 0x27, 0xb5, 0x9b, 0xc6, 0x59, 0x26, 0xa9, 0x30, 0x01, 0x9b, 0x18, 0xdf, 0xf2, + 0xa4, 0x76, 0x89, 0x6b, 0x33, 0xbe, 0xe5, 0x09, 0xe5, 0x43, 0x80, 0xc8, 0x71, 0x23, 0xa9, 0x5d, + 0x16, 0x58, 0x26, 0x11, 0xea, 0xe7, 0xb0, 0x9e, 0xa4, 0xb1, 0x69, 0x53, 0xaf, 0xef, 0xf4, 0x88, + 0x67, 0x93, 0xf2, 0x0a, 0x37, 0x5c, 0x4b, 0x74, 0xb5, 0x44, 0x85, 0x7e, 0x04, 0x9b, 0x71, 0xd7, + 0x58, 0xb0, 0x14, 0x50, 0x86, 0x83, 0x36, 0x14, 0xad, 0x02, 0xab, 0x43, 0xf1, 0x2d, 0xbd, 0x36, + 0x5d, 0xe7, 0x5b, 0xe2, 0x3a, 0x6f, 0x28, 0xed, 0x95, 0xb3, 0x3c, 0x9f, 0xf5, 0x59, 0x81, 0x69, + 0x24, 0x96, 0xb8, 0xf0, 0x96, 0x5e, 0x8f, 0x9b, 0xa8, 0x05, 0xab, 0x21, 0x0d, 0x02, 0xfa, 0x5e, + 0x65, 0x83, 0xb9, 0xd9, 0x34, 0x01, 0x56, 0x08, 0x4f, 0x41, 0xb3, 0xbc, 0x01, 0x09, 0x54, 0xbe, + 0xdc, 0xdc, 0x7c, 0x25, 0x8e, 0x55, 0xe8, 0x3a, 0xb0, 0x16, 0x8e, 0x02, 0x3f, 0x70, 0x42, 0xa2, + 0x32, 0xe6, 0xe7, 0x66, 0x44, 0x31, 0x5c, 0x21, 0xfd, 0x15, 0x94, 0x47, 0x5e, 0x8f, 0x04, 0x26, + 0xb9, 0xf2, 0x69, 0x48, 0x7a, 0x2a, 0x73, 0x61, 0x6e, 0xe6, 0x4d, 0xce, 0x61, 0x08, 0x0a, 0x85, + 0xfd, 0x2b, 0x40, 0x97, 0xee, 0x28, 0x08, 0x26, 0x79, 0x8b, 0x73, 0xf3, 0xae, 0x4a, 0xf4, 0x64, + 0x14, 0xde, 0x10, 0xab, 0xf7, 0x9e, 0x58, 0x13, 0x71, 0x2d, 0xcd, 0x1f, 0x85, 0x18, 0x3e, 0x96, + 0x6d, 0xfd, 0x6d, 0x05, 0x32, 0x71, 0x8a, 0xa0, 0x13, 0x59, 0x18, 0x16, 0x38, 0xe5, 0xe7, 0x77, + 0xcc, 0x30, 0xb5, 0x50, 0xbc, 0x82, 0x8c, 0x4f, 0x43, 0x87, 0xe9, 0x79, 0x7e, 0xe5, 0x0e, 0x76, + 0x66, 0xb1, 0xb5, 0xa5, 0x1d, 0x4e, 0x10, 0xfa, 0x5f, 0x96, 0xc7, 0x55, 0xe4, 0xac, 0xf9, 0xba, + 0xd9, 0x3a, 0x6f, 0x9a, 0x71, 0x8d, 0xd0, 0x3e, 0x41, 0x79, 0xc8, 0x34, 0x8c, 0xa3, 0xae, 0x69, + 0x5c, 0x18, 0x5a, 0x0a, 0x15, 0x20, 0x8b, 0xeb, 0xc7, 0x27, 0xa2, 0x99, 0x46, 0x65, 0x58, 0xe7, + 0xca, 0xd6, 0x91, 0x19, 0x1b, 0x55, 0x71, 0xeb, 0x5c, 0x5b, 0x60, 0xdb, 0xbe, 0x30, 0x9c, 0x56, + 0x2d, 0x32, 0x55, 0x0c, 0x4a, 0xb8, 0xb8, 0x6a, 0x09, 0x6d, 0xc1, 0x66, 0x82, 0x9a, 0xd4, 0x2d, + 0x33, 0xd8, 0x69, 0xfd, 0xb0, 0xdd, 0xaa, 0x37, 0xbb, 0x66, 0xd5, 0xe8, 0x9e, 0x1b, 0x46, 0x93, + 0x69, 0x59, 0xc9, 0xc8, 0x43, 0xa6, 0xd9, 0xea, 0x18, 0x66, 0xb7, 0xde, 0xd6, 0x32, 0xac, 0x8f, + 0x67, 0xed, 0xb6, 0x81, 0xcd, 0x46, 0xbd, 0xad, 0x65, 0x59, 0xb3, 0xd1, 0x3a, 0x97, 0x4d, 0x60, + 0xe5, 0xe5, 0xb4, 0x75, 0xd6, 0x3d, 0xe1, 0xbd, 0xd2, 0x72, 0xa8, 0x04, 0x39, 0xd1, 0xe6, 0xfe, + 0xb4, 0x3c, 0xd2, 0x20, 0x2f, 0x04, 0x35, 0xa3, 0xd9, 0x35, 0xb0, 0x56, 0x40, 0x1b, 0xb0, 0xca, + 0xe9, 0xab, 0xad, 0x6e, 0xb7, 0x75, 0x2a, 0x0d, 0x8b, 0x2c, 0x5e, 0xaa, 0x98, 0xf3, 0x95, 0x58, + 0x85, 0x55, 0xa5, 0x92, 0x44, 0x4b, 0x46, 0x6d, 0x5c, 0x18, 0x66, 0xb7, 0xd5, 0x36, 0xab, 0xad, + 0xb3, 0xe6, 0x61, 0x05, 0x5f, 0x68, 0xab, 0x13, 0x2a, 0x31, 0xea, 0x5a, 0x0b, 0x37, 0x0d, 0xac, + 0x21, 0xf4, 0x00, 0xca, 0x89, 0x4a, 0x32, 0x26, 0xc0, 0xb5, 0x24, 0xfc, 0x4c, 0xcb, 0x3f, 0x24, + 0x6e, 0x7d, 0x1c, 0xc8, 0x0f, 0xdc, 0x6d, 0x4c, 0xea, 0x26, 0xfc, 0x6d, 0xa2, 0x87, 0x70, 0x7f, + 0xac, 0x9b, 0x76, 0x78, 0x6f, 0x3c, 0xab, 0xd3, 0x1e, 0xcb, 0xe8, 0x31, 0x6c, 0xab, 0xf3, 0x6c, + 0x8a, 0x29, 0x88, 0x67, 0x4c, 0xbb, 0x8f, 0x76, 0xe0, 0xc1, 0xc4, 0x94, 0x4e, 0x5b, 0x6c, 0xb1, + 0x80, 0x0a, 0x8a, 0x0a, 0x36, 0xbb, 0xb8, 0x72, 0xcc, 0x8a, 0xfd, 0x36, 0x8b, 0xbe, 0xc4, 0x29, + 0xe2, 0x07, 0xfc, 0xc4, 0x12, 0x8f, 0xbd, 0x7d, 0xd6, 0xae, 0x37, 0xb4, 0x87, 0xec, 0xc4, 0x32, + 0xee, 0x9e, 0x10, 0x3e, 0x62, 0xf8, 0xa3, 0x16, 0x36, 0x4e, 0x8c, 0xca, 0xa1, 0x79, 0xcc, 0x0f, + 0x34, 0x8d, 0x8a, 0xf6, 0x98, 0x1d, 0x2b, 0x6a, 0x27, 0xf5, 0xa6, 0x79, 0xdc, 0xac, 0x74, 0x4f, + 0x18, 0xe5, 0x0e, 0xf3, 0xcf, 0x45, 0x9c, 0xf7, 0xb8, 0xd5, 0x64, 0xd2, 0x4f, 0x19, 0x9e, 0x4b, + 0x05, 0xb3, 0x14, 0xeb, 0xfa, 0x2b, 0xc8, 0x37, 0xa8, 0xcd, 0x93, 0xb2, 0xee, 0xf5, 0x29, 0x7a, + 0x06, 0x2b, 0xae, 0x15, 0x99, 0xae, 0x37, 0x90, 0xa5, 0x7c, 0x2d, 0xce, 0x41, 0x96, 0xa3, 0x7b, + 0x0d, 0x2b, 0x6a, 0x78, 0x03, 0xbc, 0xec, 0xf2, 0x5f, 0xfd, 0x73, 0xc8, 0xb4, 0x03, 0xea, 0x93, + 0x20, 0xba, 0x46, 0x08, 0x16, 0x3d, 0x6b, 0x48, 0xe4, 0xa9, 0x85, 0x7f, 0xa3, 0x75, 0x58, 0x7a, + 0x67, 0xb9, 0x23, 0x22, 0x8f, 0x2a, 0xa2, 0xa1, 0xff, 0x6e, 0x01, 0x34, 0xc3, 0x8b, 0x9c, 0xe8, + 0x5a, 0x39, 0x49, 0x68, 0xb0, 0x30, 0x74, 0x7a, 0x12, 0xcd, 0x3e, 0xd1, 0x26, 0x2c, 0xbb, 0xd4, + 0xb6, 0xdc, 0x18, 0x2d, 0x5b, 0x68, 0x07, 0x72, 0x3d, 0x12, 0xda, 0x81, 0xe3, 0xf3, 0xad, 0x62, + 0x41, 0x9c, 0x92, 0x14, 0x11, 0x73, 0x1b, 0xda, 0x34, 0x88, 0xcb, 0xb4, 0x68, 0xa0, 0x47, 0x00, + 0x4a, 0x9d, 0x14, 0x35, 0x5a, 0x91, 0x30, 0x7d, 0x44, 0x7d, 0xc7, 0xb6, 0x5c, 0x27, 0xba, 0x96, + 0x55, 0x5a, 0x91, 0x7c, 0x78, 0xd6, 0x59, 0xf9, 0xaf, 0xcf, 0x3a, 0x55, 0xc8, 0xba, 0x32, 0xea, + 0x61, 0x39, 0xc3, 0xcf, 0x26, 0x33, 0x69, 0xd4, 0xe9, 0xc1, 0x63, 0x18, 0xfa, 0x39, 0x80, 0x2f, + 0x62, 0xef, 0x90, 0xb0, 0x9c, 0xe5, 0x24, 0xb3, 0x37, 0x4c, 0x39, 0x4b, 0x58, 0xc1, 0xe8, 0xbf, + 0x4f, 0xc3, 0x7a, 0xc7, 0xea, 0x93, 0x0e, 0xb1, 0x02, 0xfb, 0x8d, 0x32, 0x17, 0x5f, 0xc0, 0x92, + 0xd5, 0x1b, 0xb9, 0x91, 0x3c, 0xed, 0xcf, 0x53, 0x27, 0x04, 0x80, 0x21, 0x43, 0x9f, 0xd2, 0x3e, + 0x9f, 0xb2, 0x39, 0x91, 0x1c, 0x80, 0x5e, 0xc1, 0xca, 0x90, 0xf4, 0x58, 0xac, 0x65, 0x29, 0x99, + 0x07, 0x1b, 0x43, 0xd0, 0x4f, 0x21, 0xf3, 0xce, 0xa1, 0x2e, 0x9f, 0xd9, 0xc5, 0xb9, 0xe1, 0x09, + 0x46, 0x7f, 0x0f, 0x39, 0xb6, 0xb4, 0xa9, 0x37, 0xc0, 0xc4, 0x8e, 0xd0, 0x0b, 0xc8, 0x0d, 0x1d, + 0xcf, 0x9c, 0x23, 0x13, 0xb2, 0x43, 0xc7, 0x13, 0x9f, 0x1c, 0x64, 0x5d, 0x25, 0xa0, 0xf4, 0x6d, + 0x20, 0xeb, 0x4a, 0x7c, 0xea, 0x01, 0x64, 0x6b, 0xec, 0x32, 0xc6, 0x93, 0x6f, 0x17, 0x96, 0xf8, + 0xcd, 0x4c, 0x3a, 0x44, 0x13, 0x58, 0x6e, 0x86, 0x85, 0xc1, 0x78, 0x85, 0xa7, 0xd5, 0x15, 0xfe, + 0x04, 0x8a, 0xbe, 0x73, 0x45, 0x5c, 0xb3, 0x1f, 0x58, 0x76, 0x92, 0x1c, 0x69, 0x5c, 0xe0, 0xd2, + 0x23, 0x29, 0xd4, 0xcf, 0xa0, 0x7c, 0x48, 0x87, 0x8e, 0x67, 0x79, 0x11, 0x27, 0x0d, 0x95, 0xa9, + 0xff, 0x09, 0x2c, 0x73, 0x0f, 0x61, 0x39, 0xc5, 0x57, 0xd4, 0xa7, 0xb3, 0xc2, 0x98, 0xf4, 0x1a, + 0x4b, 0x80, 0xee, 0x42, 0x89, 0xdf, 0x1a, 0xda, 0xc9, 0x0a, 0x43, 0x17, 0x50, 0xea, 0x49, 0x4f, + 0x66, 0x42, 0xcb, 0x86, 0xf6, 0xc3, 0x59, 0xb4, 0xb3, 0x3a, 0x86, 0x8b, 0xbd, 0x09, 0x8d, 0xfe, + 0xa7, 0x14, 0x64, 0x6a, 0x01, 0xf5, 0x4f, 0x1c, 0x2f, 0xfa, 0x5f, 0x5e, 0x43, 0x26, 0x77, 0x89, + 0xf4, 0x07, 0xbb, 0xc4, 0x3e, 0xac, 0x39, 0x43, 0x9f, 0x06, 0x91, 0xe5, 0xd9, 0x64, 0x3a, 0xd0, + 0x68, 0xac, 0x4a, 0xa2, 0xfd, 0x35, 0xac, 0xc5, 0xfd, 0x54, 0x03, 0xfd, 0x33, 0x00, 0x3b, 0xa0, + 0xbe, 0xf9, 0x86, 0xc9, 0x65, 0xb0, 0x67, 0xa6, 0x6f, 0x4c, 0x80, 0xb3, 0x76, 0x4c, 0xa5, 0xff, + 0x18, 0x4a, 0x09, 0x6f, 0xdb, 0x0a, 0xac, 0x61, 0x88, 0x3e, 0x83, 0x82, 0x15, 0xfa, 0xc4, 0x8e, + 0xcc, 0x80, 0x39, 0x11, 0xb4, 0x69, 0x9c, 0x17, 0x42, 0xcc, 0x65, 0xfa, 0x77, 0x29, 0xc8, 0xf3, + 0x79, 0xaa, 0xb1, 0x3b, 0xe1, 0x55, 0x84, 0x8e, 0xa1, 0xc0, 0xd7, 0x2c, 0xf5, 0x06, 0x66, 0x40, + 0xec, 0x48, 0x06, 0x6f, 0xe6, 0xd5, 0x50, 0x49, 0x14, 0x9c, 0x73, 0x95, 0xac, 0x79, 0x02, 0x45, + 0xd7, 0xf2, 0x06, 0x23, 0x76, 0x3f, 0x15, 0xc3, 0x4a, 0xef, 0x2c, 0xec, 0x66, 0x71, 0x21, 0x96, + 0xf2, 0xbe, 0xa2, 0x0e, 0xac, 0x8e, 0x47, 0x6e, 0xfa, 0xbc, 0xeb, 0xf2, 0xc0, 0xf7, 0xbd, 0x8f, + 0x05, 0x40, 0x8e, 0x14, 0x97, 0xec, 0x49, 0x01, 0x1b, 0xd5, 0xba, 0x8c, 0x2e, 0xe1, 0xa3, 0xc3, + 0xe4, 0x37, 0x23, 0x12, 0xb2, 0x54, 0x5e, 0xe2, 0x17, 0x64, 0x39, 0xaa, 0x87, 0xb7, 0x5e, 0x78, + 0xb1, 0xb0, 0x45, 0x2f, 0x21, 0xd3, 0x17, 0x2f, 0x19, 0x62, 0x0c, 0xb9, 0x83, 0xc7, 0x1f, 0x79, + 0xf1, 0xc0, 0x09, 0x80, 0x2d, 0x46, 0x71, 0x47, 0xb7, 0x45, 0x80, 0xf9, 0xda, 0xb8, 0x65, 0x31, + 0xaa, 0x93, 0x81, 0xf3, 0x8e, 0xd2, 0xd2, 0xff, 0xba, 0x02, 0x1b, 0x53, 0xa3, 0x0a, 0x7d, 0xea, + 0x85, 0x04, 0x7d, 0x05, 0x5a, 0xdf, 0xb2, 0x89, 0xf2, 0x58, 0x14, 0x2f, 0xa2, 0xff, 0x9f, 0xef, + 0x08, 0x8e, 0x4b, 0xfd, 0x89, 0x76, 0x88, 0x7e, 0x09, 0xeb, 0xf1, 0xad, 0x71, 0x82, 0x56, 0x04, + 0x60, 0x77, 0x16, 0xed, 0x74, 0x25, 0xc7, 0x6b, 0x31, 0x8b, 0x4a, 0xde, 0x01, 0xcd, 0xa5, 0x03, + 0x3a, 0x41, 0xbc, 0x70, 0x47, 0xe2, 0x12, 0x63, 0x50, 0x49, 0xcf, 0x60, 0xd5, 0xb5, 0x2e, 0x89, + 0x3b, 0xc1, 0xba, 0x78, 0x47, 0x56, 0x8d, 0x53, 0x4c, 0xf5, 0x75, 0xea, 0x21, 0x2e, 0x2c, 0x2f, + 0xdd, 0xb5, 0xaf, 0x8c, 0x41, 0x25, 0xfd, 0x06, 0xd6, 0xfb, 0x23, 0xd7, 0x35, 0xa7, 0x98, 0xf9, + 0x85, 0xf4, 0x96, 0x49, 0xeb, 0x4e, 0xd0, 0x60, 0xc4, 0x38, 0x26, 0x65, 0xe8, 0x12, 0x36, 0x43, + 0xab, 0x4f, 0xcc, 0x90, 0x97, 0x71, 0x95, 0x7b, 0x99, 0x73, 0x3f, 0x9b, 0xc5, 0x7d, 0x53, 0xed, + 0xc7, 0xeb, 0xe1, 0x4d, 0x27, 0x82, 0x01, 0x6c, 0x8b, 0x35, 0x3d, 0x3e, 0x3e, 0xa8, 0x8e, 0x32, + 0xb7, 0x67, 0xef, 0x54, 0x59, 0xc0, 0xf7, 0x9d, 0x49, 0x81, 0xe2, 0xc8, 0x84, 0x0d, 0x65, 0x73, + 0x50, 0x5c, 0xe4, 0xb8, 0x8b, 0xef, 0x7f, 0x74, 0x83, 0x50, 0x17, 0xa2, 0x7d, 0xc3, 0xbe, 0x5b, + 0x87, 0xc2, 0xc4, 0xbb, 0x29, 0xbf, 0xb7, 0xdf, 0x92, 0x9d, 0xe7, 0xe4, 0xf2, 0x30, 0xb6, 0xc5, + 0xf9, 0xf7, 0x4a, 0x8b, 0x95, 0x6b, 0x12, 0x04, 0x34, 0xe0, 0x8f, 0x28, 0x4a, 0xb9, 0x0e, 0x7c, + 0x7b, 0xaf, 0xc3, 0xdf, 0x5e, 0xb1, 0x30, 0xd0, 0xfb, 0xb0, 0x55, 0xb5, 0xa2, 0x24, 0xa2, 0x22, + 0x97, 0xc3, 0x78, 0x8b, 0x3a, 0x81, 0x4c, 0x20, 0x3e, 0xe3, 0x1c, 0x9e, 0x39, 0x65, 0x37, 0x6d, + 0x71, 0x38, 0x41, 0xeb, 0x6f, 0x61, 0xfb, 0x46, 0x3f, 0x72, 0xd3, 0x78, 0x0d, 0xd9, 0x40, 0x7e, + 0xc7, 0x9e, 0x7e, 0x30, 0xa7, 0x27, 0x81, 0xc2, 0x63, 0xfc, 0x53, 0x02, 0xa0, 0x3c, 0x34, 0xe4, + 0x60, 0x45, 0xde, 0xba, 0xb5, 0x4f, 0xd8, 0xa5, 0xe4, 0x6b, 0x03, 0x5f, 0x98, 0x67, 0xcd, 0x46, + 0xfd, 0xb5, 0xd1, 0xb8, 0xd0, 0x52, 0xec, 0x6e, 0x9b, 0xb4, 0xd2, 0xac, 0xd5, 0x6e, 0x75, 0x3a, + 0xf5, 0x6a, 0xc3, 0xd0, 0x16, 0x10, 0xc0, 0xb2, 0xd4, 0x2c, 0xb2, 0x7b, 0x2c, 0x87, 0x4a, 0xc1, + 0xd2, 0xc1, 0x9f, 0x53, 0x50, 0xe4, 0x7d, 0xa8, 0xc4, 0x0f, 0xf4, 0xe8, 0x8f, 0x29, 0x58, 0xbb, + 0x61, 0x98, 0xe8, 0x60, 0x66, 0xb9, 0x9f, 0x19, 0xfb, 0xad, 0x17, 0x77, 0xc2, 0x88, 0xb1, 0xeb, + 0x8f, 0x7e, 0xfb, 0xdd, 0x3f, 0xff, 0x90, 0x2e, 0xeb, 0x6b, 0xc9, 0xdf, 0x07, 0xe1, 0x97, 0x72, + 0xa9, 0x92, 0x2f, 0x53, 0x4f, 0xab, 0x11, 0x6c, 0xd9, 0x74, 0x38, 0x83, 0xb9, 0xba, 0x36, 0x39, + 0x9c, 0x76, 0x40, 0x23, 0xda, 0x4e, 0xfd, 0xe2, 0x95, 0x34, 0x1f, 0x50, 0x56, 0x2e, 0xf7, 0x68, + 0x30, 0xd8, 0x1f, 0x10, 0x8f, 0xbf, 0xc4, 0xef, 0x0b, 0x95, 0xe5, 0x3b, 0xe1, 0xf4, 0x9f, 0x00, + 0x2f, 0xc5, 0xd7, 0xbf, 0x53, 0xa9, 0xcb, 0x65, 0x6e, 0xfb, 0xe2, 0x3f, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xe5, 0x59, 0xbe, 0xb0, 0xe8, 0x18, 0x00, 0x00, } diff --git a/googleapis/cloud/vision/v1/text_annotation.pb.go b/googleapis/cloud/vision/v1/text_annotation.pb.go new file mode 100644 index 00000000..dc342d82 --- /dev/null +++ b/googleapis/cloud/vision/v1/text_annotation.pb.go @@ -0,0 +1,538 @@ +// Code generated by protoc-gen-go. +// source: google/cloud/vision/v1/text_annotation.proto +// DO NOT EDIT! + +package vision + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "google.golang.org/genproto/googleapis/api/annotations" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// Enum to denote the type of break found. New line, space etc. +type TextAnnotation_DetectedBreak_BreakType int32 + +const ( + // Unknown break label type. + TextAnnotation_DetectedBreak_UNKNOWN TextAnnotation_DetectedBreak_BreakType = 0 + // Regular space. + TextAnnotation_DetectedBreak_SPACE TextAnnotation_DetectedBreak_BreakType = 1 + // Sure space (very wide). + TextAnnotation_DetectedBreak_SURE_SPACE TextAnnotation_DetectedBreak_BreakType = 2 + // Line-wrapping break. + TextAnnotation_DetectedBreak_EOL_SURE_SPACE TextAnnotation_DetectedBreak_BreakType = 3 + // End-line hyphen that is not present in text; does + TextAnnotation_DetectedBreak_HYPHEN TextAnnotation_DetectedBreak_BreakType = 4 + // not co-occur with SPACE, LEADER_SPACE, or + // LINE_BREAK. + // Line break that ends a paragraph. + TextAnnotation_DetectedBreak_LINE_BREAK TextAnnotation_DetectedBreak_BreakType = 5 +) + +var TextAnnotation_DetectedBreak_BreakType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SPACE", + 2: "SURE_SPACE", + 3: "EOL_SURE_SPACE", + 4: "HYPHEN", + 5: "LINE_BREAK", +} +var TextAnnotation_DetectedBreak_BreakType_value = map[string]int32{ + "UNKNOWN": 0, + "SPACE": 1, + "SURE_SPACE": 2, + "EOL_SURE_SPACE": 3, + "HYPHEN": 4, + "LINE_BREAK": 5, +} + +func (x TextAnnotation_DetectedBreak_BreakType) String() string { + return proto.EnumName(TextAnnotation_DetectedBreak_BreakType_name, int32(x)) +} +func (TextAnnotation_DetectedBreak_BreakType) EnumDescriptor() ([]byte, []int) { + return fileDescriptor2, []int{0, 1, 0} +} + +// Type of a block (text, image etc) as identified by OCR. +type Block_BlockType int32 + +const ( + // Unknown block type. + Block_UNKNOWN Block_BlockType = 0 + // Regular text block. + Block_TEXT Block_BlockType = 1 + // Table block. + Block_TABLE Block_BlockType = 2 + // Image block. + Block_PICTURE Block_BlockType = 3 + // Horizontal/vertical line box. + Block_RULER Block_BlockType = 4 + // Barcode block. + Block_BARCODE Block_BlockType = 5 +) + +var Block_BlockType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "TEXT", + 2: "TABLE", + 3: "PICTURE", + 4: "RULER", + 5: "BARCODE", +} +var Block_BlockType_value = map[string]int32{ + "UNKNOWN": 0, + "TEXT": 1, + "TABLE": 2, + "PICTURE": 3, + "RULER": 4, + "BARCODE": 5, +} + +func (x Block_BlockType) String() string { + return proto.EnumName(Block_BlockType_name, int32(x)) +} +func (Block_BlockType) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2, 0} } + +// TextAnnotation contains a structured representation of OCR extracted text. +// The hierarchy of an OCR extracted text structure is like this: +// TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol +// Each structural component, starting from Page, may further have their own +// properties. Properties describe detected languages, breaks etc.. Please +// refer to the [google.cloud.vision.v1.TextAnnotation.TextProperty][google.cloud.vision.v1.TextAnnotation.TextProperty] message +// definition below for more detail. +type TextAnnotation struct { + // List of pages detected by OCR. + Pages []*Page `protobuf:"bytes,1,rep,name=pages" json:"pages,omitempty"` + // UTF-8 text detected on the pages. + Text string `protobuf:"bytes,2,opt,name=text" json:"text,omitempty"` +} + +func (m *TextAnnotation) Reset() { *m = TextAnnotation{} } +func (m *TextAnnotation) String() string { return proto.CompactTextString(m) } +func (*TextAnnotation) ProtoMessage() {} +func (*TextAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} } + +func (m *TextAnnotation) GetPages() []*Page { + if m != nil { + return m.Pages + } + return nil +} + +func (m *TextAnnotation) GetText() string { + if m != nil { + return m.Text + } + return "" +} + +// Detected language for a structural component. +type TextAnnotation_DetectedLanguage struct { + // The BCP-47 language code, such as "en-US" or "sr-Latn". For more + // information, see + // http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + LanguageCode string `protobuf:"bytes,1,opt,name=language_code,json=languageCode" json:"language_code,omitempty"` + // Confidence of detected language. Range [0, 1]. + Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"` +} + +func (m *TextAnnotation_DetectedLanguage) Reset() { *m = TextAnnotation_DetectedLanguage{} } +func (m *TextAnnotation_DetectedLanguage) String() string { return proto.CompactTextString(m) } +func (*TextAnnotation_DetectedLanguage) ProtoMessage() {} +func (*TextAnnotation_DetectedLanguage) Descriptor() ([]byte, []int) { + return fileDescriptor2, []int{0, 0} +} + +func (m *TextAnnotation_DetectedLanguage) GetLanguageCode() string { + if m != nil { + return m.LanguageCode + } + return "" +} + +func (m *TextAnnotation_DetectedLanguage) GetConfidence() float32 { + if m != nil { + return m.Confidence + } + return 0 +} + +// Detected start or end of a structural component. +type TextAnnotation_DetectedBreak struct { + Type TextAnnotation_DetectedBreak_BreakType `protobuf:"varint,1,opt,name=type,enum=google.cloud.vision.v1.TextAnnotation_DetectedBreak_BreakType" json:"type,omitempty"` + // True if break prepends the element. + IsPrefix bool `protobuf:"varint,2,opt,name=is_prefix,json=isPrefix" json:"is_prefix,omitempty"` +} + +func (m *TextAnnotation_DetectedBreak) Reset() { *m = TextAnnotation_DetectedBreak{} } +func (m *TextAnnotation_DetectedBreak) String() string { return proto.CompactTextString(m) } +func (*TextAnnotation_DetectedBreak) ProtoMessage() {} +func (*TextAnnotation_DetectedBreak) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 1} } + +func (m *TextAnnotation_DetectedBreak) GetType() TextAnnotation_DetectedBreak_BreakType { + if m != nil { + return m.Type + } + return TextAnnotation_DetectedBreak_UNKNOWN +} + +func (m *TextAnnotation_DetectedBreak) GetIsPrefix() bool { + if m != nil { + return m.IsPrefix + } + return false +} + +// Additional information detected on the structural component. +type TextAnnotation_TextProperty struct { + // A list of detected languages together with confidence. + DetectedLanguages []*TextAnnotation_DetectedLanguage `protobuf:"bytes,1,rep,name=detected_languages,json=detectedLanguages" json:"detected_languages,omitempty"` + // Detected start or end of a text segment. + DetectedBreak *TextAnnotation_DetectedBreak `protobuf:"bytes,2,opt,name=detected_break,json=detectedBreak" json:"detected_break,omitempty"` +} + +func (m *TextAnnotation_TextProperty) Reset() { *m = TextAnnotation_TextProperty{} } +func (m *TextAnnotation_TextProperty) String() string { return proto.CompactTextString(m) } +func (*TextAnnotation_TextProperty) ProtoMessage() {} +func (*TextAnnotation_TextProperty) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 2} } + +func (m *TextAnnotation_TextProperty) GetDetectedLanguages() []*TextAnnotation_DetectedLanguage { + if m != nil { + return m.DetectedLanguages + } + return nil +} + +func (m *TextAnnotation_TextProperty) GetDetectedBreak() *TextAnnotation_DetectedBreak { + if m != nil { + return m.DetectedBreak + } + return nil +} + +// Detected page from OCR. +type Page struct { + // Additional information detected on the page. + Property *TextAnnotation_TextProperty `protobuf:"bytes,1,opt,name=property" json:"property,omitempty"` + // Page width in pixels. + Width int32 `protobuf:"varint,2,opt,name=width" json:"width,omitempty"` + // Page height in pixels. + Height int32 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"` + // List of blocks of text, images etc on this page. + Blocks []*Block `protobuf:"bytes,4,rep,name=blocks" json:"blocks,omitempty"` +} + +func (m *Page) Reset() { *m = Page{} } +func (m *Page) String() string { return proto.CompactTextString(m) } +func (*Page) ProtoMessage() {} +func (*Page) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} } + +func (m *Page) GetProperty() *TextAnnotation_TextProperty { + if m != nil { + return m.Property + } + return nil +} + +func (m *Page) GetWidth() int32 { + if m != nil { + return m.Width + } + return 0 +} + +func (m *Page) GetHeight() int32 { + if m != nil { + return m.Height + } + return 0 +} + +func (m *Page) GetBlocks() []*Block { + if m != nil { + return m.Blocks + } + return nil +} + +// Logical element on the page. +type Block struct { + // Additional information detected for the block. + Property *TextAnnotation_TextProperty `protobuf:"bytes,1,opt,name=property" json:"property,omitempty"` + // The bounding box for the block. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox" json:"bounding_box,omitempty"` + // List of paragraphs in this block (if this blocks is of type text). + Paragraphs []*Paragraph `protobuf:"bytes,3,rep,name=paragraphs" json:"paragraphs,omitempty"` + // Detected block type (text, image etc) for this block. + BlockType Block_BlockType `protobuf:"varint,4,opt,name=block_type,json=blockType,enum=google.cloud.vision.v1.Block_BlockType" json:"block_type,omitempty"` +} + +func (m *Block) Reset() { *m = Block{} } +func (m *Block) String() string { return proto.CompactTextString(m) } +func (*Block) ProtoMessage() {} +func (*Block) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} } + +func (m *Block) GetProperty() *TextAnnotation_TextProperty { + if m != nil { + return m.Property + } + return nil +} + +func (m *Block) GetBoundingBox() *BoundingPoly { + if m != nil { + return m.BoundingBox + } + return nil +} + +func (m *Block) GetParagraphs() []*Paragraph { + if m != nil { + return m.Paragraphs + } + return nil +} + +func (m *Block) GetBlockType() Block_BlockType { + if m != nil { + return m.BlockType + } + return Block_UNKNOWN +} + +// Structural unit of text representing a number of words in certain order. +type Paragraph struct { + // Additional information detected for the paragraph. + Property *TextAnnotation_TextProperty `protobuf:"bytes,1,opt,name=property" json:"property,omitempty"` + // The bounding box for the paragraph. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox" json:"bounding_box,omitempty"` + // List of words in this paragraph. + Words []*Word `protobuf:"bytes,3,rep,name=words" json:"words,omitempty"` +} + +func (m *Paragraph) Reset() { *m = Paragraph{} } +func (m *Paragraph) String() string { return proto.CompactTextString(m) } +func (*Paragraph) ProtoMessage() {} +func (*Paragraph) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} } + +func (m *Paragraph) GetProperty() *TextAnnotation_TextProperty { + if m != nil { + return m.Property + } + return nil +} + +func (m *Paragraph) GetBoundingBox() *BoundingPoly { + if m != nil { + return m.BoundingBox + } + return nil +} + +func (m *Paragraph) GetWords() []*Word { + if m != nil { + return m.Words + } + return nil +} + +// A word representation. +type Word struct { + // Additional information detected for the word. + Property *TextAnnotation_TextProperty `protobuf:"bytes,1,opt,name=property" json:"property,omitempty"` + // The bounding box for the word. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox" json:"bounding_box,omitempty"` + // List of symbols in the word. + // The order of the symbols follows the natural reading order. + Symbols []*Symbol `protobuf:"bytes,3,rep,name=symbols" json:"symbols,omitempty"` +} + +func (m *Word) Reset() { *m = Word{} } +func (m *Word) String() string { return proto.CompactTextString(m) } +func (*Word) ProtoMessage() {} +func (*Word) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} } + +func (m *Word) GetProperty() *TextAnnotation_TextProperty { + if m != nil { + return m.Property + } + return nil +} + +func (m *Word) GetBoundingBox() *BoundingPoly { + if m != nil { + return m.BoundingBox + } + return nil +} + +func (m *Word) GetSymbols() []*Symbol { + if m != nil { + return m.Symbols + } + return nil +} + +// A single symbol representation. +type Symbol struct { + // Additional information detected for the symbol. + Property *TextAnnotation_TextProperty `protobuf:"bytes,1,opt,name=property" json:"property,omitempty"` + // The bounding box for the symbol. + // The vertices are in the order of top-left, top-right, bottom-right, + // bottom-left. When a rotation of the bounding box is detected the rotation + // is represented as around the top-left corner as defined when the text is + // read in the 'natural' orientation. + // For example: + // * when the text is horizontal it might look like: + // 0----1 + // | | + // 3----2 + // * when it's rotated 180 degrees around the top-left corner it becomes: + // 2----3 + // | | + // 1----0 + // and the vertice order will still be (0, 1, 2, 3). + BoundingBox *BoundingPoly `protobuf:"bytes,2,opt,name=bounding_box,json=boundingBox" json:"bounding_box,omitempty"` + // The actual UTF-8 representation of the symbol. + Text string `protobuf:"bytes,3,opt,name=text" json:"text,omitempty"` +} + +func (m *Symbol) Reset() { *m = Symbol{} } +func (m *Symbol) String() string { return proto.CompactTextString(m) } +func (*Symbol) ProtoMessage() {} +func (*Symbol) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} } + +func (m *Symbol) GetProperty() *TextAnnotation_TextProperty { + if m != nil { + return m.Property + } + return nil +} + +func (m *Symbol) GetBoundingBox() *BoundingPoly { + if m != nil { + return m.BoundingBox + } + return nil +} + +func (m *Symbol) GetText() string { + if m != nil { + return m.Text + } + return "" +} + +func init() { + proto.RegisterType((*TextAnnotation)(nil), "google.cloud.vision.v1.TextAnnotation") + proto.RegisterType((*TextAnnotation_DetectedLanguage)(nil), "google.cloud.vision.v1.TextAnnotation.DetectedLanguage") + proto.RegisterType((*TextAnnotation_DetectedBreak)(nil), "google.cloud.vision.v1.TextAnnotation.DetectedBreak") + proto.RegisterType((*TextAnnotation_TextProperty)(nil), "google.cloud.vision.v1.TextAnnotation.TextProperty") + proto.RegisterType((*Page)(nil), "google.cloud.vision.v1.Page") + proto.RegisterType((*Block)(nil), "google.cloud.vision.v1.Block") + proto.RegisterType((*Paragraph)(nil), "google.cloud.vision.v1.Paragraph") + proto.RegisterType((*Word)(nil), "google.cloud.vision.v1.Word") + proto.RegisterType((*Symbol)(nil), "google.cloud.vision.v1.Symbol") + proto.RegisterEnum("google.cloud.vision.v1.TextAnnotation_DetectedBreak_BreakType", TextAnnotation_DetectedBreak_BreakType_name, TextAnnotation_DetectedBreak_BreakType_value) + proto.RegisterEnum("google.cloud.vision.v1.Block_BlockType", Block_BlockType_name, Block_BlockType_value) +} + +func init() { proto.RegisterFile("google/cloud/vision/v1/text_annotation.proto", fileDescriptor2) } + +var fileDescriptor2 = []byte{ + // 744 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x55, 0x4f, 0x6f, 0xd3, 0x4e, + 0x10, 0xfd, 0xb9, 0xb1, 0xd3, 0x78, 0xd2, 0x46, 0xfe, 0x2d, 0xa8, 0x8a, 0x42, 0xa9, 0x8a, 0x01, + 0xd1, 0x03, 0x72, 0xd4, 0x14, 0x04, 0x12, 0x08, 0x29, 0x4e, 0x0d, 0xad, 0x1a, 0x25, 0xd6, 0x36, + 0x51, 0xf9, 0x73, 0xb0, 0xfc, 0x67, 0xeb, 0x58, 0x4d, 0xbd, 0x96, 0xed, 0xb6, 0xc9, 0x8d, 0x4f, + 0xc5, 0x89, 0x6f, 0xc1, 0x09, 0xee, 0x9c, 0xb9, 0x72, 0x44, 0x5e, 0xdb, 0x69, 0x52, 0x61, 0x04, + 0x88, 0x43, 0x2f, 0xd6, 0xce, 0xe4, 0xed, 0xdb, 0xf7, 0x66, 0x33, 0x3b, 0xf0, 0xd0, 0xa5, 0xd4, + 0x1d, 0x93, 0xa6, 0x3d, 0xa6, 0x67, 0x4e, 0xf3, 0xdc, 0x8b, 0x3c, 0xea, 0x37, 0xcf, 0xb7, 0x9b, + 0x31, 0x99, 0xc4, 0x86, 0xe9, 0xfb, 0x34, 0x36, 0x63, 0x8f, 0xfa, 0x4a, 0x10, 0xd2, 0x98, 0xa2, + 0xb5, 0x14, 0xad, 0x30, 0xb4, 0x92, 0xa2, 0x95, 0xf3, 0xed, 0xc6, 0x7a, 0xc6, 0x62, 0x06, 0x5e, + 0xf3, 0x72, 0x53, 0x94, 0xee, 0x6a, 0xdc, 0x2f, 0x38, 0xc3, 0x25, 0xf4, 0x94, 0xc4, 0xe1, 0x34, + 0x85, 0xc9, 0xdf, 0x78, 0xa8, 0x0d, 0xc8, 0x24, 0x6e, 0xcf, 0x08, 0x50, 0x0b, 0x84, 0xc0, 0x74, + 0x49, 0x54, 0xe7, 0x36, 0x4b, 0x5b, 0xd5, 0xd6, 0xba, 0xf2, 0xf3, 0xf3, 0x15, 0xdd, 0x74, 0x09, + 0x4e, 0xa1, 0x08, 0x01, 0x9f, 0x88, 0xaf, 0x2f, 0x6d, 0x72, 0x5b, 0x22, 0x66, 0xeb, 0xc6, 0x11, + 0x48, 0xbb, 0x24, 0x26, 0x76, 0x4c, 0x9c, 0xae, 0xe9, 0xbb, 0x67, 0xa6, 0x4b, 0xd0, 0x5d, 0x58, + 0x1d, 0x67, 0x6b, 0xc3, 0xa6, 0x0e, 0xa9, 0x73, 0x6c, 0xc3, 0x4a, 0x9e, 0xec, 0x50, 0x87, 0xa0, + 0x0d, 0x00, 0x9b, 0xfa, 0xc7, 0x9e, 0x43, 0x7c, 0x9b, 0x30, 0xca, 0x25, 0x3c, 0x97, 0x69, 0x7c, + 0xe5, 0x60, 0x35, 0x67, 0x56, 0x43, 0x62, 0x9e, 0x20, 0x0c, 0x7c, 0x3c, 0x0d, 0x52, 0xb6, 0x5a, + 0xeb, 0x45, 0x91, 0xe2, 0x45, 0xa3, 0xca, 0x02, 0x87, 0xc2, 0xbe, 0x83, 0x69, 0x40, 0x30, 0xe3, + 0x42, 0xb7, 0x40, 0xf4, 0x22, 0x23, 0x08, 0xc9, 0xb1, 0x37, 0x61, 0x22, 0x2a, 0xb8, 0xe2, 0x45, + 0x3a, 0x8b, 0x65, 0x1b, 0xc4, 0x19, 0x1e, 0x55, 0x61, 0x79, 0xd8, 0x3b, 0xe8, 0xf5, 0x8f, 0x7a, + 0xd2, 0x7f, 0x48, 0x04, 0xe1, 0x50, 0x6f, 0x77, 0x34, 0x89, 0x43, 0x35, 0x80, 0xc3, 0x21, 0xd6, + 0x8c, 0x34, 0x5e, 0x42, 0x08, 0x6a, 0x5a, 0xbf, 0x6b, 0xcc, 0xe5, 0x4a, 0x08, 0xa0, 0xbc, 0xf7, + 0x46, 0xdf, 0xd3, 0x7a, 0x12, 0x9f, 0xe0, 0xbb, 0xfb, 0x3d, 0xcd, 0x50, 0xb1, 0xd6, 0x3e, 0x90, + 0x84, 0xc6, 0x27, 0x0e, 0x56, 0x12, 0xc9, 0x7a, 0x48, 0x03, 0x12, 0xc6, 0x53, 0x74, 0x0c, 0xc8, + 0xc9, 0x34, 0x1b, 0x79, 0xc5, 0xf2, 0x6b, 0x7a, 0xf2, 0x87, 0xa6, 0xf3, 0x2b, 0xc1, 0xff, 0x3b, + 0x57, 0x32, 0x11, 0x7a, 0x07, 0xb5, 0xd9, 0x39, 0x56, 0x62, 0x93, 0xf9, 0xaf, 0xb6, 0x1e, 0xfd, + 0x4d, 0x61, 0xf1, 0xaa, 0x33, 0x1f, 0xca, 0x1f, 0x39, 0xe0, 0x93, 0xbf, 0x0e, 0xea, 0x43, 0x25, + 0xc8, 0x9c, 0xb1, 0x8b, 0xab, 0xb6, 0x76, 0x7e, 0x93, 0x7f, 0xbe, 0x28, 0x78, 0x46, 0x82, 0x6e, + 0x82, 0x70, 0xe1, 0x39, 0xf1, 0x88, 0xa9, 0x15, 0x70, 0x1a, 0xa0, 0x35, 0x28, 0x8f, 0x88, 0xe7, + 0x8e, 0xe2, 0x7a, 0x89, 0xa5, 0xb3, 0x08, 0x3d, 0x86, 0xb2, 0x35, 0xa6, 0xf6, 0x49, 0x54, 0xe7, + 0x59, 0x01, 0x6f, 0x17, 0x1d, 0xae, 0x26, 0x28, 0x9c, 0x81, 0xe5, 0xf7, 0x25, 0x10, 0x58, 0xe6, + 0xdf, 0xeb, 0x7f, 0x05, 0x2b, 0x16, 0x3d, 0xf3, 0x1d, 0xcf, 0x77, 0x0d, 0x8b, 0x4e, 0xb2, 0xa2, + 0xdf, 0x2b, 0xd4, 0x95, 0x61, 0x75, 0x3a, 0x9e, 0xe2, 0x6a, 0xbe, 0x53, 0xa5, 0x13, 0xd4, 0x06, + 0x08, 0xcc, 0xd0, 0x74, 0x43, 0x33, 0x18, 0x45, 0xf5, 0x12, 0xb3, 0x77, 0xa7, 0xb8, 0x8d, 0x33, + 0x24, 0x9e, 0xdb, 0x84, 0x5e, 0x02, 0x30, 0xc3, 0x06, 0xeb, 0x2b, 0x9e, 0xf5, 0xd5, 0x83, 0x5f, + 0x56, 0x28, 0xfd, 0xb2, 0x06, 0x12, 0xad, 0x7c, 0x29, 0x63, 0x10, 0x67, 0xf9, 0xc5, 0x46, 0xa9, + 0x00, 0x3f, 0xd0, 0x5e, 0x0f, 0x24, 0x2e, 0x69, 0x99, 0x41, 0x5b, 0xed, 0x26, 0x2d, 0x52, 0x85, + 0x65, 0x7d, 0xbf, 0x33, 0x18, 0xe2, 0xa4, 0x37, 0x44, 0x10, 0xf0, 0xb0, 0xab, 0x61, 0x89, 0x4f, + 0xf2, 0x6a, 0x1b, 0x77, 0xfa, 0xbb, 0x9a, 0x24, 0xc8, 0x9f, 0x39, 0x10, 0x67, 0xaa, 0xaf, 0xf1, + 0x35, 0xb4, 0x40, 0xb8, 0xa0, 0xa1, 0x93, 0xdf, 0x40, 0xe1, 0x43, 0x7a, 0x44, 0x43, 0x07, 0xa7, + 0x50, 0xf9, 0x0b, 0x07, 0x7c, 0x12, 0x5f, 0x63, 0x5b, 0x4f, 0x61, 0x39, 0x9a, 0x9e, 0x5a, 0x74, + 0x9c, 0x1b, 0xdb, 0x28, 0xe2, 0x38, 0x64, 0x30, 0x9c, 0xc3, 0xe5, 0x0f, 0x1c, 0x94, 0xd3, 0xdc, + 0x35, 0xb6, 0x97, 0x8f, 0xb2, 0xd2, 0xe5, 0x28, 0x53, 0x63, 0x68, 0xd8, 0xf4, 0xb4, 0x80, 0x4b, + 0xbd, 0xb1, 0xa8, 0x50, 0x4f, 0x06, 0xab, 0xce, 0xbd, 0x7d, 0x9e, 0xc1, 0x5d, 0x9a, 0xbc, 0xd5, + 0x0a, 0x0d, 0xdd, 0xa6, 0x4b, 0x7c, 0x36, 0x76, 0x9b, 0xe9, 0x4f, 0x66, 0xe0, 0x45, 0x57, 0x07, + 0xf4, 0xb3, 0x74, 0xf5, 0x9d, 0xe3, 0xac, 0x32, 0xc3, 0xee, 0xfc, 0x08, 0x00, 0x00, 0xff, 0xff, + 0x80, 0x29, 0x2a, 0x3b, 0x2f, 0x08, 0x00, 0x00, +} diff --git a/googleapis/cloud/vision/v1/web_detection.pb.go b/googleapis/cloud/vision/v1/web_detection.pb.go new file mode 100644 index 00000000..d43b23dc --- /dev/null +++ b/googleapis/cloud/vision/v1/web_detection.pb.go @@ -0,0 +1,194 @@ +// Code generated by protoc-gen-go. +// source: google/cloud/vision/v1/web_detection.proto +// DO NOT EDIT! + +package vision + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import _ "google.golang.org/genproto/googleapis/api/annotations" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// Relevant information for the image from the Internet. +type WebDetection struct { + // Deduced entities from similar images on the Internet. + WebEntities []*WebDetection_WebEntity `protobuf:"bytes,1,rep,name=web_entities,json=webEntities" json:"web_entities,omitempty"` + // Fully matching images from the Internet. + // They're definite neardups and most often a copy of the query image with + // merely a size change. + FullMatchingImages []*WebDetection_WebImage `protobuf:"bytes,2,rep,name=full_matching_images,json=fullMatchingImages" json:"full_matching_images,omitempty"` + // Partial matching images from the Internet. + // Those images are similar enough to share some key-point features. For + // example an original image will likely have partial matching for its crops. + PartialMatchingImages []*WebDetection_WebImage `protobuf:"bytes,3,rep,name=partial_matching_images,json=partialMatchingImages" json:"partial_matching_images,omitempty"` + // Web pages containing the matching images from the Internet. + PagesWithMatchingImages []*WebDetection_WebPage `protobuf:"bytes,4,rep,name=pages_with_matching_images,json=pagesWithMatchingImages" json:"pages_with_matching_images,omitempty"` +} + +func (m *WebDetection) Reset() { *m = WebDetection{} } +func (m *WebDetection) String() string { return proto.CompactTextString(m) } +func (*WebDetection) ProtoMessage() {} +func (*WebDetection) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} } + +func (m *WebDetection) GetWebEntities() []*WebDetection_WebEntity { + if m != nil { + return m.WebEntities + } + return nil +} + +func (m *WebDetection) GetFullMatchingImages() []*WebDetection_WebImage { + if m != nil { + return m.FullMatchingImages + } + return nil +} + +func (m *WebDetection) GetPartialMatchingImages() []*WebDetection_WebImage { + if m != nil { + return m.PartialMatchingImages + } + return nil +} + +func (m *WebDetection) GetPagesWithMatchingImages() []*WebDetection_WebPage { + if m != nil { + return m.PagesWithMatchingImages + } + return nil +} + +// Entity deduced from similar images on the Internet. +type WebDetection_WebEntity struct { + // Opaque entity ID. + EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId" json:"entity_id,omitempty"` + // Overall relevancy score for the entity. + // Not normalized and not comparable across different image queries. + Score float32 `protobuf:"fixed32,2,opt,name=score" json:"score,omitempty"` + // Canonical description of the entity, in English. + Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"` +} + +func (m *WebDetection_WebEntity) Reset() { *m = WebDetection_WebEntity{} } +func (m *WebDetection_WebEntity) String() string { return proto.CompactTextString(m) } +func (*WebDetection_WebEntity) ProtoMessage() {} +func (*WebDetection_WebEntity) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0, 0} } + +func (m *WebDetection_WebEntity) GetEntityId() string { + if m != nil { + return m.EntityId + } + return "" +} + +func (m *WebDetection_WebEntity) GetScore() float32 { + if m != nil { + return m.Score + } + return 0 +} + +func (m *WebDetection_WebEntity) GetDescription() string { + if m != nil { + return m.Description + } + return "" +} + +// Metadata for online images. +type WebDetection_WebImage struct { + // The result image URL. + Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` + // Overall relevancy score for the image. + // Not normalized and not comparable across different image queries. + Score float32 `protobuf:"fixed32,2,opt,name=score" json:"score,omitempty"` +} + +func (m *WebDetection_WebImage) Reset() { *m = WebDetection_WebImage{} } +func (m *WebDetection_WebImage) String() string { return proto.CompactTextString(m) } +func (*WebDetection_WebImage) ProtoMessage() {} +func (*WebDetection_WebImage) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0, 1} } + +func (m *WebDetection_WebImage) GetUrl() string { + if m != nil { + return m.Url + } + return "" +} + +func (m *WebDetection_WebImage) GetScore() float32 { + if m != nil { + return m.Score + } + return 0 +} + +// Metadata for web pages. +type WebDetection_WebPage struct { + // The result web page URL. + Url string `protobuf:"bytes,1,opt,name=url" json:"url,omitempty"` + // Overall relevancy score for the web page. + // Not normalized and not comparable across different image queries. + Score float32 `protobuf:"fixed32,2,opt,name=score" json:"score,omitempty"` +} + +func (m *WebDetection_WebPage) Reset() { *m = WebDetection_WebPage{} } +func (m *WebDetection_WebPage) String() string { return proto.CompactTextString(m) } +func (*WebDetection_WebPage) ProtoMessage() {} +func (*WebDetection_WebPage) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0, 2} } + +func (m *WebDetection_WebPage) GetUrl() string { + if m != nil { + return m.Url + } + return "" +} + +func (m *WebDetection_WebPage) GetScore() float32 { + if m != nil { + return m.Score + } + return 0 +} + +func init() { + proto.RegisterType((*WebDetection)(nil), "google.cloud.vision.v1.WebDetection") + proto.RegisterType((*WebDetection_WebEntity)(nil), "google.cloud.vision.v1.WebDetection.WebEntity") + proto.RegisterType((*WebDetection_WebImage)(nil), "google.cloud.vision.v1.WebDetection.WebImage") + proto.RegisterType((*WebDetection_WebPage)(nil), "google.cloud.vision.v1.WebDetection.WebPage") +} + +func init() { proto.RegisterFile("google/cloud/vision/v1/web_detection.proto", fileDescriptor3) } + +var fileDescriptor3 = []byte{ + // 383 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0x41, 0x4f, 0xea, 0x40, + 0x14, 0x85, 0x53, 0xca, 0x7b, 0x0f, 0x06, 0x16, 0xcf, 0x09, 0x4a, 0x53, 0x5d, 0x34, 0xae, 0x88, + 0xd1, 0x69, 0xc0, 0xa5, 0xae, 0x88, 0x2e, 0x58, 0x98, 0x60, 0x37, 0x24, 0x6e, 0xea, 0xd0, 0x8e, + 0xc3, 0x4d, 0xca, 0x4c, 0xd3, 0x19, 0x20, 0xfc, 0x58, 0xff, 0x87, 0x4b, 0x33, 0xd3, 0x62, 0x10, + 0x30, 0x21, 0xee, 0xee, 0xdc, 0x9e, 0xf3, 0x9d, 0xf6, 0xf6, 0x0e, 0xba, 0xe2, 0x52, 0xf2, 0x8c, + 0x85, 0x49, 0x26, 0x17, 0x69, 0xb8, 0x04, 0x05, 0x52, 0x84, 0xcb, 0x7e, 0xb8, 0x62, 0xd3, 0x38, + 0x65, 0x9a, 0x25, 0x1a, 0xa4, 0x20, 0x79, 0x21, 0xb5, 0xc4, 0x67, 0xa5, 0x96, 0x58, 0x2d, 0x29, + 0xb5, 0x64, 0xd9, 0xf7, 0x2f, 0x2a, 0x06, 0xcd, 0x21, 0xa4, 0x42, 0x48, 0x4d, 0x8d, 0x49, 0x95, + 0xae, 0xcb, 0xf7, 0x3a, 0x6a, 0x4f, 0xd8, 0xf4, 0x61, 0x03, 0xc3, 0xcf, 0xa8, 0x6d, 0xe8, 0x4c, + 0x68, 0xd0, 0xc0, 0x94, 0xe7, 0x04, 0x6e, 0xaf, 0x35, 0x20, 0xe4, 0x30, 0x9d, 0x6c, 0x7b, 0xcd, + 0xe1, 0xd1, 0xf8, 0xd6, 0x51, 0x6b, 0x55, 0x95, 0xc0, 0x14, 0x8e, 0x51, 0xe7, 0x6d, 0x91, 0x65, + 0xf1, 0x9c, 0xea, 0x64, 0x06, 0x82, 0xc7, 0x30, 0xa7, 0x9c, 0x29, 0xaf, 0x66, 0xd1, 0x37, 0xc7, + 0xa2, 0x47, 0xc6, 0x15, 0x61, 0x83, 0x7a, 0xaa, 0x48, 0xb6, 0xa5, 0x30, 0x43, 0xdd, 0x9c, 0x16, + 0x1a, 0xe8, 0x7e, 0x86, 0xfb, 0x9b, 0x8c, 0xd3, 0x8a, 0xb6, 0x13, 0x03, 0xc8, 0xcf, 0x4d, 0x11, + 0xaf, 0x40, 0xcf, 0xf6, 0x92, 0xea, 0x36, 0xe9, 0xfa, 0xd8, 0xa4, 0xb1, 0x09, 0xea, 0x5a, 0xde, + 0x04, 0xf4, 0xec, 0x7b, 0x94, 0xff, 0x8a, 0x9a, 0x5f, 0xc3, 0xc4, 0xe7, 0xa8, 0x69, 0x7f, 0xc7, + 0x3a, 0x86, 0xd4, 0x73, 0x02, 0xa7, 0xd7, 0x8c, 0x1a, 0x65, 0x63, 0x94, 0xe2, 0x0e, 0xfa, 0xa3, + 0x12, 0x59, 0x30, 0xaf, 0x16, 0x38, 0xbd, 0x5a, 0x54, 0x1e, 0x70, 0x80, 0x5a, 0x29, 0x53, 0x49, + 0x01, 0xb9, 0xc9, 0xf3, 0x5c, 0x6b, 0xda, 0x6e, 0xf9, 0x03, 0xd4, 0xd8, 0x7c, 0x2f, 0xfe, 0x8f, + 0xdc, 0x45, 0x91, 0x55, 0x68, 0x53, 0x1e, 0xa6, 0xfa, 0x7d, 0xf4, 0xaf, 0x7a, 0xf3, 0x63, 0x2d, + 0xc3, 0x02, 0xf9, 0x89, 0x9c, 0xff, 0x30, 0x94, 0xe1, 0xc9, 0xf6, 0x54, 0xc6, 0x66, 0x21, 0xc7, + 0xce, 0xcb, 0x7d, 0x25, 0xe6, 0x32, 0xa3, 0x82, 0x13, 0x59, 0xf0, 0x90, 0x33, 0x61, 0xd7, 0x35, + 0x2c, 0x1f, 0xd1, 0x1c, 0xd4, 0xee, 0x9d, 0xb8, 0x2b, 0xab, 0x0f, 0xc7, 0x99, 0xfe, 0xb5, 0xda, + 0xdb, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x66, 0xd9, 0xde, 0x3f, 0x3e, 0x03, 0x00, 0x00, +} -- GitLab