...

Source file src/google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1/image_annotator.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/vision/v1p4beta1

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

View as plain text