You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2853 lines
119 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/cloud/videointelligence/v1p3beta1/video_intelligence.proto
  3. package videointelligence // import "google.golang.org/genproto/googleapis/cloud/videointelligence/v1p3beta1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import duration "github.com/golang/protobuf/ptypes/duration"
  8. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  9. import _ "google.golang.org/genproto/googleapis/api/annotations"
  10. import longrunning "google.golang.org/genproto/googleapis/longrunning"
  11. import status "google.golang.org/genproto/googleapis/rpc/status"
  12. import (
  13. context "golang.org/x/net/context"
  14. grpc "google.golang.org/grpc"
  15. )
  16. // Reference imports to suppress errors if they are not otherwise used.
  17. var _ = proto.Marshal
  18. var _ = fmt.Errorf
  19. var _ = math.Inf
  20. // This is a compile-time assertion to ensure that this generated file
  21. // is compatible with the proto package it is being compiled against.
  22. // A compilation error at this line likely means your copy of the
  23. // proto package needs to be updated.
  24. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  25. // Video annotation feature.
  26. type Feature int32
  27. const (
  28. // Unspecified.
  29. Feature_FEATURE_UNSPECIFIED Feature = 0
  30. // Label detection. Detect objects, such as dog or flower.
  31. Feature_LABEL_DETECTION Feature = 1
  32. // Shot change detection.
  33. Feature_SHOT_CHANGE_DETECTION Feature = 2
  34. // Explicit content detection.
  35. Feature_EXPLICIT_CONTENT_DETECTION Feature = 3
  36. // OCR text detection and tracking.
  37. Feature_TEXT_DETECTION Feature = 7
  38. // Object detection and tracking.
  39. Feature_OBJECT_TRACKING Feature = 9
  40. )
  41. var Feature_name = map[int32]string{
  42. 0: "FEATURE_UNSPECIFIED",
  43. 1: "LABEL_DETECTION",
  44. 2: "SHOT_CHANGE_DETECTION",
  45. 3: "EXPLICIT_CONTENT_DETECTION",
  46. 7: "TEXT_DETECTION",
  47. 9: "OBJECT_TRACKING",
  48. }
  49. var Feature_value = map[string]int32{
  50. "FEATURE_UNSPECIFIED": 0,
  51. "LABEL_DETECTION": 1,
  52. "SHOT_CHANGE_DETECTION": 2,
  53. "EXPLICIT_CONTENT_DETECTION": 3,
  54. "TEXT_DETECTION": 7,
  55. "OBJECT_TRACKING": 9,
  56. }
  57. func (x Feature) String() string {
  58. return proto.EnumName(Feature_name, int32(x))
  59. }
  60. func (Feature) EnumDescriptor() ([]byte, []int) {
  61. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{0}
  62. }
  63. // Label detection mode.
  64. type LabelDetectionMode int32
  65. const (
  66. // Unspecified.
  67. LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED LabelDetectionMode = 0
  68. // Detect shot-level labels.
  69. LabelDetectionMode_SHOT_MODE LabelDetectionMode = 1
  70. // Detect frame-level labels.
  71. LabelDetectionMode_FRAME_MODE LabelDetectionMode = 2
  72. // Detect both shot-level and frame-level labels.
  73. LabelDetectionMode_SHOT_AND_FRAME_MODE LabelDetectionMode = 3
  74. )
  75. var LabelDetectionMode_name = map[int32]string{
  76. 0: "LABEL_DETECTION_MODE_UNSPECIFIED",
  77. 1: "SHOT_MODE",
  78. 2: "FRAME_MODE",
  79. 3: "SHOT_AND_FRAME_MODE",
  80. }
  81. var LabelDetectionMode_value = map[string]int32{
  82. "LABEL_DETECTION_MODE_UNSPECIFIED": 0,
  83. "SHOT_MODE": 1,
  84. "FRAME_MODE": 2,
  85. "SHOT_AND_FRAME_MODE": 3,
  86. }
  87. func (x LabelDetectionMode) String() string {
  88. return proto.EnumName(LabelDetectionMode_name, int32(x))
  89. }
  90. func (LabelDetectionMode) EnumDescriptor() ([]byte, []int) {
  91. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{1}
  92. }
  93. // Bucketized representation of likelihood.
  94. type Likelihood int32
  95. const (
  96. // Unspecified likelihood.
  97. Likelihood_LIKELIHOOD_UNSPECIFIED Likelihood = 0
  98. // Very unlikely.
  99. Likelihood_VERY_UNLIKELY Likelihood = 1
  100. // Unlikely.
  101. Likelihood_UNLIKELY Likelihood = 2
  102. // Possible.
  103. Likelihood_POSSIBLE Likelihood = 3
  104. // Likely.
  105. Likelihood_LIKELY Likelihood = 4
  106. // Very likely.
  107. Likelihood_VERY_LIKELY Likelihood = 5
  108. )
  109. var Likelihood_name = map[int32]string{
  110. 0: "LIKELIHOOD_UNSPECIFIED",
  111. 1: "VERY_UNLIKELY",
  112. 2: "UNLIKELY",
  113. 3: "POSSIBLE",
  114. 4: "LIKELY",
  115. 5: "VERY_LIKELY",
  116. }
  117. var Likelihood_value = map[string]int32{
  118. "LIKELIHOOD_UNSPECIFIED": 0,
  119. "VERY_UNLIKELY": 1,
  120. "UNLIKELY": 2,
  121. "POSSIBLE": 3,
  122. "LIKELY": 4,
  123. "VERY_LIKELY": 5,
  124. }
  125. func (x Likelihood) String() string {
  126. return proto.EnumName(Likelihood_name, int32(x))
  127. }
  128. func (Likelihood) EnumDescriptor() ([]byte, []int) {
  129. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{2}
  130. }
  131. // Streaming video annotation feature.
  132. type StreamingFeature int32
  133. const (
  134. // Unspecified.
  135. StreamingFeature_STREAMING_FEATURE_UNSPECIFIED StreamingFeature = 0
  136. // Label detection. Detect objects, such as dog or flower.
  137. StreamingFeature_STREAMING_LABEL_DETECTION StreamingFeature = 1
  138. // Shot change detection.
  139. StreamingFeature_STREAMING_SHOT_CHANGE_DETECTION StreamingFeature = 2
  140. // Explicit content detection.
  141. StreamingFeature_STREAMING_EXPLICIT_CONTENT_DETECTION StreamingFeature = 3
  142. // Object detection and tracking.
  143. StreamingFeature_STREAMING_OBJECT_TRACKING StreamingFeature = 4
  144. )
  145. var StreamingFeature_name = map[int32]string{
  146. 0: "STREAMING_FEATURE_UNSPECIFIED",
  147. 1: "STREAMING_LABEL_DETECTION",
  148. 2: "STREAMING_SHOT_CHANGE_DETECTION",
  149. 3: "STREAMING_EXPLICIT_CONTENT_DETECTION",
  150. 4: "STREAMING_OBJECT_TRACKING",
  151. }
  152. var StreamingFeature_value = map[string]int32{
  153. "STREAMING_FEATURE_UNSPECIFIED": 0,
  154. "STREAMING_LABEL_DETECTION": 1,
  155. "STREAMING_SHOT_CHANGE_DETECTION": 2,
  156. "STREAMING_EXPLICIT_CONTENT_DETECTION": 3,
  157. "STREAMING_OBJECT_TRACKING": 4,
  158. }
  159. func (x StreamingFeature) String() string {
  160. return proto.EnumName(StreamingFeature_name, int32(x))
  161. }
  162. func (StreamingFeature) EnumDescriptor() ([]byte, []int) {
  163. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{3}
  164. }
  165. // Video annotation request.
  166. type AnnotateVideoRequest struct {
  167. // Input video location. Currently, only
  168. // [Google Cloud Storage](https://cloud.google.com/storage/) URIs are
  169. // supported, which must be specified in the following format:
  170. // `gs://bucket-id/object-id` (other URI formats return
  171. // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
  172. // more information, see [Request URIs](/storage/docs/reference-uris). A video
  173. // URI may include wildcards in `object-id`, and thus identify multiple
  174. // videos. Supported wildcards: '*' to match 0 or more characters;
  175. // '?' to match 1 character. If unset, the input video should be embedded
  176. // in the request as `input_content`. If set, `input_content` should be unset.
  177. InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
  178. // The video data bytes.
  179. // If unset, the input video(s) should be specified via `input_uri`.
  180. // If set, `input_uri` should be unset.
  181. InputContent []byte `protobuf:"bytes,6,opt,name=input_content,json=inputContent,proto3" json:"input_content,omitempty"`
  182. // Requested video annotation features.
  183. Features []Feature `protobuf:"varint,2,rep,packed,name=features,proto3,enum=google.cloud.videointelligence.v1p3beta1.Feature" json:"features,omitempty"`
  184. // Additional video context and/or feature-specific parameters.
  185. VideoContext *VideoContext `protobuf:"bytes,3,opt,name=video_context,json=videoContext,proto3" json:"video_context,omitempty"`
  186. // Optional location where the output (in JSON format) should be stored.
  187. // Currently, only [Google Cloud Storage](https://cloud.google.com/storage/)
  188. // URIs are supported, which must be specified in the following format:
  189. // `gs://bucket-id/object-id` (other URI formats return
  190. // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
  191. // more information, see [Request URIs](/storage/docs/reference-uris).
  192. OutputUri string `protobuf:"bytes,4,opt,name=output_uri,json=outputUri,proto3" json:"output_uri,omitempty"`
  193. // Optional cloud region where annotation should take place. Supported cloud
  194. // regions: `us-east1`, `us-west1`, `europe-west1`, `asia-east1`. If no region
  195. // is specified, a region will be determined based on video file location.
  196. LocationId string `protobuf:"bytes,5,opt,name=location_id,json=locationId,proto3" json:"location_id,omitempty"`
  197. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  198. XXX_unrecognized []byte `json:"-"`
  199. XXX_sizecache int32 `json:"-"`
  200. }
  201. func (m *AnnotateVideoRequest) Reset() { *m = AnnotateVideoRequest{} }
  202. func (m *AnnotateVideoRequest) String() string { return proto.CompactTextString(m) }
  203. func (*AnnotateVideoRequest) ProtoMessage() {}
  204. func (*AnnotateVideoRequest) Descriptor() ([]byte, []int) {
  205. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{0}
  206. }
  207. func (m *AnnotateVideoRequest) XXX_Unmarshal(b []byte) error {
  208. return xxx_messageInfo_AnnotateVideoRequest.Unmarshal(m, b)
  209. }
  210. func (m *AnnotateVideoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  211. return xxx_messageInfo_AnnotateVideoRequest.Marshal(b, m, deterministic)
  212. }
  213. func (dst *AnnotateVideoRequest) XXX_Merge(src proto.Message) {
  214. xxx_messageInfo_AnnotateVideoRequest.Merge(dst, src)
  215. }
  216. func (m *AnnotateVideoRequest) XXX_Size() int {
  217. return xxx_messageInfo_AnnotateVideoRequest.Size(m)
  218. }
  219. func (m *AnnotateVideoRequest) XXX_DiscardUnknown() {
  220. xxx_messageInfo_AnnotateVideoRequest.DiscardUnknown(m)
  221. }
  222. var xxx_messageInfo_AnnotateVideoRequest proto.InternalMessageInfo
  223. func (m *AnnotateVideoRequest) GetInputUri() string {
  224. if m != nil {
  225. return m.InputUri
  226. }
  227. return ""
  228. }
  229. func (m *AnnotateVideoRequest) GetInputContent() []byte {
  230. if m != nil {
  231. return m.InputContent
  232. }
  233. return nil
  234. }
  235. func (m *AnnotateVideoRequest) GetFeatures() []Feature {
  236. if m != nil {
  237. return m.Features
  238. }
  239. return nil
  240. }
  241. func (m *AnnotateVideoRequest) GetVideoContext() *VideoContext {
  242. if m != nil {
  243. return m.VideoContext
  244. }
  245. return nil
  246. }
  247. func (m *AnnotateVideoRequest) GetOutputUri() string {
  248. if m != nil {
  249. return m.OutputUri
  250. }
  251. return ""
  252. }
  253. func (m *AnnotateVideoRequest) GetLocationId() string {
  254. if m != nil {
  255. return m.LocationId
  256. }
  257. return ""
  258. }
  259. // Video context and/or feature-specific parameters.
  260. type VideoContext struct {
  261. // Video segments to annotate. The segments may overlap and are not required
  262. // to be contiguous or span the whole video. If unspecified, each video is
  263. // treated as a single segment.
  264. Segments []*VideoSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"`
  265. // Config for LABEL_DETECTION.
  266. LabelDetectionConfig *LabelDetectionConfig `protobuf:"bytes,2,opt,name=label_detection_config,json=labelDetectionConfig,proto3" json:"label_detection_config,omitempty"`
  267. // Config for SHOT_CHANGE_DETECTION.
  268. ShotChangeDetectionConfig *ShotChangeDetectionConfig `protobuf:"bytes,3,opt,name=shot_change_detection_config,json=shotChangeDetectionConfig,proto3" json:"shot_change_detection_config,omitempty"`
  269. // Config for EXPLICIT_CONTENT_DETECTION.
  270. ExplicitContentDetectionConfig *ExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig,proto3" json:"explicit_content_detection_config,omitempty"`
  271. // Config for TEXT_DETECTION.
  272. TextDetectionConfig *TextDetectionConfig `protobuf:"bytes,8,opt,name=text_detection_config,json=textDetectionConfig,proto3" json:"text_detection_config,omitempty"`
  273. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  274. XXX_unrecognized []byte `json:"-"`
  275. XXX_sizecache int32 `json:"-"`
  276. }
  277. func (m *VideoContext) Reset() { *m = VideoContext{} }
  278. func (m *VideoContext) String() string { return proto.CompactTextString(m) }
  279. func (*VideoContext) ProtoMessage() {}
  280. func (*VideoContext) Descriptor() ([]byte, []int) {
  281. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{1}
  282. }
  283. func (m *VideoContext) XXX_Unmarshal(b []byte) error {
  284. return xxx_messageInfo_VideoContext.Unmarshal(m, b)
  285. }
  286. func (m *VideoContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  287. return xxx_messageInfo_VideoContext.Marshal(b, m, deterministic)
  288. }
  289. func (dst *VideoContext) XXX_Merge(src proto.Message) {
  290. xxx_messageInfo_VideoContext.Merge(dst, src)
  291. }
  292. func (m *VideoContext) XXX_Size() int {
  293. return xxx_messageInfo_VideoContext.Size(m)
  294. }
  295. func (m *VideoContext) XXX_DiscardUnknown() {
  296. xxx_messageInfo_VideoContext.DiscardUnknown(m)
  297. }
  298. var xxx_messageInfo_VideoContext proto.InternalMessageInfo
  299. func (m *VideoContext) GetSegments() []*VideoSegment {
  300. if m != nil {
  301. return m.Segments
  302. }
  303. return nil
  304. }
  305. func (m *VideoContext) GetLabelDetectionConfig() *LabelDetectionConfig {
  306. if m != nil {
  307. return m.LabelDetectionConfig
  308. }
  309. return nil
  310. }
  311. func (m *VideoContext) GetShotChangeDetectionConfig() *ShotChangeDetectionConfig {
  312. if m != nil {
  313. return m.ShotChangeDetectionConfig
  314. }
  315. return nil
  316. }
  317. func (m *VideoContext) GetExplicitContentDetectionConfig() *ExplicitContentDetectionConfig {
  318. if m != nil {
  319. return m.ExplicitContentDetectionConfig
  320. }
  321. return nil
  322. }
  323. func (m *VideoContext) GetTextDetectionConfig() *TextDetectionConfig {
  324. if m != nil {
  325. return m.TextDetectionConfig
  326. }
  327. return nil
  328. }
  329. // Config for LABEL_DETECTION.
  330. type LabelDetectionConfig struct {
  331. // What labels should be detected with LABEL_DETECTION, in addition to
  332. // video-level labels or segment-level labels.
  333. // If unspecified, defaults to `SHOT_MODE`.
  334. LabelDetectionMode LabelDetectionMode `protobuf:"varint,1,opt,name=label_detection_mode,json=labelDetectionMode,proto3,enum=google.cloud.videointelligence.v1p3beta1.LabelDetectionMode" json:"label_detection_mode,omitempty"`
  335. // Whether the video has been shot from a stationary (i.e. non-moving) camera.
  336. // When set to true, might improve detection accuracy for moving objects.
  337. // Should be used with `SHOT_AND_FRAME_MODE` enabled.
  338. StationaryCamera bool `protobuf:"varint,2,opt,name=stationary_camera,json=stationaryCamera,proto3" json:"stationary_camera,omitempty"`
  339. // Model to use for label detection.
  340. // Supported values: "builtin/stable" (the default if unset) and
  341. // "builtin/latest".
  342. Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
  343. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  344. XXX_unrecognized []byte `json:"-"`
  345. XXX_sizecache int32 `json:"-"`
  346. }
  347. func (m *LabelDetectionConfig) Reset() { *m = LabelDetectionConfig{} }
  348. func (m *LabelDetectionConfig) String() string { return proto.CompactTextString(m) }
  349. func (*LabelDetectionConfig) ProtoMessage() {}
  350. func (*LabelDetectionConfig) Descriptor() ([]byte, []int) {
  351. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{2}
  352. }
  353. func (m *LabelDetectionConfig) XXX_Unmarshal(b []byte) error {
  354. return xxx_messageInfo_LabelDetectionConfig.Unmarshal(m, b)
  355. }
  356. func (m *LabelDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  357. return xxx_messageInfo_LabelDetectionConfig.Marshal(b, m, deterministic)
  358. }
  359. func (dst *LabelDetectionConfig) XXX_Merge(src proto.Message) {
  360. xxx_messageInfo_LabelDetectionConfig.Merge(dst, src)
  361. }
  362. func (m *LabelDetectionConfig) XXX_Size() int {
  363. return xxx_messageInfo_LabelDetectionConfig.Size(m)
  364. }
  365. func (m *LabelDetectionConfig) XXX_DiscardUnknown() {
  366. xxx_messageInfo_LabelDetectionConfig.DiscardUnknown(m)
  367. }
  368. var xxx_messageInfo_LabelDetectionConfig proto.InternalMessageInfo
  369. func (m *LabelDetectionConfig) GetLabelDetectionMode() LabelDetectionMode {
  370. if m != nil {
  371. return m.LabelDetectionMode
  372. }
  373. return LabelDetectionMode_LABEL_DETECTION_MODE_UNSPECIFIED
  374. }
  375. func (m *LabelDetectionConfig) GetStationaryCamera() bool {
  376. if m != nil {
  377. return m.StationaryCamera
  378. }
  379. return false
  380. }
  381. func (m *LabelDetectionConfig) GetModel() string {
  382. if m != nil {
  383. return m.Model
  384. }
  385. return ""
  386. }
  387. // Config for SHOT_CHANGE_DETECTION.
  388. type ShotChangeDetectionConfig struct {
  389. // Model to use for shot change detection.
  390. // Supported values: "builtin/stable" (the default if unset) and
  391. // "builtin/latest".
  392. Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
  393. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  394. XXX_unrecognized []byte `json:"-"`
  395. XXX_sizecache int32 `json:"-"`
  396. }
  397. func (m *ShotChangeDetectionConfig) Reset() { *m = ShotChangeDetectionConfig{} }
  398. func (m *ShotChangeDetectionConfig) String() string { return proto.CompactTextString(m) }
  399. func (*ShotChangeDetectionConfig) ProtoMessage() {}
  400. func (*ShotChangeDetectionConfig) Descriptor() ([]byte, []int) {
  401. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{3}
  402. }
  403. func (m *ShotChangeDetectionConfig) XXX_Unmarshal(b []byte) error {
  404. return xxx_messageInfo_ShotChangeDetectionConfig.Unmarshal(m, b)
  405. }
  406. func (m *ShotChangeDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  407. return xxx_messageInfo_ShotChangeDetectionConfig.Marshal(b, m, deterministic)
  408. }
  409. func (dst *ShotChangeDetectionConfig) XXX_Merge(src proto.Message) {
  410. xxx_messageInfo_ShotChangeDetectionConfig.Merge(dst, src)
  411. }
  412. func (m *ShotChangeDetectionConfig) XXX_Size() int {
  413. return xxx_messageInfo_ShotChangeDetectionConfig.Size(m)
  414. }
  415. func (m *ShotChangeDetectionConfig) XXX_DiscardUnknown() {
  416. xxx_messageInfo_ShotChangeDetectionConfig.DiscardUnknown(m)
  417. }
  418. var xxx_messageInfo_ShotChangeDetectionConfig proto.InternalMessageInfo
  419. func (m *ShotChangeDetectionConfig) GetModel() string {
  420. if m != nil {
  421. return m.Model
  422. }
  423. return ""
  424. }
  425. // Config for EXPLICIT_CONTENT_DETECTION.
  426. type ExplicitContentDetectionConfig struct {
  427. // Model to use for explicit content detection.
  428. // Supported values: "builtin/stable" (the default if unset) and
  429. // "builtin/latest".
  430. Model string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
  431. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  432. XXX_unrecognized []byte `json:"-"`
  433. XXX_sizecache int32 `json:"-"`
  434. }
  435. func (m *ExplicitContentDetectionConfig) Reset() { *m = ExplicitContentDetectionConfig{} }
  436. func (m *ExplicitContentDetectionConfig) String() string { return proto.CompactTextString(m) }
  437. func (*ExplicitContentDetectionConfig) ProtoMessage() {}
  438. func (*ExplicitContentDetectionConfig) Descriptor() ([]byte, []int) {
  439. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{4}
  440. }
  441. func (m *ExplicitContentDetectionConfig) XXX_Unmarshal(b []byte) error {
  442. return xxx_messageInfo_ExplicitContentDetectionConfig.Unmarshal(m, b)
  443. }
  444. func (m *ExplicitContentDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  445. return xxx_messageInfo_ExplicitContentDetectionConfig.Marshal(b, m, deterministic)
  446. }
  447. func (dst *ExplicitContentDetectionConfig) XXX_Merge(src proto.Message) {
  448. xxx_messageInfo_ExplicitContentDetectionConfig.Merge(dst, src)
  449. }
  450. func (m *ExplicitContentDetectionConfig) XXX_Size() int {
  451. return xxx_messageInfo_ExplicitContentDetectionConfig.Size(m)
  452. }
  453. func (m *ExplicitContentDetectionConfig) XXX_DiscardUnknown() {
  454. xxx_messageInfo_ExplicitContentDetectionConfig.DiscardUnknown(m)
  455. }
  456. var xxx_messageInfo_ExplicitContentDetectionConfig proto.InternalMessageInfo
  457. func (m *ExplicitContentDetectionConfig) GetModel() string {
  458. if m != nil {
  459. return m.Model
  460. }
  461. return ""
  462. }
  463. // Config for TEXT_DETECTION.
  464. type TextDetectionConfig struct {
  465. // Language hint can be specified if the language to be detected is known a
  466. // priori. It can increase the accuracy of the detection. Language hint must
  467. // be language code in BCP-47 format.
  468. //
  469. // Automatic language detection is performed if no hint is provided.
  470. LanguageHints []string `protobuf:"bytes,1,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"`
  471. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  472. XXX_unrecognized []byte `json:"-"`
  473. XXX_sizecache int32 `json:"-"`
  474. }
  475. func (m *TextDetectionConfig) Reset() { *m = TextDetectionConfig{} }
  476. func (m *TextDetectionConfig) String() string { return proto.CompactTextString(m) }
  477. func (*TextDetectionConfig) ProtoMessage() {}
  478. func (*TextDetectionConfig) Descriptor() ([]byte, []int) {
  479. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{5}
  480. }
  481. func (m *TextDetectionConfig) XXX_Unmarshal(b []byte) error {
  482. return xxx_messageInfo_TextDetectionConfig.Unmarshal(m, b)
  483. }
  484. func (m *TextDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  485. return xxx_messageInfo_TextDetectionConfig.Marshal(b, m, deterministic)
  486. }
  487. func (dst *TextDetectionConfig) XXX_Merge(src proto.Message) {
  488. xxx_messageInfo_TextDetectionConfig.Merge(dst, src)
  489. }
  490. func (m *TextDetectionConfig) XXX_Size() int {
  491. return xxx_messageInfo_TextDetectionConfig.Size(m)
  492. }
  493. func (m *TextDetectionConfig) XXX_DiscardUnknown() {
  494. xxx_messageInfo_TextDetectionConfig.DiscardUnknown(m)
  495. }
  496. var xxx_messageInfo_TextDetectionConfig proto.InternalMessageInfo
  497. func (m *TextDetectionConfig) GetLanguageHints() []string {
  498. if m != nil {
  499. return m.LanguageHints
  500. }
  501. return nil
  502. }
  503. // Video segment.
  504. type VideoSegment struct {
  505. // Time-offset, relative to the beginning of the video,
  506. // corresponding to the start of the segment (inclusive).
  507. StartTimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=start_time_offset,json=startTimeOffset,proto3" json:"start_time_offset,omitempty"`
  508. // Time-offset, relative to the beginning of the video,
  509. // corresponding to the end of the segment (inclusive).
  510. EndTimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=end_time_offset,json=endTimeOffset,proto3" json:"end_time_offset,omitempty"`
  511. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  512. XXX_unrecognized []byte `json:"-"`
  513. XXX_sizecache int32 `json:"-"`
  514. }
  515. func (m *VideoSegment) Reset() { *m = VideoSegment{} }
  516. func (m *VideoSegment) String() string { return proto.CompactTextString(m) }
  517. func (*VideoSegment) ProtoMessage() {}
  518. func (*VideoSegment) Descriptor() ([]byte, []int) {
  519. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{6}
  520. }
  521. func (m *VideoSegment) XXX_Unmarshal(b []byte) error {
  522. return xxx_messageInfo_VideoSegment.Unmarshal(m, b)
  523. }
  524. func (m *VideoSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  525. return xxx_messageInfo_VideoSegment.Marshal(b, m, deterministic)
  526. }
  527. func (dst *VideoSegment) XXX_Merge(src proto.Message) {
  528. xxx_messageInfo_VideoSegment.Merge(dst, src)
  529. }
  530. func (m *VideoSegment) XXX_Size() int {
  531. return xxx_messageInfo_VideoSegment.Size(m)
  532. }
  533. func (m *VideoSegment) XXX_DiscardUnknown() {
  534. xxx_messageInfo_VideoSegment.DiscardUnknown(m)
  535. }
  536. var xxx_messageInfo_VideoSegment proto.InternalMessageInfo
  537. func (m *VideoSegment) GetStartTimeOffset() *duration.Duration {
  538. if m != nil {
  539. return m.StartTimeOffset
  540. }
  541. return nil
  542. }
  543. func (m *VideoSegment) GetEndTimeOffset() *duration.Duration {
  544. if m != nil {
  545. return m.EndTimeOffset
  546. }
  547. return nil
  548. }
  549. // Video segment level annotation results for label detection.
  550. type LabelSegment struct {
  551. // Video segment where a label was detected.
  552. Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"`
  553. // Confidence that the label is accurate. Range: [0, 1].
  554. Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
  555. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  556. XXX_unrecognized []byte `json:"-"`
  557. XXX_sizecache int32 `json:"-"`
  558. }
  559. func (m *LabelSegment) Reset() { *m = LabelSegment{} }
  560. func (m *LabelSegment) String() string { return proto.CompactTextString(m) }
  561. func (*LabelSegment) ProtoMessage() {}
  562. func (*LabelSegment) Descriptor() ([]byte, []int) {
  563. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{7}
  564. }
  565. func (m *LabelSegment) XXX_Unmarshal(b []byte) error {
  566. return xxx_messageInfo_LabelSegment.Unmarshal(m, b)
  567. }
  568. func (m *LabelSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  569. return xxx_messageInfo_LabelSegment.Marshal(b, m, deterministic)
  570. }
  571. func (dst *LabelSegment) XXX_Merge(src proto.Message) {
  572. xxx_messageInfo_LabelSegment.Merge(dst, src)
  573. }
  574. func (m *LabelSegment) XXX_Size() int {
  575. return xxx_messageInfo_LabelSegment.Size(m)
  576. }
  577. func (m *LabelSegment) XXX_DiscardUnknown() {
  578. xxx_messageInfo_LabelSegment.DiscardUnknown(m)
  579. }
  580. var xxx_messageInfo_LabelSegment proto.InternalMessageInfo
  581. func (m *LabelSegment) GetSegment() *VideoSegment {
  582. if m != nil {
  583. return m.Segment
  584. }
  585. return nil
  586. }
  587. func (m *LabelSegment) GetConfidence() float32 {
  588. if m != nil {
  589. return m.Confidence
  590. }
  591. return 0
  592. }
  593. // Video frame level annotation results for label detection.
  594. type LabelFrame struct {
  595. // Time-offset, relative to the beginning of the video, corresponding to the
  596. // video frame for this location.
  597. TimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
  598. // Confidence that the label is accurate. Range: [0, 1].
  599. Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
  600. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  601. XXX_unrecognized []byte `json:"-"`
  602. XXX_sizecache int32 `json:"-"`
  603. }
  604. func (m *LabelFrame) Reset() { *m = LabelFrame{} }
  605. func (m *LabelFrame) String() string { return proto.CompactTextString(m) }
  606. func (*LabelFrame) ProtoMessage() {}
  607. func (*LabelFrame) Descriptor() ([]byte, []int) {
  608. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{8}
  609. }
  610. func (m *LabelFrame) XXX_Unmarshal(b []byte) error {
  611. return xxx_messageInfo_LabelFrame.Unmarshal(m, b)
  612. }
  613. func (m *LabelFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  614. return xxx_messageInfo_LabelFrame.Marshal(b, m, deterministic)
  615. }
  616. func (dst *LabelFrame) XXX_Merge(src proto.Message) {
  617. xxx_messageInfo_LabelFrame.Merge(dst, src)
  618. }
  619. func (m *LabelFrame) XXX_Size() int {
  620. return xxx_messageInfo_LabelFrame.Size(m)
  621. }
  622. func (m *LabelFrame) XXX_DiscardUnknown() {
  623. xxx_messageInfo_LabelFrame.DiscardUnknown(m)
  624. }
  625. var xxx_messageInfo_LabelFrame proto.InternalMessageInfo
  626. func (m *LabelFrame) GetTimeOffset() *duration.Duration {
  627. if m != nil {
  628. return m.TimeOffset
  629. }
  630. return nil
  631. }
  632. func (m *LabelFrame) GetConfidence() float32 {
  633. if m != nil {
  634. return m.Confidence
  635. }
  636. return 0
  637. }
  638. // Detected entity from video analysis.
  639. type Entity struct {
  640. // Opaque entity ID. Some IDs may be available in
  641. // [Google Knowledge Graph Search
  642. // API](https://developers.google.com/knowledge-graph/).
  643. EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
  644. // Textual description, e.g. `Fixed-gear bicycle`.
  645. Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
  646. // Language code for `description` in BCP-47 format.
  647. LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
  648. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  649. XXX_unrecognized []byte `json:"-"`
  650. XXX_sizecache int32 `json:"-"`
  651. }
  652. func (m *Entity) Reset() { *m = Entity{} }
  653. func (m *Entity) String() string { return proto.CompactTextString(m) }
  654. func (*Entity) ProtoMessage() {}
  655. func (*Entity) Descriptor() ([]byte, []int) {
  656. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{9}
  657. }
  658. func (m *Entity) XXX_Unmarshal(b []byte) error {
  659. return xxx_messageInfo_Entity.Unmarshal(m, b)
  660. }
  661. func (m *Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  662. return xxx_messageInfo_Entity.Marshal(b, m, deterministic)
  663. }
  664. func (dst *Entity) XXX_Merge(src proto.Message) {
  665. xxx_messageInfo_Entity.Merge(dst, src)
  666. }
  667. func (m *Entity) XXX_Size() int {
  668. return xxx_messageInfo_Entity.Size(m)
  669. }
  670. func (m *Entity) XXX_DiscardUnknown() {
  671. xxx_messageInfo_Entity.DiscardUnknown(m)
  672. }
  673. var xxx_messageInfo_Entity proto.InternalMessageInfo
  674. func (m *Entity) GetEntityId() string {
  675. if m != nil {
  676. return m.EntityId
  677. }
  678. return ""
  679. }
  680. func (m *Entity) GetDescription() string {
  681. if m != nil {
  682. return m.Description
  683. }
  684. return ""
  685. }
  686. func (m *Entity) GetLanguageCode() string {
  687. if m != nil {
  688. return m.LanguageCode
  689. }
  690. return ""
  691. }
  692. // Label annotation.
  693. type LabelAnnotation struct {
  694. // Detected entity.
  695. Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  696. // Common categories for the detected entity.
  697. // E.g. when the label is `Terrier` the category is likely `dog`. And in some
  698. // cases there might be more than one categories e.g. `Terrier` could also be
  699. // a `pet`.
  700. CategoryEntities []*Entity `protobuf:"bytes,2,rep,name=category_entities,json=categoryEntities,proto3" json:"category_entities,omitempty"`
  701. // All video segments where a label was detected.
  702. Segments []*LabelSegment `protobuf:"bytes,3,rep,name=segments,proto3" json:"segments,omitempty"`
  703. // All video frames where a label was detected.
  704. Frames []*LabelFrame `protobuf:"bytes,4,rep,name=frames,proto3" json:"frames,omitempty"`
  705. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  706. XXX_unrecognized []byte `json:"-"`
  707. XXX_sizecache int32 `json:"-"`
  708. }
  709. func (m *LabelAnnotation) Reset() { *m = LabelAnnotation{} }
  710. func (m *LabelAnnotation) String() string { return proto.CompactTextString(m) }
  711. func (*LabelAnnotation) ProtoMessage() {}
  712. func (*LabelAnnotation) Descriptor() ([]byte, []int) {
  713. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{10}
  714. }
  715. func (m *LabelAnnotation) XXX_Unmarshal(b []byte) error {
  716. return xxx_messageInfo_LabelAnnotation.Unmarshal(m, b)
  717. }
  718. func (m *LabelAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  719. return xxx_messageInfo_LabelAnnotation.Marshal(b, m, deterministic)
  720. }
  721. func (dst *LabelAnnotation) XXX_Merge(src proto.Message) {
  722. xxx_messageInfo_LabelAnnotation.Merge(dst, src)
  723. }
  724. func (m *LabelAnnotation) XXX_Size() int {
  725. return xxx_messageInfo_LabelAnnotation.Size(m)
  726. }
  727. func (m *LabelAnnotation) XXX_DiscardUnknown() {
  728. xxx_messageInfo_LabelAnnotation.DiscardUnknown(m)
  729. }
  730. var xxx_messageInfo_LabelAnnotation proto.InternalMessageInfo
  731. func (m *LabelAnnotation) GetEntity() *Entity {
  732. if m != nil {
  733. return m.Entity
  734. }
  735. return nil
  736. }
  737. func (m *LabelAnnotation) GetCategoryEntities() []*Entity {
  738. if m != nil {
  739. return m.CategoryEntities
  740. }
  741. return nil
  742. }
  743. func (m *LabelAnnotation) GetSegments() []*LabelSegment {
  744. if m != nil {
  745. return m.Segments
  746. }
  747. return nil
  748. }
  749. func (m *LabelAnnotation) GetFrames() []*LabelFrame {
  750. if m != nil {
  751. return m.Frames
  752. }
  753. return nil
  754. }
  755. // Video frame level annotation results for explicit content.
  756. type ExplicitContentFrame struct {
  757. // Time-offset, relative to the beginning of the video, corresponding to the
  758. // video frame for this location.
  759. TimeOffset *duration.Duration `protobuf:"bytes,1,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
  760. // Likelihood of the pornography content..
  761. PornographyLikelihood Likelihood `protobuf:"varint,2,opt,name=pornography_likelihood,json=pornographyLikelihood,proto3,enum=google.cloud.videointelligence.v1p3beta1.Likelihood" json:"pornography_likelihood,omitempty"`
  762. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  763. XXX_unrecognized []byte `json:"-"`
  764. XXX_sizecache int32 `json:"-"`
  765. }
  766. func (m *ExplicitContentFrame) Reset() { *m = ExplicitContentFrame{} }
  767. func (m *ExplicitContentFrame) String() string { return proto.CompactTextString(m) }
  768. func (*ExplicitContentFrame) ProtoMessage() {}
  769. func (*ExplicitContentFrame) Descriptor() ([]byte, []int) {
  770. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{11}
  771. }
  772. func (m *ExplicitContentFrame) XXX_Unmarshal(b []byte) error {
  773. return xxx_messageInfo_ExplicitContentFrame.Unmarshal(m, b)
  774. }
  775. func (m *ExplicitContentFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  776. return xxx_messageInfo_ExplicitContentFrame.Marshal(b, m, deterministic)
  777. }
  778. func (dst *ExplicitContentFrame) XXX_Merge(src proto.Message) {
  779. xxx_messageInfo_ExplicitContentFrame.Merge(dst, src)
  780. }
  781. func (m *ExplicitContentFrame) XXX_Size() int {
  782. return xxx_messageInfo_ExplicitContentFrame.Size(m)
  783. }
  784. func (m *ExplicitContentFrame) XXX_DiscardUnknown() {
  785. xxx_messageInfo_ExplicitContentFrame.DiscardUnknown(m)
  786. }
  787. var xxx_messageInfo_ExplicitContentFrame proto.InternalMessageInfo
  788. func (m *ExplicitContentFrame) GetTimeOffset() *duration.Duration {
  789. if m != nil {
  790. return m.TimeOffset
  791. }
  792. return nil
  793. }
  794. func (m *ExplicitContentFrame) GetPornographyLikelihood() Likelihood {
  795. if m != nil {
  796. return m.PornographyLikelihood
  797. }
  798. return Likelihood_LIKELIHOOD_UNSPECIFIED
  799. }
  800. // Explicit content annotation (based on per-frame visual signals only).
  801. // If no explicit content has been detected in a frame, no annotations are
  802. // present for that frame.
  803. type ExplicitContentAnnotation struct {
  804. // All video frames where explicit content was detected.
  805. Frames []*ExplicitContentFrame `protobuf:"bytes,1,rep,name=frames,proto3" json:"frames,omitempty"`
  806. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  807. XXX_unrecognized []byte `json:"-"`
  808. XXX_sizecache int32 `json:"-"`
  809. }
  810. func (m *ExplicitContentAnnotation) Reset() { *m = ExplicitContentAnnotation{} }
  811. func (m *ExplicitContentAnnotation) String() string { return proto.CompactTextString(m) }
  812. func (*ExplicitContentAnnotation) ProtoMessage() {}
  813. func (*ExplicitContentAnnotation) Descriptor() ([]byte, []int) {
  814. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{12}
  815. }
  816. func (m *ExplicitContentAnnotation) XXX_Unmarshal(b []byte) error {
  817. return xxx_messageInfo_ExplicitContentAnnotation.Unmarshal(m, b)
  818. }
  819. func (m *ExplicitContentAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  820. return xxx_messageInfo_ExplicitContentAnnotation.Marshal(b, m, deterministic)
  821. }
  822. func (dst *ExplicitContentAnnotation) XXX_Merge(src proto.Message) {
  823. xxx_messageInfo_ExplicitContentAnnotation.Merge(dst, src)
  824. }
  825. func (m *ExplicitContentAnnotation) XXX_Size() int {
  826. return xxx_messageInfo_ExplicitContentAnnotation.Size(m)
  827. }
  828. func (m *ExplicitContentAnnotation) XXX_DiscardUnknown() {
  829. xxx_messageInfo_ExplicitContentAnnotation.DiscardUnknown(m)
  830. }
  831. var xxx_messageInfo_ExplicitContentAnnotation proto.InternalMessageInfo
  832. func (m *ExplicitContentAnnotation) GetFrames() []*ExplicitContentFrame {
  833. if m != nil {
  834. return m.Frames
  835. }
  836. return nil
  837. }
  838. // Normalized bounding box.
  839. // The normalized vertex coordinates are relative to the original image.
  840. // Range: [0, 1].
  841. type NormalizedBoundingBox struct {
  842. // Left X coordinate.
  843. Left float32 `protobuf:"fixed32,1,opt,name=left,proto3" json:"left,omitempty"`
  844. // Top Y coordinate.
  845. Top float32 `protobuf:"fixed32,2,opt,name=top,proto3" json:"top,omitempty"`
  846. // Right X coordinate.
  847. Right float32 `protobuf:"fixed32,3,opt,name=right,proto3" json:"right,omitempty"`
  848. // Bottom Y coordinate.
  849. Bottom float32 `protobuf:"fixed32,4,opt,name=bottom,proto3" json:"bottom,omitempty"`
  850. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  851. XXX_unrecognized []byte `json:"-"`
  852. XXX_sizecache int32 `json:"-"`
  853. }
  854. func (m *NormalizedBoundingBox) Reset() { *m = NormalizedBoundingBox{} }
  855. func (m *NormalizedBoundingBox) String() string { return proto.CompactTextString(m) }
  856. func (*NormalizedBoundingBox) ProtoMessage() {}
  857. func (*NormalizedBoundingBox) Descriptor() ([]byte, []int) {
  858. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{13}
  859. }
  860. func (m *NormalizedBoundingBox) XXX_Unmarshal(b []byte) error {
  861. return xxx_messageInfo_NormalizedBoundingBox.Unmarshal(m, b)
  862. }
  863. func (m *NormalizedBoundingBox) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  864. return xxx_messageInfo_NormalizedBoundingBox.Marshal(b, m, deterministic)
  865. }
  866. func (dst *NormalizedBoundingBox) XXX_Merge(src proto.Message) {
  867. xxx_messageInfo_NormalizedBoundingBox.Merge(dst, src)
  868. }
  869. func (m *NormalizedBoundingBox) XXX_Size() int {
  870. return xxx_messageInfo_NormalizedBoundingBox.Size(m)
  871. }
  872. func (m *NormalizedBoundingBox) XXX_DiscardUnknown() {
  873. xxx_messageInfo_NormalizedBoundingBox.DiscardUnknown(m)
  874. }
  875. var xxx_messageInfo_NormalizedBoundingBox proto.InternalMessageInfo
  876. func (m *NormalizedBoundingBox) GetLeft() float32 {
  877. if m != nil {
  878. return m.Left
  879. }
  880. return 0
  881. }
  882. func (m *NormalizedBoundingBox) GetTop() float32 {
  883. if m != nil {
  884. return m.Top
  885. }
  886. return 0
  887. }
  888. func (m *NormalizedBoundingBox) GetRight() float32 {
  889. if m != nil {
  890. return m.Right
  891. }
  892. return 0
  893. }
  894. func (m *NormalizedBoundingBox) GetBottom() float32 {
  895. if m != nil {
  896. return m.Bottom
  897. }
  898. return 0
  899. }
  900. // Annotation results for a single video.
  901. type VideoAnnotationResults struct {
  902. // Video file location in
  903. // [Google Cloud Storage](https://cloud.google.com/storage/).
  904. InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
  905. // Label annotations on video level or user specified segment level.
  906. // There is exactly one element for each unique label.
  907. SegmentLabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=segment_label_annotations,json=segmentLabelAnnotations,proto3" json:"segment_label_annotations,omitempty"`
  908. // Label annotations on shot level.
  909. // There is exactly one element for each unique label.
  910. ShotLabelAnnotations []*LabelAnnotation `protobuf:"bytes,3,rep,name=shot_label_annotations,json=shotLabelAnnotations,proto3" json:"shot_label_annotations,omitempty"`
  911. // Label annotations on frame level.
  912. // There is exactly one element for each unique label.
  913. FrameLabelAnnotations []*LabelAnnotation `protobuf:"bytes,4,rep,name=frame_label_annotations,json=frameLabelAnnotations,proto3" json:"frame_label_annotations,omitempty"`
  914. // Shot annotations. Each shot is represented as a video segment.
  915. ShotAnnotations []*VideoSegment `protobuf:"bytes,6,rep,name=shot_annotations,json=shotAnnotations,proto3" json:"shot_annotations,omitempty"`
  916. // Explicit content annotation.
  917. ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,7,opt,name=explicit_annotation,json=explicitAnnotation,proto3" json:"explicit_annotation,omitempty"`
  918. // OCR text detection and tracking.
  919. // Annotations for list of detected text snippets. Each will have list of
  920. // frame information associated with it.
  921. TextAnnotations []*TextAnnotation `protobuf:"bytes,12,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"`
  922. // Annotations for list of objects detected and tracked in video.
  923. ObjectAnnotations []*ObjectTrackingAnnotation `protobuf:"bytes,14,rep,name=object_annotations,json=objectAnnotations,proto3" json:"object_annotations,omitempty"`
  924. // If set, indicates an error. Note that for a single `AnnotateVideoRequest`
  925. // some videos may succeed and some may fail.
  926. Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"`
  927. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  928. XXX_unrecognized []byte `json:"-"`
  929. XXX_sizecache int32 `json:"-"`
  930. }
  931. func (m *VideoAnnotationResults) Reset() { *m = VideoAnnotationResults{} }
  932. func (m *VideoAnnotationResults) String() string { return proto.CompactTextString(m) }
  933. func (*VideoAnnotationResults) ProtoMessage() {}
  934. func (*VideoAnnotationResults) Descriptor() ([]byte, []int) {
  935. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{14}
  936. }
  937. func (m *VideoAnnotationResults) XXX_Unmarshal(b []byte) error {
  938. return xxx_messageInfo_VideoAnnotationResults.Unmarshal(m, b)
  939. }
  940. func (m *VideoAnnotationResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  941. return xxx_messageInfo_VideoAnnotationResults.Marshal(b, m, deterministic)
  942. }
  943. func (dst *VideoAnnotationResults) XXX_Merge(src proto.Message) {
  944. xxx_messageInfo_VideoAnnotationResults.Merge(dst, src)
  945. }
  946. func (m *VideoAnnotationResults) XXX_Size() int {
  947. return xxx_messageInfo_VideoAnnotationResults.Size(m)
  948. }
  949. func (m *VideoAnnotationResults) XXX_DiscardUnknown() {
  950. xxx_messageInfo_VideoAnnotationResults.DiscardUnknown(m)
  951. }
  952. var xxx_messageInfo_VideoAnnotationResults proto.InternalMessageInfo
  953. func (m *VideoAnnotationResults) GetInputUri() string {
  954. if m != nil {
  955. return m.InputUri
  956. }
  957. return ""
  958. }
  959. func (m *VideoAnnotationResults) GetSegmentLabelAnnotations() []*LabelAnnotation {
  960. if m != nil {
  961. return m.SegmentLabelAnnotations
  962. }
  963. return nil
  964. }
  965. func (m *VideoAnnotationResults) GetShotLabelAnnotations() []*LabelAnnotation {
  966. if m != nil {
  967. return m.ShotLabelAnnotations
  968. }
  969. return nil
  970. }
  971. func (m *VideoAnnotationResults) GetFrameLabelAnnotations() []*LabelAnnotation {
  972. if m != nil {
  973. return m.FrameLabelAnnotations
  974. }
  975. return nil
  976. }
  977. func (m *VideoAnnotationResults) GetShotAnnotations() []*VideoSegment {
  978. if m != nil {
  979. return m.ShotAnnotations
  980. }
  981. return nil
  982. }
  983. func (m *VideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotation {
  984. if m != nil {
  985. return m.ExplicitAnnotation
  986. }
  987. return nil
  988. }
  989. func (m *VideoAnnotationResults) GetTextAnnotations() []*TextAnnotation {
  990. if m != nil {
  991. return m.TextAnnotations
  992. }
  993. return nil
  994. }
  995. func (m *VideoAnnotationResults) GetObjectAnnotations() []*ObjectTrackingAnnotation {
  996. if m != nil {
  997. return m.ObjectAnnotations
  998. }
  999. return nil
  1000. }
  1001. func (m *VideoAnnotationResults) GetError() *status.Status {
  1002. if m != nil {
  1003. return m.Error
  1004. }
  1005. return nil
  1006. }
  1007. // Video annotation response. Included in the `response`
  1008. // field of the `Operation` returned by the `GetOperation`
  1009. // call of the `google::longrunning::Operations` service.
  1010. type AnnotateVideoResponse struct {
  1011. // Annotation results for all videos specified in `AnnotateVideoRequest`.
  1012. AnnotationResults []*VideoAnnotationResults `protobuf:"bytes,1,rep,name=annotation_results,json=annotationResults,proto3" json:"annotation_results,omitempty"`
  1013. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1014. XXX_unrecognized []byte `json:"-"`
  1015. XXX_sizecache int32 `json:"-"`
  1016. }
  1017. func (m *AnnotateVideoResponse) Reset() { *m = AnnotateVideoResponse{} }
  1018. func (m *AnnotateVideoResponse) String() string { return proto.CompactTextString(m) }
  1019. func (*AnnotateVideoResponse) ProtoMessage() {}
  1020. func (*AnnotateVideoResponse) Descriptor() ([]byte, []int) {
  1021. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{15}
  1022. }
  1023. func (m *AnnotateVideoResponse) XXX_Unmarshal(b []byte) error {
  1024. return xxx_messageInfo_AnnotateVideoResponse.Unmarshal(m, b)
  1025. }
  1026. func (m *AnnotateVideoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1027. return xxx_messageInfo_AnnotateVideoResponse.Marshal(b, m, deterministic)
  1028. }
  1029. func (dst *AnnotateVideoResponse) XXX_Merge(src proto.Message) {
  1030. xxx_messageInfo_AnnotateVideoResponse.Merge(dst, src)
  1031. }
  1032. func (m *AnnotateVideoResponse) XXX_Size() int {
  1033. return xxx_messageInfo_AnnotateVideoResponse.Size(m)
  1034. }
  1035. func (m *AnnotateVideoResponse) XXX_DiscardUnknown() {
  1036. xxx_messageInfo_AnnotateVideoResponse.DiscardUnknown(m)
  1037. }
  1038. var xxx_messageInfo_AnnotateVideoResponse proto.InternalMessageInfo
  1039. func (m *AnnotateVideoResponse) GetAnnotationResults() []*VideoAnnotationResults {
  1040. if m != nil {
  1041. return m.AnnotationResults
  1042. }
  1043. return nil
  1044. }
  1045. // Annotation progress for a single video.
  1046. type VideoAnnotationProgress struct {
  1047. // Video file location in
  1048. // [Google Cloud Storage](https://cloud.google.com/storage/).
  1049. InputUri string `protobuf:"bytes,1,opt,name=input_uri,json=inputUri,proto3" json:"input_uri,omitempty"`
  1050. // Approximate percentage processed thus far. Guaranteed to be
  1051. // 100 when fully processed.
  1052. ProgressPercent int32 `protobuf:"varint,2,opt,name=progress_percent,json=progressPercent,proto3" json:"progress_percent,omitempty"`
  1053. // Time when the request was received.
  1054. StartTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  1055. // Time of the most recent update.
  1056. UpdateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
  1057. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1058. XXX_unrecognized []byte `json:"-"`
  1059. XXX_sizecache int32 `json:"-"`
  1060. }
  1061. func (m *VideoAnnotationProgress) Reset() { *m = VideoAnnotationProgress{} }
  1062. func (m *VideoAnnotationProgress) String() string { return proto.CompactTextString(m) }
  1063. func (*VideoAnnotationProgress) ProtoMessage() {}
  1064. func (*VideoAnnotationProgress) Descriptor() ([]byte, []int) {
  1065. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{16}
  1066. }
  1067. func (m *VideoAnnotationProgress) XXX_Unmarshal(b []byte) error {
  1068. return xxx_messageInfo_VideoAnnotationProgress.Unmarshal(m, b)
  1069. }
  1070. func (m *VideoAnnotationProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1071. return xxx_messageInfo_VideoAnnotationProgress.Marshal(b, m, deterministic)
  1072. }
  1073. func (dst *VideoAnnotationProgress) XXX_Merge(src proto.Message) {
  1074. xxx_messageInfo_VideoAnnotationProgress.Merge(dst, src)
  1075. }
  1076. func (m *VideoAnnotationProgress) XXX_Size() int {
  1077. return xxx_messageInfo_VideoAnnotationProgress.Size(m)
  1078. }
  1079. func (m *VideoAnnotationProgress) XXX_DiscardUnknown() {
  1080. xxx_messageInfo_VideoAnnotationProgress.DiscardUnknown(m)
  1081. }
  1082. var xxx_messageInfo_VideoAnnotationProgress proto.InternalMessageInfo
  1083. func (m *VideoAnnotationProgress) GetInputUri() string {
  1084. if m != nil {
  1085. return m.InputUri
  1086. }
  1087. return ""
  1088. }
  1089. func (m *VideoAnnotationProgress) GetProgressPercent() int32 {
  1090. if m != nil {
  1091. return m.ProgressPercent
  1092. }
  1093. return 0
  1094. }
  1095. func (m *VideoAnnotationProgress) GetStartTime() *timestamp.Timestamp {
  1096. if m != nil {
  1097. return m.StartTime
  1098. }
  1099. return nil
  1100. }
  1101. func (m *VideoAnnotationProgress) GetUpdateTime() *timestamp.Timestamp {
  1102. if m != nil {
  1103. return m.UpdateTime
  1104. }
  1105. return nil
  1106. }
  1107. // Video annotation progress. Included in the `metadata`
  1108. // field of the `Operation` returned by the `GetOperation`
  1109. // call of the `google::longrunning::Operations` service.
  1110. type AnnotateVideoProgress struct {
  1111. // Progress metadata for all videos specified in `AnnotateVideoRequest`.
  1112. AnnotationProgress []*VideoAnnotationProgress `protobuf:"bytes,1,rep,name=annotation_progress,json=annotationProgress,proto3" json:"annotation_progress,omitempty"`
  1113. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1114. XXX_unrecognized []byte `json:"-"`
  1115. XXX_sizecache int32 `json:"-"`
  1116. }
  1117. func (m *AnnotateVideoProgress) Reset() { *m = AnnotateVideoProgress{} }
  1118. func (m *AnnotateVideoProgress) String() string { return proto.CompactTextString(m) }
  1119. func (*AnnotateVideoProgress) ProtoMessage() {}
  1120. func (*AnnotateVideoProgress) Descriptor() ([]byte, []int) {
  1121. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{17}
  1122. }
  1123. func (m *AnnotateVideoProgress) XXX_Unmarshal(b []byte) error {
  1124. return xxx_messageInfo_AnnotateVideoProgress.Unmarshal(m, b)
  1125. }
  1126. func (m *AnnotateVideoProgress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1127. return xxx_messageInfo_AnnotateVideoProgress.Marshal(b, m, deterministic)
  1128. }
  1129. func (dst *AnnotateVideoProgress) XXX_Merge(src proto.Message) {
  1130. xxx_messageInfo_AnnotateVideoProgress.Merge(dst, src)
  1131. }
  1132. func (m *AnnotateVideoProgress) XXX_Size() int {
  1133. return xxx_messageInfo_AnnotateVideoProgress.Size(m)
  1134. }
  1135. func (m *AnnotateVideoProgress) XXX_DiscardUnknown() {
  1136. xxx_messageInfo_AnnotateVideoProgress.DiscardUnknown(m)
  1137. }
  1138. var xxx_messageInfo_AnnotateVideoProgress proto.InternalMessageInfo
  1139. func (m *AnnotateVideoProgress) GetAnnotationProgress() []*VideoAnnotationProgress {
  1140. if m != nil {
  1141. return m.AnnotationProgress
  1142. }
  1143. return nil
  1144. }
  1145. // A vertex represents a 2D point in the image.
  1146. // NOTE: the normalized vertex coordinates are relative to the original image
  1147. // and range from 0 to 1.
  1148. type NormalizedVertex struct {
  1149. // X coordinate.
  1150. X float32 `protobuf:"fixed32,1,opt,name=x,proto3" json:"x,omitempty"`
  1151. // Y coordinate.
  1152. Y float32 `protobuf:"fixed32,2,opt,name=y,proto3" json:"y,omitempty"`
  1153. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1154. XXX_unrecognized []byte `json:"-"`
  1155. XXX_sizecache int32 `json:"-"`
  1156. }
  1157. func (m *NormalizedVertex) Reset() { *m = NormalizedVertex{} }
  1158. func (m *NormalizedVertex) String() string { return proto.CompactTextString(m) }
  1159. func (*NormalizedVertex) ProtoMessage() {}
  1160. func (*NormalizedVertex) Descriptor() ([]byte, []int) {
  1161. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{18}
  1162. }
  1163. func (m *NormalizedVertex) XXX_Unmarshal(b []byte) error {
  1164. return xxx_messageInfo_NormalizedVertex.Unmarshal(m, b)
  1165. }
  1166. func (m *NormalizedVertex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1167. return xxx_messageInfo_NormalizedVertex.Marshal(b, m, deterministic)
  1168. }
  1169. func (dst *NormalizedVertex) XXX_Merge(src proto.Message) {
  1170. xxx_messageInfo_NormalizedVertex.Merge(dst, src)
  1171. }
  1172. func (m *NormalizedVertex) XXX_Size() int {
  1173. return xxx_messageInfo_NormalizedVertex.Size(m)
  1174. }
  1175. func (m *NormalizedVertex) XXX_DiscardUnknown() {
  1176. xxx_messageInfo_NormalizedVertex.DiscardUnknown(m)
  1177. }
  1178. var xxx_messageInfo_NormalizedVertex proto.InternalMessageInfo
  1179. func (m *NormalizedVertex) GetX() float32 {
  1180. if m != nil {
  1181. return m.X
  1182. }
  1183. return 0
  1184. }
  1185. func (m *NormalizedVertex) GetY() float32 {
  1186. if m != nil {
  1187. return m.Y
  1188. }
  1189. return 0
  1190. }
  1191. // Normalized bounding polygon for text (that might not be aligned with axis).
  1192. // Contains list of the corner points in clockwise order starting from
  1193. // top-left corner. For example, for a rectangular bounding box:
  1194. // When the text is horizontal it might look like:
  1195. // 0----1
  1196. // | |
  1197. // 3----2
  1198. //
  1199. // When it's clockwise rotated 180 degrees around the top-left corner it
  1200. // becomes:
  1201. // 2----3
  1202. // | |
  1203. // 1----0
  1204. //
  1205. // and the vertex order will still be (0, 1, 2, 3). Note that values can be less
  1206. // than 0, or greater than 1 due to trignometric calculations for location of
  1207. // the box.
  1208. type NormalizedBoundingPoly struct {
  1209. // Normalized vertices of the bounding polygon.
  1210. Vertices []*NormalizedVertex `protobuf:"bytes,1,rep,name=vertices,proto3" json:"vertices,omitempty"`
  1211. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1212. XXX_unrecognized []byte `json:"-"`
  1213. XXX_sizecache int32 `json:"-"`
  1214. }
  1215. func (m *NormalizedBoundingPoly) Reset() { *m = NormalizedBoundingPoly{} }
  1216. func (m *NormalizedBoundingPoly) String() string { return proto.CompactTextString(m) }
  1217. func (*NormalizedBoundingPoly) ProtoMessage() {}
  1218. func (*NormalizedBoundingPoly) Descriptor() ([]byte, []int) {
  1219. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{19}
  1220. }
  1221. func (m *NormalizedBoundingPoly) XXX_Unmarshal(b []byte) error {
  1222. return xxx_messageInfo_NormalizedBoundingPoly.Unmarshal(m, b)
  1223. }
  1224. func (m *NormalizedBoundingPoly) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1225. return xxx_messageInfo_NormalizedBoundingPoly.Marshal(b, m, deterministic)
  1226. }
  1227. func (dst *NormalizedBoundingPoly) XXX_Merge(src proto.Message) {
  1228. xxx_messageInfo_NormalizedBoundingPoly.Merge(dst, src)
  1229. }
  1230. func (m *NormalizedBoundingPoly) XXX_Size() int {
  1231. return xxx_messageInfo_NormalizedBoundingPoly.Size(m)
  1232. }
  1233. func (m *NormalizedBoundingPoly) XXX_DiscardUnknown() {
  1234. xxx_messageInfo_NormalizedBoundingPoly.DiscardUnknown(m)
  1235. }
  1236. var xxx_messageInfo_NormalizedBoundingPoly proto.InternalMessageInfo
  1237. func (m *NormalizedBoundingPoly) GetVertices() []*NormalizedVertex {
  1238. if m != nil {
  1239. return m.Vertices
  1240. }
  1241. return nil
  1242. }
  1243. // Video segment level annotation results for text detection.
  1244. type TextSegment struct {
  1245. // Video segment where a text snippet was detected.
  1246. Segment *VideoSegment `protobuf:"bytes,1,opt,name=segment,proto3" json:"segment,omitempty"`
  1247. // Confidence for the track of detected text. It is calculated as the highest
  1248. // over all frames where OCR detected text appears.
  1249. Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"`
  1250. // Information related to the frames where OCR detected text appears.
  1251. Frames []*TextFrame `protobuf:"bytes,3,rep,name=frames,proto3" json:"frames,omitempty"`
  1252. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1253. XXX_unrecognized []byte `json:"-"`
  1254. XXX_sizecache int32 `json:"-"`
  1255. }
  1256. func (m *TextSegment) Reset() { *m = TextSegment{} }
  1257. func (m *TextSegment) String() string { return proto.CompactTextString(m) }
  1258. func (*TextSegment) ProtoMessage() {}
  1259. func (*TextSegment) Descriptor() ([]byte, []int) {
  1260. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{20}
  1261. }
  1262. func (m *TextSegment) XXX_Unmarshal(b []byte) error {
  1263. return xxx_messageInfo_TextSegment.Unmarshal(m, b)
  1264. }
  1265. func (m *TextSegment) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1266. return xxx_messageInfo_TextSegment.Marshal(b, m, deterministic)
  1267. }
  1268. func (dst *TextSegment) XXX_Merge(src proto.Message) {
  1269. xxx_messageInfo_TextSegment.Merge(dst, src)
  1270. }
  1271. func (m *TextSegment) XXX_Size() int {
  1272. return xxx_messageInfo_TextSegment.Size(m)
  1273. }
  1274. func (m *TextSegment) XXX_DiscardUnknown() {
  1275. xxx_messageInfo_TextSegment.DiscardUnknown(m)
  1276. }
  1277. var xxx_messageInfo_TextSegment proto.InternalMessageInfo
  1278. func (m *TextSegment) GetSegment() *VideoSegment {
  1279. if m != nil {
  1280. return m.Segment
  1281. }
  1282. return nil
  1283. }
  1284. func (m *TextSegment) GetConfidence() float32 {
  1285. if m != nil {
  1286. return m.Confidence
  1287. }
  1288. return 0
  1289. }
  1290. func (m *TextSegment) GetFrames() []*TextFrame {
  1291. if m != nil {
  1292. return m.Frames
  1293. }
  1294. return nil
  1295. }
  1296. // Video frame level annotation results for text annotation (OCR).
  1297. // Contains information regarding timestamp and bounding box locations for the
  1298. // frames containing detected OCR text snippets.
  1299. type TextFrame struct {
  1300. // Bounding polygon of the detected text for this frame.
  1301. RotatedBoundingBox *NormalizedBoundingPoly `protobuf:"bytes,1,opt,name=rotated_bounding_box,json=rotatedBoundingBox,proto3" json:"rotated_bounding_box,omitempty"`
  1302. // Timestamp of this frame.
  1303. TimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
  1304. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1305. XXX_unrecognized []byte `json:"-"`
  1306. XXX_sizecache int32 `json:"-"`
  1307. }
  1308. func (m *TextFrame) Reset() { *m = TextFrame{} }
  1309. func (m *TextFrame) String() string { return proto.CompactTextString(m) }
  1310. func (*TextFrame) ProtoMessage() {}
  1311. func (*TextFrame) Descriptor() ([]byte, []int) {
  1312. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{21}
  1313. }
  1314. func (m *TextFrame) XXX_Unmarshal(b []byte) error {
  1315. return xxx_messageInfo_TextFrame.Unmarshal(m, b)
  1316. }
  1317. func (m *TextFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1318. return xxx_messageInfo_TextFrame.Marshal(b, m, deterministic)
  1319. }
  1320. func (dst *TextFrame) XXX_Merge(src proto.Message) {
  1321. xxx_messageInfo_TextFrame.Merge(dst, src)
  1322. }
  1323. func (m *TextFrame) XXX_Size() int {
  1324. return xxx_messageInfo_TextFrame.Size(m)
  1325. }
  1326. func (m *TextFrame) XXX_DiscardUnknown() {
  1327. xxx_messageInfo_TextFrame.DiscardUnknown(m)
  1328. }
  1329. var xxx_messageInfo_TextFrame proto.InternalMessageInfo
  1330. func (m *TextFrame) GetRotatedBoundingBox() *NormalizedBoundingPoly {
  1331. if m != nil {
  1332. return m.RotatedBoundingBox
  1333. }
  1334. return nil
  1335. }
  1336. func (m *TextFrame) GetTimeOffset() *duration.Duration {
  1337. if m != nil {
  1338. return m.TimeOffset
  1339. }
  1340. return nil
  1341. }
  1342. // Annotations related to one detected OCR text snippet. This will contain the
  1343. // corresponding text, confidence value, and frame level information for each
  1344. // detection.
  1345. type TextAnnotation struct {
  1346. // The detected text.
  1347. Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
  1348. // All video segments where OCR detected text appears.
  1349. Segments []*TextSegment `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"`
  1350. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1351. XXX_unrecognized []byte `json:"-"`
  1352. XXX_sizecache int32 `json:"-"`
  1353. }
  1354. func (m *TextAnnotation) Reset() { *m = TextAnnotation{} }
  1355. func (m *TextAnnotation) String() string { return proto.CompactTextString(m) }
  1356. func (*TextAnnotation) ProtoMessage() {}
  1357. func (*TextAnnotation) Descriptor() ([]byte, []int) {
  1358. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{22}
  1359. }
  1360. func (m *TextAnnotation) XXX_Unmarshal(b []byte) error {
  1361. return xxx_messageInfo_TextAnnotation.Unmarshal(m, b)
  1362. }
  1363. func (m *TextAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1364. return xxx_messageInfo_TextAnnotation.Marshal(b, m, deterministic)
  1365. }
  1366. func (dst *TextAnnotation) XXX_Merge(src proto.Message) {
  1367. xxx_messageInfo_TextAnnotation.Merge(dst, src)
  1368. }
  1369. func (m *TextAnnotation) XXX_Size() int {
  1370. return xxx_messageInfo_TextAnnotation.Size(m)
  1371. }
  1372. func (m *TextAnnotation) XXX_DiscardUnknown() {
  1373. xxx_messageInfo_TextAnnotation.DiscardUnknown(m)
  1374. }
  1375. var xxx_messageInfo_TextAnnotation proto.InternalMessageInfo
  1376. func (m *TextAnnotation) GetText() string {
  1377. if m != nil {
  1378. return m.Text
  1379. }
  1380. return ""
  1381. }
  1382. func (m *TextAnnotation) GetSegments() []*TextSegment {
  1383. if m != nil {
  1384. return m.Segments
  1385. }
  1386. return nil
  1387. }
  1388. // Video frame level annotations for object detection and tracking. This field
  1389. // stores per frame location, time offset, and confidence.
  1390. type ObjectTrackingFrame struct {
  1391. // The normalized bounding box location of this object track for the frame.
  1392. NormalizedBoundingBox *NormalizedBoundingBox `protobuf:"bytes,1,opt,name=normalized_bounding_box,json=normalizedBoundingBox,proto3" json:"normalized_bounding_box,omitempty"`
  1393. // The timestamp of the frame in microseconds.
  1394. TimeOffset *duration.Duration `protobuf:"bytes,2,opt,name=time_offset,json=timeOffset,proto3" json:"time_offset,omitempty"`
  1395. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1396. XXX_unrecognized []byte `json:"-"`
  1397. XXX_sizecache int32 `json:"-"`
  1398. }
  1399. func (m *ObjectTrackingFrame) Reset() { *m = ObjectTrackingFrame{} }
  1400. func (m *ObjectTrackingFrame) String() string { return proto.CompactTextString(m) }
  1401. func (*ObjectTrackingFrame) ProtoMessage() {}
  1402. func (*ObjectTrackingFrame) Descriptor() ([]byte, []int) {
  1403. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{23}
  1404. }
  1405. func (m *ObjectTrackingFrame) XXX_Unmarshal(b []byte) error {
  1406. return xxx_messageInfo_ObjectTrackingFrame.Unmarshal(m, b)
  1407. }
  1408. func (m *ObjectTrackingFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1409. return xxx_messageInfo_ObjectTrackingFrame.Marshal(b, m, deterministic)
  1410. }
  1411. func (dst *ObjectTrackingFrame) XXX_Merge(src proto.Message) {
  1412. xxx_messageInfo_ObjectTrackingFrame.Merge(dst, src)
  1413. }
  1414. func (m *ObjectTrackingFrame) XXX_Size() int {
  1415. return xxx_messageInfo_ObjectTrackingFrame.Size(m)
  1416. }
  1417. func (m *ObjectTrackingFrame) XXX_DiscardUnknown() {
  1418. xxx_messageInfo_ObjectTrackingFrame.DiscardUnknown(m)
  1419. }
  1420. var xxx_messageInfo_ObjectTrackingFrame proto.InternalMessageInfo
  1421. func (m *ObjectTrackingFrame) GetNormalizedBoundingBox() *NormalizedBoundingBox {
  1422. if m != nil {
  1423. return m.NormalizedBoundingBox
  1424. }
  1425. return nil
  1426. }
  1427. func (m *ObjectTrackingFrame) GetTimeOffset() *duration.Duration {
  1428. if m != nil {
  1429. return m.TimeOffset
  1430. }
  1431. return nil
  1432. }
  1433. // Annotations corresponding to one tracked object.
  1434. type ObjectTrackingAnnotation struct {
  1435. // Entity to specify the object category that this track is labeled as.
  1436. Entity *Entity `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
  1437. // Object category's labeling confidence of this track.
  1438. Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
  1439. // Information corresponding to all frames where this object track appears.
  1440. // Non-streaming batch mode: it may be one or multiple ObjectTrackingFrame
  1441. // messages in frames.
  1442. // Streaming mode: it can only be one ObjectTrackingFrame message in frames.
  1443. Frames []*ObjectTrackingFrame `protobuf:"bytes,2,rep,name=frames,proto3" json:"frames,omitempty"`
  1444. // Different representation of tracking info in non-streaming batch
  1445. // and streaming modes.
  1446. //
  1447. // Types that are valid to be assigned to TrackInfo:
  1448. // *ObjectTrackingAnnotation_Segment
  1449. // *ObjectTrackingAnnotation_TrackId
  1450. TrackInfo isObjectTrackingAnnotation_TrackInfo `protobuf_oneof:"track_info"`
  1451. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1452. XXX_unrecognized []byte `json:"-"`
  1453. XXX_sizecache int32 `json:"-"`
  1454. }
  1455. func (m *ObjectTrackingAnnotation) Reset() { *m = ObjectTrackingAnnotation{} }
  1456. func (m *ObjectTrackingAnnotation) String() string { return proto.CompactTextString(m) }
  1457. func (*ObjectTrackingAnnotation) ProtoMessage() {}
  1458. func (*ObjectTrackingAnnotation) Descriptor() ([]byte, []int) {
  1459. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{24}
  1460. }
  1461. func (m *ObjectTrackingAnnotation) XXX_Unmarshal(b []byte) error {
  1462. return xxx_messageInfo_ObjectTrackingAnnotation.Unmarshal(m, b)
  1463. }
  1464. func (m *ObjectTrackingAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1465. return xxx_messageInfo_ObjectTrackingAnnotation.Marshal(b, m, deterministic)
  1466. }
  1467. func (dst *ObjectTrackingAnnotation) XXX_Merge(src proto.Message) {
  1468. xxx_messageInfo_ObjectTrackingAnnotation.Merge(dst, src)
  1469. }
  1470. func (m *ObjectTrackingAnnotation) XXX_Size() int {
  1471. return xxx_messageInfo_ObjectTrackingAnnotation.Size(m)
  1472. }
  1473. func (m *ObjectTrackingAnnotation) XXX_DiscardUnknown() {
  1474. xxx_messageInfo_ObjectTrackingAnnotation.DiscardUnknown(m)
  1475. }
  1476. var xxx_messageInfo_ObjectTrackingAnnotation proto.InternalMessageInfo
  1477. func (m *ObjectTrackingAnnotation) GetEntity() *Entity {
  1478. if m != nil {
  1479. return m.Entity
  1480. }
  1481. return nil
  1482. }
  1483. func (m *ObjectTrackingAnnotation) GetConfidence() float32 {
  1484. if m != nil {
  1485. return m.Confidence
  1486. }
  1487. return 0
  1488. }
  1489. func (m *ObjectTrackingAnnotation) GetFrames() []*ObjectTrackingFrame {
  1490. if m != nil {
  1491. return m.Frames
  1492. }
  1493. return nil
  1494. }
  1495. type isObjectTrackingAnnotation_TrackInfo interface {
  1496. isObjectTrackingAnnotation_TrackInfo()
  1497. }
  1498. type ObjectTrackingAnnotation_Segment struct {
  1499. Segment *VideoSegment `protobuf:"bytes,3,opt,name=segment,proto3,oneof"`
  1500. }
  1501. type ObjectTrackingAnnotation_TrackId struct {
  1502. TrackId int64 `protobuf:"varint,5,opt,name=track_id,json=trackId,proto3,oneof"`
  1503. }
  1504. func (*ObjectTrackingAnnotation_Segment) isObjectTrackingAnnotation_TrackInfo() {}
  1505. func (*ObjectTrackingAnnotation_TrackId) isObjectTrackingAnnotation_TrackInfo() {}
  1506. func (m *ObjectTrackingAnnotation) GetTrackInfo() isObjectTrackingAnnotation_TrackInfo {
  1507. if m != nil {
  1508. return m.TrackInfo
  1509. }
  1510. return nil
  1511. }
  1512. func (m *ObjectTrackingAnnotation) GetSegment() *VideoSegment {
  1513. if x, ok := m.GetTrackInfo().(*ObjectTrackingAnnotation_Segment); ok {
  1514. return x.Segment
  1515. }
  1516. return nil
  1517. }
  1518. func (m *ObjectTrackingAnnotation) GetTrackId() int64 {
  1519. if x, ok := m.GetTrackInfo().(*ObjectTrackingAnnotation_TrackId); ok {
  1520. return x.TrackId
  1521. }
  1522. return 0
  1523. }
  1524. // XXX_OneofFuncs is for the internal use of the proto package.
  1525. func (*ObjectTrackingAnnotation) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1526. return _ObjectTrackingAnnotation_OneofMarshaler, _ObjectTrackingAnnotation_OneofUnmarshaler, _ObjectTrackingAnnotation_OneofSizer, []interface{}{
  1527. (*ObjectTrackingAnnotation_Segment)(nil),
  1528. (*ObjectTrackingAnnotation_TrackId)(nil),
  1529. }
  1530. }
  1531. func _ObjectTrackingAnnotation_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1532. m := msg.(*ObjectTrackingAnnotation)
  1533. // track_info
  1534. switch x := m.TrackInfo.(type) {
  1535. case *ObjectTrackingAnnotation_Segment:
  1536. b.EncodeVarint(3<<3 | proto.WireBytes)
  1537. if err := b.EncodeMessage(x.Segment); err != nil {
  1538. return err
  1539. }
  1540. case *ObjectTrackingAnnotation_TrackId:
  1541. b.EncodeVarint(5<<3 | proto.WireVarint)
  1542. b.EncodeVarint(uint64(x.TrackId))
  1543. case nil:
  1544. default:
  1545. return fmt.Errorf("ObjectTrackingAnnotation.TrackInfo has unexpected type %T", x)
  1546. }
  1547. return nil
  1548. }
  1549. func _ObjectTrackingAnnotation_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1550. m := msg.(*ObjectTrackingAnnotation)
  1551. switch tag {
  1552. case 3: // track_info.segment
  1553. if wire != proto.WireBytes {
  1554. return true, proto.ErrInternalBadWireType
  1555. }
  1556. msg := new(VideoSegment)
  1557. err := b.DecodeMessage(msg)
  1558. m.TrackInfo = &ObjectTrackingAnnotation_Segment{msg}
  1559. return true, err
  1560. case 5: // track_info.track_id
  1561. if wire != proto.WireVarint {
  1562. return true, proto.ErrInternalBadWireType
  1563. }
  1564. x, err := b.DecodeVarint()
  1565. m.TrackInfo = &ObjectTrackingAnnotation_TrackId{int64(x)}
  1566. return true, err
  1567. default:
  1568. return false, nil
  1569. }
  1570. }
  1571. func _ObjectTrackingAnnotation_OneofSizer(msg proto.Message) (n int) {
  1572. m := msg.(*ObjectTrackingAnnotation)
  1573. // track_info
  1574. switch x := m.TrackInfo.(type) {
  1575. case *ObjectTrackingAnnotation_Segment:
  1576. s := proto.Size(x.Segment)
  1577. n += 1 // tag and wire
  1578. n += proto.SizeVarint(uint64(s))
  1579. n += s
  1580. case *ObjectTrackingAnnotation_TrackId:
  1581. n += 1 // tag and wire
  1582. n += proto.SizeVarint(uint64(x.TrackId))
  1583. case nil:
  1584. default:
  1585. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1586. }
  1587. return n
  1588. }
  1589. // The top-level message sent by the client for the `StreamingAnnotateVideo`
  1590. // method. Multiple `StreamingAnnotateVideoRequest` messages are sent.
  1591. // The first message must only contain a `StreamingVideoConfig` message.
  1592. // All subsequent messages must only contain `input_content` data.
  1593. type StreamingAnnotateVideoRequest struct {
  1594. // *Required* The streaming request, which is either a streaming config or
  1595. // video content.
  1596. //
  1597. // Types that are valid to be assigned to StreamingRequest:
  1598. // *StreamingAnnotateVideoRequest_VideoConfig
  1599. // *StreamingAnnotateVideoRequest_InputContent
  1600. StreamingRequest isStreamingAnnotateVideoRequest_StreamingRequest `protobuf_oneof:"streaming_request"`
  1601. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1602. XXX_unrecognized []byte `json:"-"`
  1603. XXX_sizecache int32 `json:"-"`
  1604. }
  1605. func (m *StreamingAnnotateVideoRequest) Reset() { *m = StreamingAnnotateVideoRequest{} }
  1606. func (m *StreamingAnnotateVideoRequest) String() string { return proto.CompactTextString(m) }
  1607. func (*StreamingAnnotateVideoRequest) ProtoMessage() {}
  1608. func (*StreamingAnnotateVideoRequest) Descriptor() ([]byte, []int) {
  1609. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{25}
  1610. }
  1611. func (m *StreamingAnnotateVideoRequest) XXX_Unmarshal(b []byte) error {
  1612. return xxx_messageInfo_StreamingAnnotateVideoRequest.Unmarshal(m, b)
  1613. }
  1614. func (m *StreamingAnnotateVideoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1615. return xxx_messageInfo_StreamingAnnotateVideoRequest.Marshal(b, m, deterministic)
  1616. }
  1617. func (dst *StreamingAnnotateVideoRequest) XXX_Merge(src proto.Message) {
  1618. xxx_messageInfo_StreamingAnnotateVideoRequest.Merge(dst, src)
  1619. }
  1620. func (m *StreamingAnnotateVideoRequest) XXX_Size() int {
  1621. return xxx_messageInfo_StreamingAnnotateVideoRequest.Size(m)
  1622. }
  1623. func (m *StreamingAnnotateVideoRequest) XXX_DiscardUnknown() {
  1624. xxx_messageInfo_StreamingAnnotateVideoRequest.DiscardUnknown(m)
  1625. }
  1626. var xxx_messageInfo_StreamingAnnotateVideoRequest proto.InternalMessageInfo
  1627. type isStreamingAnnotateVideoRequest_StreamingRequest interface {
  1628. isStreamingAnnotateVideoRequest_StreamingRequest()
  1629. }
  1630. type StreamingAnnotateVideoRequest_VideoConfig struct {
  1631. VideoConfig *StreamingVideoConfig `protobuf:"bytes,1,opt,name=video_config,json=videoConfig,proto3,oneof"`
  1632. }
  1633. type StreamingAnnotateVideoRequest_InputContent struct {
  1634. InputContent []byte `protobuf:"bytes,2,opt,name=input_content,json=inputContent,proto3,oneof"`
  1635. }
  1636. func (*StreamingAnnotateVideoRequest_VideoConfig) isStreamingAnnotateVideoRequest_StreamingRequest() {}
  1637. func (*StreamingAnnotateVideoRequest_InputContent) isStreamingAnnotateVideoRequest_StreamingRequest() {
  1638. }
  1639. func (m *StreamingAnnotateVideoRequest) GetStreamingRequest() isStreamingAnnotateVideoRequest_StreamingRequest {
  1640. if m != nil {
  1641. return m.StreamingRequest
  1642. }
  1643. return nil
  1644. }
  1645. func (m *StreamingAnnotateVideoRequest) GetVideoConfig() *StreamingVideoConfig {
  1646. if x, ok := m.GetStreamingRequest().(*StreamingAnnotateVideoRequest_VideoConfig); ok {
  1647. return x.VideoConfig
  1648. }
  1649. return nil
  1650. }
  1651. func (m *StreamingAnnotateVideoRequest) GetInputContent() []byte {
  1652. if x, ok := m.GetStreamingRequest().(*StreamingAnnotateVideoRequest_InputContent); ok {
  1653. return x.InputContent
  1654. }
  1655. return nil
  1656. }
  1657. // XXX_OneofFuncs is for the internal use of the proto package.
  1658. func (*StreamingAnnotateVideoRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  1659. return _StreamingAnnotateVideoRequest_OneofMarshaler, _StreamingAnnotateVideoRequest_OneofUnmarshaler, _StreamingAnnotateVideoRequest_OneofSizer, []interface{}{
  1660. (*StreamingAnnotateVideoRequest_VideoConfig)(nil),
  1661. (*StreamingAnnotateVideoRequest_InputContent)(nil),
  1662. }
  1663. }
  1664. func _StreamingAnnotateVideoRequest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  1665. m := msg.(*StreamingAnnotateVideoRequest)
  1666. // streaming_request
  1667. switch x := m.StreamingRequest.(type) {
  1668. case *StreamingAnnotateVideoRequest_VideoConfig:
  1669. b.EncodeVarint(1<<3 | proto.WireBytes)
  1670. if err := b.EncodeMessage(x.VideoConfig); err != nil {
  1671. return err
  1672. }
  1673. case *StreamingAnnotateVideoRequest_InputContent:
  1674. b.EncodeVarint(2<<3 | proto.WireBytes)
  1675. b.EncodeRawBytes(x.InputContent)
  1676. case nil:
  1677. default:
  1678. return fmt.Errorf("StreamingAnnotateVideoRequest.StreamingRequest has unexpected type %T", x)
  1679. }
  1680. return nil
  1681. }
  1682. func _StreamingAnnotateVideoRequest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  1683. m := msg.(*StreamingAnnotateVideoRequest)
  1684. switch tag {
  1685. case 1: // streaming_request.video_config
  1686. if wire != proto.WireBytes {
  1687. return true, proto.ErrInternalBadWireType
  1688. }
  1689. msg := new(StreamingVideoConfig)
  1690. err := b.DecodeMessage(msg)
  1691. m.StreamingRequest = &StreamingAnnotateVideoRequest_VideoConfig{msg}
  1692. return true, err
  1693. case 2: // streaming_request.input_content
  1694. if wire != proto.WireBytes {
  1695. return true, proto.ErrInternalBadWireType
  1696. }
  1697. x, err := b.DecodeRawBytes(true)
  1698. m.StreamingRequest = &StreamingAnnotateVideoRequest_InputContent{x}
  1699. return true, err
  1700. default:
  1701. return false, nil
  1702. }
  1703. }
  1704. func _StreamingAnnotateVideoRequest_OneofSizer(msg proto.Message) (n int) {
  1705. m := msg.(*StreamingAnnotateVideoRequest)
  1706. // streaming_request
  1707. switch x := m.StreamingRequest.(type) {
  1708. case *StreamingAnnotateVideoRequest_VideoConfig:
  1709. s := proto.Size(x.VideoConfig)
  1710. n += 1 // tag and wire
  1711. n += proto.SizeVarint(uint64(s))
  1712. n += s
  1713. case *StreamingAnnotateVideoRequest_InputContent:
  1714. n += 1 // tag and wire
  1715. n += proto.SizeVarint(uint64(len(x.InputContent)))
  1716. n += len(x.InputContent)
  1717. case nil:
  1718. default:
  1719. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  1720. }
  1721. return n
  1722. }
  1723. // `StreamingAnnotateVideoResponse` is the only message returned to the client
  1724. // by `StreamingAnnotateVideo`. A series of zero or more
  1725. // `StreamingAnnotateVideoResponse` messages are streamed back to the client.
  1726. type StreamingAnnotateVideoResponse struct {
  1727. // If set, returns a [google.rpc.Status][] message that
  1728. // specifies the error for the operation.
  1729. Error *status.Status `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
  1730. // Streaming annotation results.
  1731. AnnotationResults *StreamingVideoAnnotationResults `protobuf:"bytes,2,opt,name=annotation_results,json=annotationResults,proto3" json:"annotation_results,omitempty"`
  1732. // GCS URI that stores annotation results of one streaming session.
  1733. // It is a directory that can hold multiple files in JSON format.
  1734. // Example uri format:
  1735. // gs://bucket_id/object_id/cloud_project_name-session_id
  1736. AnnotationResultsUri string `protobuf:"bytes,3,opt,name=annotation_results_uri,json=annotationResultsUri,proto3" json:"annotation_results_uri,omitempty"`
  1737. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1738. XXX_unrecognized []byte `json:"-"`
  1739. XXX_sizecache int32 `json:"-"`
  1740. }
  1741. func (m *StreamingAnnotateVideoResponse) Reset() { *m = StreamingAnnotateVideoResponse{} }
  1742. func (m *StreamingAnnotateVideoResponse) String() string { return proto.CompactTextString(m) }
  1743. func (*StreamingAnnotateVideoResponse) ProtoMessage() {}
  1744. func (*StreamingAnnotateVideoResponse) Descriptor() ([]byte, []int) {
  1745. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{26}
  1746. }
  1747. func (m *StreamingAnnotateVideoResponse) XXX_Unmarshal(b []byte) error {
  1748. return xxx_messageInfo_StreamingAnnotateVideoResponse.Unmarshal(m, b)
  1749. }
  1750. func (m *StreamingAnnotateVideoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1751. return xxx_messageInfo_StreamingAnnotateVideoResponse.Marshal(b, m, deterministic)
  1752. }
  1753. func (dst *StreamingAnnotateVideoResponse) XXX_Merge(src proto.Message) {
  1754. xxx_messageInfo_StreamingAnnotateVideoResponse.Merge(dst, src)
  1755. }
  1756. func (m *StreamingAnnotateVideoResponse) XXX_Size() int {
  1757. return xxx_messageInfo_StreamingAnnotateVideoResponse.Size(m)
  1758. }
  1759. func (m *StreamingAnnotateVideoResponse) XXX_DiscardUnknown() {
  1760. xxx_messageInfo_StreamingAnnotateVideoResponse.DiscardUnknown(m)
  1761. }
  1762. var xxx_messageInfo_StreamingAnnotateVideoResponse proto.InternalMessageInfo
  1763. func (m *StreamingAnnotateVideoResponse) GetError() *status.Status {
  1764. if m != nil {
  1765. return m.Error
  1766. }
  1767. return nil
  1768. }
  1769. func (m *StreamingAnnotateVideoResponse) GetAnnotationResults() *StreamingVideoAnnotationResults {
  1770. if m != nil {
  1771. return m.AnnotationResults
  1772. }
  1773. return nil
  1774. }
  1775. func (m *StreamingAnnotateVideoResponse) GetAnnotationResultsUri() string {
  1776. if m != nil {
  1777. return m.AnnotationResultsUri
  1778. }
  1779. return ""
  1780. }
  1781. // Config for EXPLICIT_CONTENT_DETECTION in streaming mode.
  1782. type StreamingExplicitContentDetectionConfig struct {
  1783. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1784. XXX_unrecognized []byte `json:"-"`
  1785. XXX_sizecache int32 `json:"-"`
  1786. }
  1787. func (m *StreamingExplicitContentDetectionConfig) Reset() {
  1788. *m = StreamingExplicitContentDetectionConfig{}
  1789. }
  1790. func (m *StreamingExplicitContentDetectionConfig) String() string { return proto.CompactTextString(m) }
  1791. func (*StreamingExplicitContentDetectionConfig) ProtoMessage() {}
  1792. func (*StreamingExplicitContentDetectionConfig) Descriptor() ([]byte, []int) {
  1793. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{27}
  1794. }
  1795. func (m *StreamingExplicitContentDetectionConfig) XXX_Unmarshal(b []byte) error {
  1796. return xxx_messageInfo_StreamingExplicitContentDetectionConfig.Unmarshal(m, b)
  1797. }
  1798. func (m *StreamingExplicitContentDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1799. return xxx_messageInfo_StreamingExplicitContentDetectionConfig.Marshal(b, m, deterministic)
  1800. }
  1801. func (dst *StreamingExplicitContentDetectionConfig) XXX_Merge(src proto.Message) {
  1802. xxx_messageInfo_StreamingExplicitContentDetectionConfig.Merge(dst, src)
  1803. }
  1804. func (m *StreamingExplicitContentDetectionConfig) XXX_Size() int {
  1805. return xxx_messageInfo_StreamingExplicitContentDetectionConfig.Size(m)
  1806. }
  1807. func (m *StreamingExplicitContentDetectionConfig) XXX_DiscardUnknown() {
  1808. xxx_messageInfo_StreamingExplicitContentDetectionConfig.DiscardUnknown(m)
  1809. }
  1810. var xxx_messageInfo_StreamingExplicitContentDetectionConfig proto.InternalMessageInfo
  1811. // Config for LABEL_DETECTION in streaming mode.
  1812. type StreamingLabelDetectionConfig struct {
  1813. // Whether the video has been captured from a stationary (i.e. non-moving)
  1814. // camera. When set to true, might improve detection accuracy for moving
  1815. // objects. Default: false.
  1816. StationaryCamera bool `protobuf:"varint,1,opt,name=stationary_camera,json=stationaryCamera,proto3" json:"stationary_camera,omitempty"`
  1817. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1818. XXX_unrecognized []byte `json:"-"`
  1819. XXX_sizecache int32 `json:"-"`
  1820. }
  1821. func (m *StreamingLabelDetectionConfig) Reset() { *m = StreamingLabelDetectionConfig{} }
  1822. func (m *StreamingLabelDetectionConfig) String() string { return proto.CompactTextString(m) }
  1823. func (*StreamingLabelDetectionConfig) ProtoMessage() {}
  1824. func (*StreamingLabelDetectionConfig) Descriptor() ([]byte, []int) {
  1825. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{28}
  1826. }
  1827. func (m *StreamingLabelDetectionConfig) XXX_Unmarshal(b []byte) error {
  1828. return xxx_messageInfo_StreamingLabelDetectionConfig.Unmarshal(m, b)
  1829. }
  1830. func (m *StreamingLabelDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1831. return xxx_messageInfo_StreamingLabelDetectionConfig.Marshal(b, m, deterministic)
  1832. }
  1833. func (dst *StreamingLabelDetectionConfig) XXX_Merge(src proto.Message) {
  1834. xxx_messageInfo_StreamingLabelDetectionConfig.Merge(dst, src)
  1835. }
  1836. func (m *StreamingLabelDetectionConfig) XXX_Size() int {
  1837. return xxx_messageInfo_StreamingLabelDetectionConfig.Size(m)
  1838. }
  1839. func (m *StreamingLabelDetectionConfig) XXX_DiscardUnknown() {
  1840. xxx_messageInfo_StreamingLabelDetectionConfig.DiscardUnknown(m)
  1841. }
  1842. var xxx_messageInfo_StreamingLabelDetectionConfig proto.InternalMessageInfo
  1843. func (m *StreamingLabelDetectionConfig) GetStationaryCamera() bool {
  1844. if m != nil {
  1845. return m.StationaryCamera
  1846. }
  1847. return false
  1848. }
  1849. // Config for STREAMING_OBJECT_TRACKING.
  1850. type StreamingObjectTrackingConfig struct {
  1851. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1852. XXX_unrecognized []byte `json:"-"`
  1853. XXX_sizecache int32 `json:"-"`
  1854. }
  1855. func (m *StreamingObjectTrackingConfig) Reset() { *m = StreamingObjectTrackingConfig{} }
  1856. func (m *StreamingObjectTrackingConfig) String() string { return proto.CompactTextString(m) }
  1857. func (*StreamingObjectTrackingConfig) ProtoMessage() {}
  1858. func (*StreamingObjectTrackingConfig) Descriptor() ([]byte, []int) {
  1859. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{29}
  1860. }
  1861. func (m *StreamingObjectTrackingConfig) XXX_Unmarshal(b []byte) error {
  1862. return xxx_messageInfo_StreamingObjectTrackingConfig.Unmarshal(m, b)
  1863. }
  1864. func (m *StreamingObjectTrackingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1865. return xxx_messageInfo_StreamingObjectTrackingConfig.Marshal(b, m, deterministic)
  1866. }
  1867. func (dst *StreamingObjectTrackingConfig) XXX_Merge(src proto.Message) {
  1868. xxx_messageInfo_StreamingObjectTrackingConfig.Merge(dst, src)
  1869. }
  1870. func (m *StreamingObjectTrackingConfig) XXX_Size() int {
  1871. return xxx_messageInfo_StreamingObjectTrackingConfig.Size(m)
  1872. }
  1873. func (m *StreamingObjectTrackingConfig) XXX_DiscardUnknown() {
  1874. xxx_messageInfo_StreamingObjectTrackingConfig.DiscardUnknown(m)
  1875. }
  1876. var xxx_messageInfo_StreamingObjectTrackingConfig proto.InternalMessageInfo
  1877. // Config for SHOT_CHANGE_DETECTION in streaming mode.
  1878. type StreamingShotChangeDetectionConfig struct {
  1879. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1880. XXX_unrecognized []byte `json:"-"`
  1881. XXX_sizecache int32 `json:"-"`
  1882. }
  1883. func (m *StreamingShotChangeDetectionConfig) Reset() { *m = StreamingShotChangeDetectionConfig{} }
  1884. func (m *StreamingShotChangeDetectionConfig) String() string { return proto.CompactTextString(m) }
  1885. func (*StreamingShotChangeDetectionConfig) ProtoMessage() {}
  1886. func (*StreamingShotChangeDetectionConfig) Descriptor() ([]byte, []int) {
  1887. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{30}
  1888. }
  1889. func (m *StreamingShotChangeDetectionConfig) XXX_Unmarshal(b []byte) error {
  1890. return xxx_messageInfo_StreamingShotChangeDetectionConfig.Unmarshal(m, b)
  1891. }
  1892. func (m *StreamingShotChangeDetectionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1893. return xxx_messageInfo_StreamingShotChangeDetectionConfig.Marshal(b, m, deterministic)
  1894. }
  1895. func (dst *StreamingShotChangeDetectionConfig) XXX_Merge(src proto.Message) {
  1896. xxx_messageInfo_StreamingShotChangeDetectionConfig.Merge(dst, src)
  1897. }
  1898. func (m *StreamingShotChangeDetectionConfig) XXX_Size() int {
  1899. return xxx_messageInfo_StreamingShotChangeDetectionConfig.Size(m)
  1900. }
  1901. func (m *StreamingShotChangeDetectionConfig) XXX_DiscardUnknown() {
  1902. xxx_messageInfo_StreamingShotChangeDetectionConfig.DiscardUnknown(m)
  1903. }
  1904. var xxx_messageInfo_StreamingShotChangeDetectionConfig proto.InternalMessageInfo
  1905. // Config for streaming storage option.
  1906. type StreamingStorageConfig struct {
  1907. // Enable streaming storage. Default: false.
  1908. EnableStorageAnnotationResult bool `protobuf:"varint,1,opt,name=enable_storage_annotation_result,json=enableStorageAnnotationResult,proto3" json:"enable_storage_annotation_result,omitempty"`
  1909. // GCS URI to store all annotation results for one client. Client should
  1910. // specify this field as the top-level storage directory. Annotation results
  1911. // of different sessions will be put into different sub-directories denoted
  1912. // by project_name and session_id. All sub-directories will be auto generated
  1913. // by program and will be made accessible to client in response proto.
  1914. // URIs must be specified in the following format: `gs://bucket-id/object-id`
  1915. // `bucket-id` should be a valid GCS bucket created by client and bucket
  1916. // permission shall also be configured properly. `object-id` can be arbitrary
  1917. // string that make sense to client. Other URI formats will return error and
  1918. // cause GCS write failure.
  1919. AnnotationResultStorageDirectory string `protobuf:"bytes,3,opt,name=annotation_result_storage_directory,json=annotationResultStorageDirectory,proto3" json:"annotation_result_storage_directory,omitempty"`
  1920. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1921. XXX_unrecognized []byte `json:"-"`
  1922. XXX_sizecache int32 `json:"-"`
  1923. }
  1924. func (m *StreamingStorageConfig) Reset() { *m = StreamingStorageConfig{} }
  1925. func (m *StreamingStorageConfig) String() string { return proto.CompactTextString(m) }
  1926. func (*StreamingStorageConfig) ProtoMessage() {}
  1927. func (*StreamingStorageConfig) Descriptor() ([]byte, []int) {
  1928. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{31}
  1929. }
  1930. func (m *StreamingStorageConfig) XXX_Unmarshal(b []byte) error {
  1931. return xxx_messageInfo_StreamingStorageConfig.Unmarshal(m, b)
  1932. }
  1933. func (m *StreamingStorageConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1934. return xxx_messageInfo_StreamingStorageConfig.Marshal(b, m, deterministic)
  1935. }
  1936. func (dst *StreamingStorageConfig) XXX_Merge(src proto.Message) {
  1937. xxx_messageInfo_StreamingStorageConfig.Merge(dst, src)
  1938. }
  1939. func (m *StreamingStorageConfig) XXX_Size() int {
  1940. return xxx_messageInfo_StreamingStorageConfig.Size(m)
  1941. }
  1942. func (m *StreamingStorageConfig) XXX_DiscardUnknown() {
  1943. xxx_messageInfo_StreamingStorageConfig.DiscardUnknown(m)
  1944. }
  1945. var xxx_messageInfo_StreamingStorageConfig proto.InternalMessageInfo
  1946. func (m *StreamingStorageConfig) GetEnableStorageAnnotationResult() bool {
  1947. if m != nil {
  1948. return m.EnableStorageAnnotationResult
  1949. }
  1950. return false
  1951. }
  1952. func (m *StreamingStorageConfig) GetAnnotationResultStorageDirectory() string {
  1953. if m != nil {
  1954. return m.AnnotationResultStorageDirectory
  1955. }
  1956. return ""
  1957. }
  1958. // Streaming annotation results corresponding to a portion of the video
  1959. // that is currently being processed.
  1960. type StreamingVideoAnnotationResults struct {
  1961. // Shot annotation results. Each shot is represented as a video segment.
  1962. ShotAnnotations []*VideoSegment `protobuf:"bytes,1,rep,name=shot_annotations,json=shotAnnotations,proto3" json:"shot_annotations,omitempty"`
  1963. // Label annotation results.
  1964. LabelAnnotations []*LabelAnnotation `protobuf:"bytes,2,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"`
  1965. // Explicit content detection results.
  1966. ExplicitAnnotation *ExplicitContentAnnotation `protobuf:"bytes,3,opt,name=explicit_annotation,json=explicitAnnotation,proto3" json:"explicit_annotation,omitempty"`
  1967. // Object tracking results.
  1968. ObjectAnnotations []*ObjectTrackingAnnotation `protobuf:"bytes,4,rep,name=object_annotations,json=objectAnnotations,proto3" json:"object_annotations,omitempty"`
  1969. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  1970. XXX_unrecognized []byte `json:"-"`
  1971. XXX_sizecache int32 `json:"-"`
  1972. }
  1973. func (m *StreamingVideoAnnotationResults) Reset() { *m = StreamingVideoAnnotationResults{} }
  1974. func (m *StreamingVideoAnnotationResults) String() string { return proto.CompactTextString(m) }
  1975. func (*StreamingVideoAnnotationResults) ProtoMessage() {}
  1976. func (*StreamingVideoAnnotationResults) Descriptor() ([]byte, []int) {
  1977. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{32}
  1978. }
  1979. func (m *StreamingVideoAnnotationResults) XXX_Unmarshal(b []byte) error {
  1980. return xxx_messageInfo_StreamingVideoAnnotationResults.Unmarshal(m, b)
  1981. }
  1982. func (m *StreamingVideoAnnotationResults) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1983. return xxx_messageInfo_StreamingVideoAnnotationResults.Marshal(b, m, deterministic)
  1984. }
  1985. func (dst *StreamingVideoAnnotationResults) XXX_Merge(src proto.Message) {
  1986. xxx_messageInfo_StreamingVideoAnnotationResults.Merge(dst, src)
  1987. }
  1988. func (m *StreamingVideoAnnotationResults) XXX_Size() int {
  1989. return xxx_messageInfo_StreamingVideoAnnotationResults.Size(m)
  1990. }
  1991. func (m *StreamingVideoAnnotationResults) XXX_DiscardUnknown() {
  1992. xxx_messageInfo_StreamingVideoAnnotationResults.DiscardUnknown(m)
  1993. }
  1994. var xxx_messageInfo_StreamingVideoAnnotationResults proto.InternalMessageInfo
  1995. func (m *StreamingVideoAnnotationResults) GetShotAnnotations() []*VideoSegment {
  1996. if m != nil {
  1997. return m.ShotAnnotations
  1998. }
  1999. return nil
  2000. }
  2001. func (m *StreamingVideoAnnotationResults) GetLabelAnnotations() []*LabelAnnotation {
  2002. if m != nil {
  2003. return m.LabelAnnotations
  2004. }
  2005. return nil
  2006. }
  2007. func (m *StreamingVideoAnnotationResults) GetExplicitAnnotation() *ExplicitContentAnnotation {
  2008. if m != nil {
  2009. return m.ExplicitAnnotation
  2010. }
  2011. return nil
  2012. }
  2013. func (m *StreamingVideoAnnotationResults) GetObjectAnnotations() []*ObjectTrackingAnnotation {
  2014. if m != nil {
  2015. return m.ObjectAnnotations
  2016. }
  2017. return nil
  2018. }
  2019. // Provides information to the annotator that specifies how to process the
  2020. // request.
  2021. type StreamingVideoConfig struct {
  2022. // Requested annotation feature.
  2023. Feature StreamingFeature `protobuf:"varint,1,opt,name=feature,proto3,enum=google.cloud.videointelligence.v1p3beta1.StreamingFeature" json:"feature,omitempty"`
  2024. // Config for requested annotation feature.
  2025. //
  2026. // Types that are valid to be assigned to StreamingConfig:
  2027. // *StreamingVideoConfig_ShotChangeDetectionConfig
  2028. // *StreamingVideoConfig_LabelDetectionConfig
  2029. // *StreamingVideoConfig_ExplicitContentDetectionConfig
  2030. // *StreamingVideoConfig_ObjectTrackingConfig
  2031. StreamingConfig isStreamingVideoConfig_StreamingConfig `protobuf_oneof:"streaming_config"`
  2032. // Streaming storage option. By default: storage is disabled.
  2033. StorageConfig *StreamingStorageConfig `protobuf:"bytes,30,opt,name=storage_config,json=storageConfig,proto3" json:"storage_config,omitempty"`
  2034. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  2035. XXX_unrecognized []byte `json:"-"`
  2036. XXX_sizecache int32 `json:"-"`
  2037. }
  2038. func (m *StreamingVideoConfig) Reset() { *m = StreamingVideoConfig{} }
  2039. func (m *StreamingVideoConfig) String() string { return proto.CompactTextString(m) }
  2040. func (*StreamingVideoConfig) ProtoMessage() {}
  2041. func (*StreamingVideoConfig) Descriptor() ([]byte, []int) {
  2042. return fileDescriptor_video_intelligence_8d71f55b0eb40d35, []int{33}
  2043. }
  2044. func (m *StreamingVideoConfig) XXX_Unmarshal(b []byte) error {
  2045. return xxx_messageInfo_StreamingVideoConfig.Unmarshal(m, b)
  2046. }
  2047. func (m *StreamingVideoConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2048. return xxx_messageInfo_StreamingVideoConfig.Marshal(b, m, deterministic)
  2049. }
  2050. func (dst *StreamingVideoConfig) XXX_Merge(src proto.Message) {
  2051. xxx_messageInfo_StreamingVideoConfig.Merge(dst, src)
  2052. }
  2053. func (m *StreamingVideoConfig) XXX_Size() int {
  2054. return xxx_messageInfo_StreamingVideoConfig.Size(m)
  2055. }
  2056. func (m *StreamingVideoConfig) XXX_DiscardUnknown() {
  2057. xxx_messageInfo_StreamingVideoConfig.DiscardUnknown(m)
  2058. }
  2059. var xxx_messageInfo_StreamingVideoConfig proto.InternalMessageInfo
  2060. func (m *StreamingVideoConfig) GetFeature() StreamingFeature {
  2061. if m != nil {
  2062. return m.Feature
  2063. }
  2064. return StreamingFeature_STREAMING_FEATURE_UNSPECIFIED
  2065. }
  2066. type isStreamingVideoConfig_StreamingConfig interface {
  2067. isStreamingVideoConfig_StreamingConfig()
  2068. }
  2069. type StreamingVideoConfig_ShotChangeDetectionConfig struct {
  2070. ShotChangeDetectionConfig *StreamingShotChangeDetectionConfig `protobuf:"bytes,2,opt,name=shot_change_detection_config,json=shotChangeDetectionConfig,proto3,oneof"`
  2071. }
  2072. type StreamingVideoConfig_LabelDetectionConfig struct {
  2073. LabelDetectionConfig *StreamingLabelDetectionConfig `protobuf:"bytes,3,opt,name=label_detection_config,json=labelDetectionConfig,proto3,oneof"`
  2074. }
  2075. type StreamingVideoConfig_ExplicitContentDetectionConfig struct {
  2076. ExplicitContentDetectionConfig *StreamingExplicitContentDetectionConfig `protobuf:"bytes,4,opt,name=explicit_content_detection_config,json=explicitContentDetectionConfig,proto3,oneof"`
  2077. }
  2078. type StreamingVideoConfig_ObjectTrackingConfig struct {
  2079. ObjectTrackingConfig *StreamingObjectTrackingConfig `protobuf:"bytes,5,opt,name=object_tracking_config,json=objectTrackingConfig,proto3,oneof"`
  2080. }
  2081. func (*StreamingVideoConfig_ShotChangeDetectionConfig) isStreamingVideoConfig_StreamingConfig() {}
  2082. func (*StreamingVideoConfig_LabelDetectionConfig) isStreamingVideoConfig_StreamingConfig() {}
  2083. func (*StreamingVideoConfig_ExplicitContentDetectionConfig) isStreamingVideoConfig_StreamingConfig() {}
  2084. func (*StreamingVideoConfig_ObjectTrackingConfig) isStreamingVideoConfig_StreamingConfig() {}
  2085. func (m *StreamingVideoConfig) GetStreamingConfig() isStreamingVideoConfig_StreamingConfig {
  2086. if m != nil {
  2087. return m.StreamingConfig
  2088. }
  2089. return nil
  2090. }
  2091. func (m *StreamingVideoConfig) GetShotChangeDetectionConfig() *StreamingShotChangeDetectionConfig {
  2092. if x, ok := m.GetStreamingConfig().(*StreamingVideoConfig_ShotChangeDetectionConfig); ok {
  2093. return x.ShotChangeDetectionConfig
  2094. }
  2095. return nil
  2096. }
  2097. func (m *StreamingVideoConfig) GetLabelDetectionConfig() *StreamingLabelDetectionConfig {
  2098. if x, ok := m.GetStreamingConfig().(*StreamingVideoConfig_LabelDetectionConfig); ok {
  2099. return x.LabelDetectionConfig
  2100. }
  2101. return nil
  2102. }
  2103. func (m *StreamingVideoConfig) GetExplicitContentDetectionConfig() *StreamingExplicitContentDetectionConfig {
  2104. if x, ok := m.GetStreamingConfig().(*StreamingVideoConfig_ExplicitContentDetectionConfig); ok {
  2105. return x.ExplicitContentDetectionConfig
  2106. }
  2107. return nil
  2108. }
  2109. func (m *StreamingVideoConfig) GetObjectTrackingConfig() *StreamingObjectTrackingConfig {
  2110. if x, ok := m.GetStreamingConfig().(*StreamingVideoConfig_ObjectTrackingConfig); ok {
  2111. return x.ObjectTrackingConfig
  2112. }
  2113. return nil
  2114. }
  2115. func (m *StreamingVideoConfig) GetStorageConfig() *StreamingStorageConfig {
  2116. if m != nil {
  2117. return m.StorageConfig
  2118. }
  2119. return nil
  2120. }
  2121. // XXX_OneofFuncs is for the internal use of the proto package.
  2122. func (*StreamingVideoConfig) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  2123. return _StreamingVideoConfig_OneofMarshaler, _StreamingVideoConfig_OneofUnmarshaler, _StreamingVideoConfig_OneofSizer, []interface{}{
  2124. (*StreamingVideoConfig_ShotChangeDetectionConfig)(nil),
  2125. (*StreamingVideoConfig_LabelDetectionConfig)(nil),
  2126. (*StreamingVideoConfig_ExplicitContentDetectionConfig)(nil),
  2127. (*StreamingVideoConfig_ObjectTrackingConfig)(nil),
  2128. }
  2129. }
  2130. func _StreamingVideoConfig_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  2131. m := msg.(*StreamingVideoConfig)
  2132. // streaming_config
  2133. switch x := m.StreamingConfig.(type) {
  2134. case *StreamingVideoConfig_ShotChangeDetectionConfig:
  2135. b.EncodeVarint(2<<3 | proto.WireBytes)
  2136. if err := b.EncodeMessage(x.ShotChangeDetectionConfig); err != nil {
  2137. return err
  2138. }
  2139. case *StreamingVideoConfig_LabelDetectionConfig:
  2140. b.EncodeVarint(3<<3 | proto.WireBytes)
  2141. if err := b.EncodeMessage(x.LabelDetectionConfig); err != nil {
  2142. return err
  2143. }
  2144. case *StreamingVideoConfig_ExplicitContentDetectionConfig:
  2145. b.EncodeVarint(4<<3 | proto.WireBytes)
  2146. if err := b.EncodeMessage(x.ExplicitContentDetectionConfig); err != nil {
  2147. return err
  2148. }
  2149. case *StreamingVideoConfig_ObjectTrackingConfig:
  2150. b.EncodeVarint(5<<3 | proto.WireBytes)
  2151. if err := b.EncodeMessage(x.ObjectTrackingConfig); err != nil {
  2152. return err
  2153. }
  2154. case nil:
  2155. default:
  2156. return fmt.Errorf("StreamingVideoConfig.StreamingConfig has unexpected type %T", x)
  2157. }
  2158. return nil
  2159. }
  2160. func _StreamingVideoConfig_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  2161. m := msg.(*StreamingVideoConfig)
  2162. switch tag {
  2163. case 2: // streaming_config.shot_change_detection_config
  2164. if wire != proto.WireBytes {
  2165. return true, proto.ErrInternalBadWireType
  2166. }
  2167. msg := new(StreamingShotChangeDetectionConfig)
  2168. err := b.DecodeMessage(msg)
  2169. m.StreamingConfig = &StreamingVideoConfig_ShotChangeDetectionConfig{msg}
  2170. return true, err
  2171. case 3: // streaming_config.label_detection_config
  2172. if wire != proto.WireBytes {
  2173. return true, proto.ErrInternalBadWireType
  2174. }
  2175. msg := new(StreamingLabelDetectionConfig)
  2176. err := b.DecodeMessage(msg)
  2177. m.StreamingConfig = &StreamingVideoConfig_LabelDetectionConfig{msg}
  2178. return true, err
  2179. case 4: // streaming_config.explicit_content_detection_config
  2180. if wire != proto.WireBytes {
  2181. return true, proto.ErrInternalBadWireType
  2182. }
  2183. msg := new(StreamingExplicitContentDetectionConfig)
  2184. err := b.DecodeMessage(msg)
  2185. m.StreamingConfig = &StreamingVideoConfig_ExplicitContentDetectionConfig{msg}
  2186. return true, err
  2187. case 5: // streaming_config.object_tracking_config
  2188. if wire != proto.WireBytes {
  2189. return true, proto.ErrInternalBadWireType
  2190. }
  2191. msg := new(StreamingObjectTrackingConfig)
  2192. err := b.DecodeMessage(msg)
  2193. m.StreamingConfig = &StreamingVideoConfig_ObjectTrackingConfig{msg}
  2194. return true, err
  2195. default:
  2196. return false, nil
  2197. }
  2198. }
  2199. func _StreamingVideoConfig_OneofSizer(msg proto.Message) (n int) {
  2200. m := msg.(*StreamingVideoConfig)
  2201. // streaming_config
  2202. switch x := m.StreamingConfig.(type) {
  2203. case *StreamingVideoConfig_ShotChangeDetectionConfig:
  2204. s := proto.Size(x.ShotChangeDetectionConfig)
  2205. n += 1 // tag and wire
  2206. n += proto.SizeVarint(uint64(s))
  2207. n += s
  2208. case *StreamingVideoConfig_LabelDetectionConfig:
  2209. s := proto.Size(x.LabelDetectionConfig)
  2210. n += 1 // tag and wire
  2211. n += proto.SizeVarint(uint64(s))
  2212. n += s
  2213. case *StreamingVideoConfig_ExplicitContentDetectionConfig:
  2214. s := proto.Size(x.ExplicitContentDetectionConfig)
  2215. n += 1 // tag and wire
  2216. n += proto.SizeVarint(uint64(s))
  2217. n += s
  2218. case *StreamingVideoConfig_ObjectTrackingConfig:
  2219. s := proto.Size(x.ObjectTrackingConfig)
  2220. n += 1 // tag and wire
  2221. n += proto.SizeVarint(uint64(s))
  2222. n += s
  2223. case nil:
  2224. default:
  2225. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  2226. }
  2227. return n
  2228. }
  2229. func init() {
  2230. proto.RegisterType((*AnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1p3beta1.AnnotateVideoRequest")
  2231. proto.RegisterType((*VideoContext)(nil), "google.cloud.videointelligence.v1p3beta1.VideoContext")
  2232. proto.RegisterType((*LabelDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.LabelDetectionConfig")
  2233. proto.RegisterType((*ShotChangeDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.ShotChangeDetectionConfig")
  2234. proto.RegisterType((*ExplicitContentDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.ExplicitContentDetectionConfig")
  2235. proto.RegisterType((*TextDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.TextDetectionConfig")
  2236. proto.RegisterType((*VideoSegment)(nil), "google.cloud.videointelligence.v1p3beta1.VideoSegment")
  2237. proto.RegisterType((*LabelSegment)(nil), "google.cloud.videointelligence.v1p3beta1.LabelSegment")
  2238. proto.RegisterType((*LabelFrame)(nil), "google.cloud.videointelligence.v1p3beta1.LabelFrame")
  2239. proto.RegisterType((*Entity)(nil), "google.cloud.videointelligence.v1p3beta1.Entity")
  2240. proto.RegisterType((*LabelAnnotation)(nil), "google.cloud.videointelligence.v1p3beta1.LabelAnnotation")
  2241. proto.RegisterType((*ExplicitContentFrame)(nil), "google.cloud.videointelligence.v1p3beta1.ExplicitContentFrame")
  2242. proto.RegisterType((*ExplicitContentAnnotation)(nil), "google.cloud.videointelligence.v1p3beta1.ExplicitContentAnnotation")
  2243. proto.RegisterType((*NormalizedBoundingBox)(nil), "google.cloud.videointelligence.v1p3beta1.NormalizedBoundingBox")
  2244. proto.RegisterType((*VideoAnnotationResults)(nil), "google.cloud.videointelligence.v1p3beta1.VideoAnnotationResults")
  2245. proto.RegisterType((*AnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1p3beta1.AnnotateVideoResponse")
  2246. proto.RegisterType((*VideoAnnotationProgress)(nil), "google.cloud.videointelligence.v1p3beta1.VideoAnnotationProgress")
  2247. proto.RegisterType((*AnnotateVideoProgress)(nil), "google.cloud.videointelligence.v1p3beta1.AnnotateVideoProgress")
  2248. proto.RegisterType((*NormalizedVertex)(nil), "google.cloud.videointelligence.v1p3beta1.NormalizedVertex")
  2249. proto.RegisterType((*NormalizedBoundingPoly)(nil), "google.cloud.videointelligence.v1p3beta1.NormalizedBoundingPoly")
  2250. proto.RegisterType((*TextSegment)(nil), "google.cloud.videointelligence.v1p3beta1.TextSegment")
  2251. proto.RegisterType((*TextFrame)(nil), "google.cloud.videointelligence.v1p3beta1.TextFrame")
  2252. proto.RegisterType((*TextAnnotation)(nil), "google.cloud.videointelligence.v1p3beta1.TextAnnotation")
  2253. proto.RegisterType((*ObjectTrackingFrame)(nil), "google.cloud.videointelligence.v1p3beta1.ObjectTrackingFrame")
  2254. proto.RegisterType((*ObjectTrackingAnnotation)(nil), "google.cloud.videointelligence.v1p3beta1.ObjectTrackingAnnotation")
  2255. proto.RegisterType((*StreamingAnnotateVideoRequest)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoRequest")
  2256. proto.RegisterType((*StreamingAnnotateVideoResponse)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingAnnotateVideoResponse")
  2257. proto.RegisterType((*StreamingExplicitContentDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingExplicitContentDetectionConfig")
  2258. proto.RegisterType((*StreamingLabelDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingLabelDetectionConfig")
  2259. proto.RegisterType((*StreamingObjectTrackingConfig)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingObjectTrackingConfig")
  2260. proto.RegisterType((*StreamingShotChangeDetectionConfig)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingShotChangeDetectionConfig")
  2261. proto.RegisterType((*StreamingStorageConfig)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingStorageConfig")
  2262. proto.RegisterType((*StreamingVideoAnnotationResults)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingVideoAnnotationResults")
  2263. proto.RegisterType((*StreamingVideoConfig)(nil), "google.cloud.videointelligence.v1p3beta1.StreamingVideoConfig")
  2264. proto.RegisterEnum("google.cloud.videointelligence.v1p3beta1.Feature", Feature_name, Feature_value)
  2265. proto.RegisterEnum("google.cloud.videointelligence.v1p3beta1.LabelDetectionMode", LabelDetectionMode_name, LabelDetectionMode_value)
  2266. proto.RegisterEnum("google.cloud.videointelligence.v1p3beta1.Likelihood", Likelihood_name, Likelihood_value)
  2267. proto.RegisterEnum("google.cloud.videointelligence.v1p3beta1.StreamingFeature", StreamingFeature_name, StreamingFeature_value)
  2268. }
  2269. // Reference imports to suppress errors if they are not otherwise used.
  2270. var _ context.Context
  2271. var _ grpc.ClientConn
  2272. // This is a compile-time assertion to ensure that this generated file
  2273. // is compatible with the grpc package it is being compiled against.
  2274. const _ = grpc.SupportPackageIsVersion4
  2275. // VideoIntelligenceServiceClient is the client API for VideoIntelligenceService service.
  2276. //
  2277. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2278. type VideoIntelligenceServiceClient interface {
  2279. // Performs asynchronous video annotation. Progress and results can be
  2280. // retrieved through the `google.longrunning.Operations` interface.
  2281. // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
  2282. // `Operation.response` contains `AnnotateVideoResponse` (results).
  2283. AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
  2284. }
  2285. type videoIntelligenceServiceClient struct {
  2286. cc *grpc.ClientConn
  2287. }
  2288. func NewVideoIntelligenceServiceClient(cc *grpc.ClientConn) VideoIntelligenceServiceClient {
  2289. return &videoIntelligenceServiceClient{cc}
  2290. }
  2291. func (c *videoIntelligenceServiceClient) AnnotateVideo(ctx context.Context, in *AnnotateVideoRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
  2292. out := new(longrunning.Operation)
  2293. err := c.cc.Invoke(ctx, "/google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService/AnnotateVideo", in, out, opts...)
  2294. if err != nil {
  2295. return nil, err
  2296. }
  2297. return out, nil
  2298. }
  2299. // VideoIntelligenceServiceServer is the server API for VideoIntelligenceService service.
  2300. type VideoIntelligenceServiceServer interface {
  2301. // Performs asynchronous video annotation. Progress and results can be
  2302. // retrieved through the `google.longrunning.Operations` interface.
  2303. // `Operation.metadata` contains `AnnotateVideoProgress` (progress).
  2304. // `Operation.response` contains `AnnotateVideoResponse` (results).
  2305. AnnotateVideo(context.Context, *AnnotateVideoRequest) (*longrunning.Operation, error)
  2306. }
  2307. func RegisterVideoIntelligenceServiceServer(s *grpc.Server, srv VideoIntelligenceServiceServer) {
  2308. s.RegisterService(&_VideoIntelligenceService_serviceDesc, srv)
  2309. }
  2310. func _VideoIntelligenceService_AnnotateVideo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  2311. in := new(AnnotateVideoRequest)
  2312. if err := dec(in); err != nil {
  2313. return nil, err
  2314. }
  2315. if interceptor == nil {
  2316. return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, in)
  2317. }
  2318. info := &grpc.UnaryServerInfo{
  2319. Server: srv,
  2320. FullMethod: "/google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService/AnnotateVideo",
  2321. }
  2322. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  2323. return srv.(VideoIntelligenceServiceServer).AnnotateVideo(ctx, req.(*AnnotateVideoRequest))
  2324. }
  2325. return interceptor(ctx, in, info, handler)
  2326. }
  2327. var _VideoIntelligenceService_serviceDesc = grpc.ServiceDesc{
  2328. ServiceName: "google.cloud.videointelligence.v1p3beta1.VideoIntelligenceService",
  2329. HandlerType: (*VideoIntelligenceServiceServer)(nil),
  2330. Methods: []grpc.MethodDesc{
  2331. {
  2332. MethodName: "AnnotateVideo",
  2333. Handler: _VideoIntelligenceService_AnnotateVideo_Handler,
  2334. },
  2335. },
  2336. Streams: []grpc.StreamDesc{},
  2337. Metadata: "google/cloud/videointelligence/v1p3beta1/video_intelligence.proto",
  2338. }
  2339. // StreamingVideoIntelligenceServiceClient is the client API for StreamingVideoIntelligenceService service.
  2340. //
  2341. // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  2342. type StreamingVideoIntelligenceServiceClient interface {
  2343. // Performs video annotation with bidirectional streaming: emitting results
  2344. // while sending video/audio bytes.
  2345. // This method is only available via the gRPC API (not REST).
  2346. StreamingAnnotateVideo(ctx context.Context, opts ...grpc.CallOption) (StreamingVideoIntelligenceService_StreamingAnnotateVideoClient, error)
  2347. }
  2348. type streamingVideoIntelligenceServiceClient struct {
  2349. cc *grpc.ClientConn
  2350. }
  2351. func NewStreamingVideoIntelligenceServiceClient(cc *grpc.ClientConn) StreamingVideoIntelligenceServiceClient {
  2352. return &streamingVideoIntelligenceServiceClient{cc}
  2353. }
  2354. func (c *streamingVideoIntelligenceServiceClient) StreamingAnnotateVideo(ctx context.Context, opts ...grpc.CallOption) (StreamingVideoIntelligenceService_StreamingAnnotateVideoClient, error) {
  2355. stream, err := c.cc.NewStream(ctx, &_StreamingVideoIntelligenceService_serviceDesc.Streams[0], "/google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService/StreamingAnnotateVideo", opts...)
  2356. if err != nil {
  2357. return nil, err
  2358. }
  2359. x := &streamingVideoIntelligenceServiceStreamingAnnotateVideoClient{stream}
  2360. return x, nil
  2361. }
  2362. type StreamingVideoIntelligenceService_StreamingAnnotateVideoClient interface {
  2363. Send(*StreamingAnnotateVideoRequest) error
  2364. Recv() (*StreamingAnnotateVideoResponse, error)
  2365. grpc.ClientStream
  2366. }
  2367. type streamingVideoIntelligenceServiceStreamingAnnotateVideoClient struct {
  2368. grpc.ClientStream
  2369. }
  2370. func (x *streamingVideoIntelligenceServiceStreamingAnnotateVideoClient) Send(m *StreamingAnnotateVideoRequest) error {
  2371. return x.ClientStream.SendMsg(m)
  2372. }
  2373. func (x *streamingVideoIntelligenceServiceStreamingAnnotateVideoClient) Recv() (*StreamingAnnotateVideoResponse, error) {
  2374. m := new(StreamingAnnotateVideoResponse)
  2375. if err := x.ClientStream.RecvMsg(m); err != nil {
  2376. return nil, err
  2377. }
  2378. return m, nil
  2379. }
  2380. // StreamingVideoIntelligenceServiceServer is the server API for StreamingVideoIntelligenceService service.
  2381. type StreamingVideoIntelligenceServiceServer interface {
  2382. // Performs video annotation with bidirectional streaming: emitting results
  2383. // while sending video/audio bytes.
  2384. // This method is only available via the gRPC API (not REST).
  2385. StreamingAnnotateVideo(StreamingVideoIntelligenceService_StreamingAnnotateVideoServer) error
  2386. }
  2387. func RegisterStreamingVideoIntelligenceServiceServer(s *grpc.Server, srv StreamingVideoIntelligenceServiceServer) {
  2388. s.RegisterService(&_StreamingVideoIntelligenceService_serviceDesc, srv)
  2389. }
  2390. func _StreamingVideoIntelligenceService_StreamingAnnotateVideo_Handler(srv interface{}, stream grpc.ServerStream) error {
  2391. return srv.(StreamingVideoIntelligenceServiceServer).StreamingAnnotateVideo(&streamingVideoIntelligenceServiceStreamingAnnotateVideoServer{stream})
  2392. }
  2393. type StreamingVideoIntelligenceService_StreamingAnnotateVideoServer interface {
  2394. Send(*StreamingAnnotateVideoResponse) error
  2395. Recv() (*StreamingAnnotateVideoRequest, error)
  2396. grpc.ServerStream
  2397. }
  2398. type streamingVideoIntelligenceServiceStreamingAnnotateVideoServer struct {
  2399. grpc.ServerStream
  2400. }
  2401. func (x *streamingVideoIntelligenceServiceStreamingAnnotateVideoServer) Send(m *StreamingAnnotateVideoResponse) error {
  2402. return x.ServerStream.SendMsg(m)
  2403. }
  2404. func (x *streamingVideoIntelligenceServiceStreamingAnnotateVideoServer) Recv() (*StreamingAnnotateVideoRequest, error) {
  2405. m := new(StreamingAnnotateVideoRequest)
  2406. if err := x.ServerStream.RecvMsg(m); err != nil {
  2407. return nil, err
  2408. }
  2409. return m, nil
  2410. }
  2411. var _StreamingVideoIntelligenceService_serviceDesc = grpc.ServiceDesc{
  2412. ServiceName: "google.cloud.videointelligence.v1p3beta1.StreamingVideoIntelligenceService",
  2413. HandlerType: (*StreamingVideoIntelligenceServiceServer)(nil),
  2414. Methods: []grpc.MethodDesc{},
  2415. Streams: []grpc.StreamDesc{
  2416. {
  2417. StreamName: "StreamingAnnotateVideo",
  2418. Handler: _StreamingVideoIntelligenceService_StreamingAnnotateVideo_Handler,
  2419. ServerStreams: true,
  2420. ClientStreams: true,
  2421. },
  2422. },
  2423. Metadata: "google/cloud/videointelligence/v1p3beta1/video_intelligence.proto",
  2424. }
  2425. func init() {
  2426. proto.RegisterFile("google/cloud/videointelligence/v1p3beta1/video_intelligence.proto", fileDescriptor_video_intelligence_8d71f55b0eb40d35)
  2427. }
  2428. var fileDescriptor_video_intelligence_8d71f55b0eb40d35 = []byte{
  2429. // 2371 bytes of a gzipped FileDescriptorProto
  2430. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xcf, 0x6f, 0xe3, 0xc6,
  2431. 0xf5, 0x37, 0x25, 0xdb, 0x6b, 0x3d, 0xcb, 0xb6, 0x3c, 0xfe, 0x25, 0x3b, 0xf1, 0x8f, 0x70, 0xb3,
  2432. 0xf8, 0x3a, 0xfb, 0x2d, 0xe4, 0xac, 0x37, 0x0d, 0x9a, 0xcd, 0x8f, 0x46, 0x92, 0xb5, 0x96, 0xba,
  2433. 0xb6, 0xe5, 0xd0, 0xb2, 0x91, 0x6d, 0xb7, 0x20, 0x68, 0x6a, 0x44, 0xb3, 0x4b, 0x71, 0xb4, 0xe4,
  2434. 0xc8, 0xb1, 0x7b, 0x49, 0x50, 0xf4, 0x50, 0xa0, 0x87, 0x1e, 0x82, 0x02, 0x05, 0x0a, 0xe4, 0x0f,
  2435. 0xe8, 0xa5, 0x45, 0xaf, 0x3d, 0xb4, 0x28, 0x7a, 0x69, 0xd0, 0x5b, 0x91, 0x43, 0x8b, 0x1e, 0x7b,
  2436. 0x28, 0xd0, 0xff, 0xa0, 0xa7, 0x82, 0x33, 0x43, 0x8a, 0x22, 0x25, 0xdb, 0x92, 0xb3, 0xe8, 0x4d,
  2437. 0xf3, 0x66, 0xe6, 0xf3, 0x7e, 0xce, 0x7b, 0x6f, 0x86, 0x82, 0xbc, 0x41, 0x88, 0x61, 0xe1, 0x2d,
  2438. 0xdd, 0x22, 0xed, 0xfa, 0xd6, 0xb9, 0x59, 0xc7, 0xc4, 0xb4, 0x29, 0xb6, 0x2c, 0xd3, 0xc0, 0xb6,
  2439. 0x8e, 0xb7, 0xce, 0x1f, 0xb4, 0x1e, 0x9e, 0x62, 0xaa, 0x3d, 0xe0, 0x73, 0x6a, 0x78, 0x32, 0xd7,
  2440. 0x72, 0x08, 0x25, 0x68, 0x93, 0x43, 0xe4, 0x18, 0x44, 0x2e, 0x06, 0x91, 0x0b, 0x20, 0x56, 0x5e,
  2441. 0x15, 0xcc, 0xb4, 0x96, 0xb9, 0xa5, 0xd9, 0x36, 0xa1, 0x1a, 0x35, 0x89, 0xed, 0x72, 0x9c, 0x95,
  2442. 0xbb, 0x62, 0xd6, 0x22, 0xb6, 0xe1, 0xb4, 0x6d, 0xdb, 0xb4, 0x8d, 0x2d, 0xd2, 0xc2, 0x4e, 0xd7,
  2443. 0xa2, 0x35, 0xb1, 0x88, 0x8d, 0x4e, 0xdb, 0x8d, 0xad, 0x7a, 0x9b, 0x2f, 0x10, 0xf3, 0xeb, 0xd1,
  2444. 0x79, 0x6a, 0x36, 0xb1, 0x4b, 0xb5, 0x66, 0x4b, 0x2c, 0x58, 0x12, 0x0b, 0x9c, 0x96, 0xbe, 0xe5,
  2445. 0x52, 0x8d, 0xb6, 0x05, 0xb2, 0xfc, 0xa7, 0x04, 0xcc, 0xe7, 0xb9, 0x50, 0xf8, 0xc4, 0x53, 0x42,
  2446. 0xc1, 0x2f, 0xda, 0xd8, 0xa5, 0xe8, 0x15, 0x48, 0x99, 0x76, 0xab, 0x4d, 0xd5, 0xb6, 0x63, 0x66,
  2447. 0xa5, 0x0d, 0x69, 0x33, 0xa5, 0x4c, 0x30, 0xc2, 0xb1, 0x63, 0xa2, 0xbb, 0x30, 0xc5, 0x27, 0x75,
  2448. 0x62, 0x53, 0x6c, 0xd3, 0xec, 0xf8, 0x86, 0xb4, 0x99, 0x56, 0xd2, 0x8c, 0x58, 0xe4, 0x34, 0xb4,
  2449. 0x0f, 0x13, 0x0d, 0xac, 0xd1, 0xb6, 0x83, 0xdd, 0x6c, 0x62, 0x23, 0xb9, 0x39, 0xbd, 0xfd, 0x20,
  2450. 0x77, 0x53, 0xa3, 0xe5, 0x1e, 0xf3, 0x9d, 0x4a, 0x00, 0x81, 0xbe, 0x07, 0x53, 0xdc, 0x19, 0x8c,
  2451. 0xe7, 0x05, 0xcd, 0x26, 0x37, 0xa4, 0xcd, 0xc9, 0xed, 0xb7, 0x6f, 0x8e, 0xc9, 0xf4, 0x2b, 0xf2,
  2452. 0xdd, 0x4a, 0xfa, 0x3c, 0x34, 0x42, 0xab, 0x00, 0xa4, 0x4d, 0x7d, 0x75, 0x47, 0x99, 0xba, 0x29,
  2453. 0x4e, 0xf1, 0xf4, 0x5d, 0x87, 0x49, 0x8b, 0xe8, 0xcc, 0xe2, 0xaa, 0x59, 0xcf, 0x8e, 0xb1, 0x79,
  2454. 0xf0, 0x49, 0x95, 0xba, 0xfc, 0xaf, 0x51, 0x48, 0x87, 0xe1, 0x91, 0x02, 0x13, 0x2e, 0x36, 0x9a,
  2455. 0xd8, 0xa6, 0x6e, 0x56, 0xda, 0x48, 0x0e, 0x21, 0xe8, 0x11, 0xdf, 0xae, 0x04, 0x38, 0x88, 0xc2,
  2456. 0xa2, 0xa5, 0x9d, 0x62, 0x4b, 0xad, 0x63, 0x8a, 0x75, 0x26, 0x8c, 0x4e, 0xec, 0x86, 0x69, 0x64,
  2457. 0x13, 0xcc, 0x14, 0x1f, 0xdc, 0x9c, 0xc3, 0x9e, 0x87, 0xb3, 0xe3, 0xc3, 0x14, 0x19, 0x8a, 0x32,
  2458. 0x6f, 0xf5, 0xa0, 0xa2, 0x1f, 0x4b, 0xf0, 0xaa, 0x7b, 0x46, 0xa8, 0xaa, 0x9f, 0x69, 0xb6, 0x81,
  2459. 0xe3, 0xcc, 0xb9, 0x1f, 0x8a, 0x37, 0x67, 0x7e, 0x74, 0x46, 0x68, 0x91, 0x81, 0x45, 0x25, 0x58,
  2460. 0x76, 0xfb, 0x4d, 0xa1, 0xcf, 0x25, 0x78, 0x0d, 0x5f, 0xb4, 0x2c, 0x53, 0x37, 0x83, 0xb0, 0x8b,
  2461. 0xcb, 0x32, 0xca, 0x64, 0x29, 0xdf, 0x5c, 0x96, 0x92, 0x80, 0x14, 0x41, 0x1b, 0x15, 0x68, 0x0d,
  2462. 0x5f, 0x39, 0x8f, 0x5e, 0xc0, 0x82, 0xe7, 0xee, 0xb8, 0x20, 0x13, 0x4c, 0x90, 0xf7, 0x6f, 0x2e,
  2463. 0x48, 0x0d, 0x5f, 0xc4, 0xb8, 0xcf, 0xd1, 0x38, 0x51, 0xfe, 0xb3, 0x04, 0xf3, 0xbd, 0xdc, 0x87,
  2464. 0x6c, 0x98, 0x8f, 0x86, 0x47, 0x93, 0xd4, 0x31, 0x3b, 0xbc, 0xd3, 0xdb, 0xef, 0x0d, 0x1b, 0x1c,
  2465. 0xfb, 0xa4, 0x8e, 0x15, 0x64, 0xc5, 0x68, 0xe8, 0xff, 0x61, 0xd6, 0xe5, 0xb9, 0x4c, 0x73, 0x2e,
  2466. 0x55, 0x5d, 0x6b, 0x62, 0x47, 0x63, 0x91, 0x38, 0xa1, 0x64, 0x3a, 0x13, 0x45, 0x46, 0x47, 0xf3,
  2467. 0x30, 0xe6, 0x09, 0x63, 0xb1, 0x68, 0x49, 0x29, 0x7c, 0x20, 0x3f, 0x80, 0xe5, 0xbe, 0xc1, 0xd0,
  2468. 0xd9, 0x22, 0x85, 0xb7, 0xbc, 0x0d, 0x6b, 0x57, 0xfb, 0xac, 0xcf, 0xbe, 0xf7, 0x60, 0xae, 0x87,
  2469. 0x89, 0xd1, 0x3d, 0x98, 0xb6, 0x34, 0xdb, 0x68, 0x6b, 0x06, 0x56, 0xcf, 0x4c, 0xff, 0xb4, 0xa6,
  2470. 0x94, 0x29, 0x9f, 0x5a, 0xf6, 0x88, 0xf2, 0x2f, 0x24, 0x71, 0xbe, 0xc5, 0xa9, 0x44, 0x25, 0xa6,
  2471. 0xbc, 0x43, 0x55, 0x2f, 0xd3, 0xaa, 0xa4, 0xd1, 0x70, 0x31, 0x65, 0x0c, 0x27, 0xb7, 0x97, 0x7d,
  2472. 0x4b, 0xfb, 0xd9, 0x38, 0xb7, 0x23, 0xb2, 0xb5, 0x32, 0xc3, 0xf6, 0xd4, 0xcc, 0x26, 0xae, 0xb2,
  2473. 0x1d, 0x28, 0x0f, 0x33, 0xd8, 0xae, 0x77, 0x81, 0x24, 0xae, 0x03, 0x99, 0xc2, 0x76, 0xbd, 0x03,
  2474. 0x21, 0x7f, 0x26, 0x41, 0x9a, 0x79, 0xcc, 0x17, 0xed, 0x10, 0xee, 0x88, 0x94, 0x21, 0x04, 0x1a,
  2475. 0x36, 0xf3, 0xf8, 0x30, 0x68, 0x0d, 0x80, 0x85, 0x75, 0xdd, 0x5b, 0xcd, 0x04, 0x4c, 0x28, 0x21,
  2476. 0x8a, 0x7c, 0x06, 0xc0, 0x24, 0x78, 0xec, 0x68, 0x4d, 0x8c, 0x1e, 0xc1, 0xe4, 0x40, 0x46, 0x01,
  2477. 0xda, 0xb1, 0xc7, 0x75, 0x9c, 0x2c, 0x18, 0x2f, 0xd9, 0xd4, 0xa4, 0x97, 0x5e, 0x7d, 0xc2, 0xec,
  2478. 0x97, 0x97, 0x90, 0x45, 0x7d, 0xe2, 0x84, 0x4a, 0x1d, 0x6d, 0xc0, 0x64, 0x1d, 0xbb, 0xba, 0x63,
  2479. 0xb6, 0x3c, 0x0e, 0x0c, 0x27, 0xa5, 0x84, 0x49, 0x5e, 0x05, 0x0b, 0xfc, 0xae, 0x7b, 0xa7, 0x84,
  2480. 0xc7, 0x65, 0xda, 0x27, 0x16, 0x49, 0x1d, 0xcb, 0xff, 0x48, 0xc0, 0x0c, 0x53, 0x2c, 0x1f, 0x94,
  2481. 0x6d, 0x54, 0x86, 0x71, 0xce, 0x46, 0x28, 0xf6, 0xe6, 0x00, 0xb9, 0x86, 0xed, 0x53, 0xc4, 0x7e,
  2482. 0xf4, 0x7d, 0x98, 0xd5, 0x35, 0x8a, 0x0d, 0xe2, 0x5c, 0xaa, 0x8c, 0x64, 0x8a, 0x42, 0x39, 0x0c,
  2483. 0x68, 0xc6, 0x87, 0x2a, 0x09, 0xa4, 0xae, 0x0a, 0x94, 0x1c, 0xb4, 0x02, 0x85, 0x03, 0x2a, 0x54,
  2484. 0x81, 0xf6, 0x60, 0xbc, 0xe1, 0xf9, 0xd8, 0xcd, 0x8e, 0x32, 0xc4, 0xb7, 0x06, 0x44, 0x64, 0x01,
  2485. 0xa2, 0x08, 0x0c, 0xf9, 0xf7, 0x12, 0xcc, 0x47, 0xce, 0xf2, 0xed, 0x23, 0xe8, 0x39, 0x2c, 0xb6,
  2486. 0x88, 0x63, 0x13, 0xc3, 0xd1, 0x5a, 0x67, 0x97, 0xaa, 0x65, 0x3e, 0xc7, 0x96, 0x79, 0x46, 0x48,
  2487. 0x9d, 0x45, 0xc1, 0xf4, 0x40, 0x22, 0x07, 0x7b, 0x95, 0x85, 0x10, 0x66, 0x87, 0x2c, 0xbb, 0xb0,
  2488. 0x1c, 0x51, 0x20, 0x14, 0x29, 0x27, 0x81, 0xb1, 0x78, 0x03, 0xf0, 0xc1, 0xd0, 0x55, 0xa9, 0xdb,
  2489. 0x6c, 0xcf, 0x61, 0xe1, 0x80, 0x38, 0x4d, 0xcd, 0x32, 0x7f, 0x88, 0xeb, 0x05, 0xd2, 0xb6, 0xeb,
  2490. 0xa6, 0x6d, 0x14, 0xc8, 0x05, 0x42, 0x30, 0x6a, 0xe1, 0x06, 0xb7, 0x57, 0x42, 0x61, 0xbf, 0x51,
  2491. 0x06, 0x92, 0x94, 0xb4, 0xc4, 0x49, 0xf2, 0x7e, 0x7a, 0xe9, 0xd1, 0x31, 0x8d, 0x33, 0xde, 0x3f,
  2492. 0x25, 0x14, 0x3e, 0x40, 0x8b, 0x30, 0x7e, 0x4a, 0x28, 0x25, 0x4d, 0x56, 0x42, 0x13, 0x8a, 0x18,
  2493. 0xc9, 0xff, 0x1e, 0x87, 0x45, 0x96, 0x14, 0x3a, 0x8a, 0x29, 0xd8, 0x6d, 0x5b, 0xd4, 0xbd, 0xba,
  2494. 0x43, 0x6c, 0xc3, 0xb2, 0x88, 0x1a, 0x95, 0x17, 0xa5, 0x50, 0xe7, 0x2b, 0x82, 0xfc, 0x9d, 0x01,
  2495. 0x83, 0x27, 0x24, 0xc1, 0x92, 0xc0, 0x8e, 0xd0, 0x5d, 0x44, 0x60, 0x91, 0xf5, 0x2a, 0x71, 0x9e,
  2496. 0xc9, 0xdb, 0xf2, 0x9c, 0xf7, 0x80, 0x63, 0x0c, 0x5f, 0xc0, 0x12, 0x73, 0x4b, 0x0f, 0x8e, 0xa3,
  2497. 0xb7, 0xe5, 0xb8, 0xc0, 0x90, 0x63, 0x2c, 0x35, 0xc8, 0x30, 0x1d, 0xc3, 0xbc, 0xc6, 0x6f, 0xd5,
  2498. 0x62, 0xce, 0x78, 0x78, 0x61, 0x16, 0x14, 0xe6, 0x82, 0x5e, 0xab, 0xc3, 0x26, 0x7b, 0x67, 0xd0,
  2499. 0x4e, 0xaf, 0xef, 0xe1, 0x50, 0x90, 0x8f, 0x1f, 0x3a, 0x30, 0x3a, 0x64, 0x58, 0x33, 0x15, 0x56,
  2500. 0x2c, 0xcd, 0x14, 0xfb, 0xd6, 0x60, 0x7d, 0x54, 0x88, 0xcf, 0x0c, 0xed, 0x1a, 0x7b, 0x0e, 0x43,
  2501. 0xe4, 0xf4, 0x07, 0x58, 0xef, 0x66, 0x33, 0xcd, 0xd8, 0x14, 0x6e, 0xce, 0xa6, 0xca, 0x30, 0x6a,
  2502. 0x8e, 0xa6, 0x3f, 0x37, 0x6d, 0x23, 0xc4, 0x70, 0x96, 0xa3, 0x87, 0x59, 0x6e, 0xc2, 0x18, 0x76,
  2503. 0x1c, 0xe2, 0x64, 0x53, 0xcc, 0x7e, 0xc8, 0xe7, 0xe2, 0xb4, 0xf4, 0xdc, 0x11, 0xbb, 0x8c, 0x29,
  2504. 0x7c, 0x81, 0xfc, 0x13, 0x09, 0x16, 0x22, 0xb7, 0x31, 0xb7, 0x45, 0x6c, 0x17, 0x23, 0x02, 0xa8,
  2505. 0x23, 0xaf, 0xea, 0xf0, 0x23, 0x28, 0x12, 0xcb, 0x87, 0x03, 0xba, 0x3d, 0x76, 0x94, 0x95, 0x59,
  2506. 0x2d, 0x4a, 0x92, 0xff, 0x26, 0xc1, 0x52, 0x64, 0xf5, 0xa1, 0x43, 0x0c, 0x07, 0xbb, 0xd7, 0x9c,
  2507. 0xfc, 0x37, 0x20, 0xd3, 0x12, 0x0b, 0xd5, 0x16, 0x76, 0x74, 0xaf, 0x0f, 0xf1, 0xd2, 0xcf, 0x98,
  2508. 0x32, 0xe3, 0xd3, 0x0f, 0x39, 0x19, 0xbd, 0x03, 0xd0, 0x69, 0xa2, 0xc4, 0x3d, 0x62, 0x25, 0x96,
  2509. 0xe6, 0x6b, 0xfe, 0x5d, 0x56, 0x49, 0x05, 0xed, 0x13, 0x7a, 0x17, 0x26, 0xdb, 0xad, 0xba, 0x46,
  2510. 0x31, 0xdf, 0x3b, 0x7a, 0xed, 0x5e, 0xe0, 0xcb, 0x3d, 0x82, 0xfc, 0xd3, 0xa8, 0x99, 0x03, 0xcd,
  2511. 0x1c, 0x98, 0x0b, 0x99, 0xd9, 0x97, 0x57, 0xd8, 0x39, 0x3f, 0xb4, 0x9d, 0x7d, 0x7c, 0x25, 0xe4,
  2512. 0x44, 0x9f, 0x26, 0xe7, 0x20, 0xd3, 0xc9, 0xe7, 0x27, 0xd8, 0xa1, 0xf8, 0x02, 0xa5, 0x41, 0xba,
  2513. 0x10, 0x79, 0x5c, 0x62, 0xa3, 0x4b, 0x91, 0xc2, 0xa5, 0x4b, 0xb9, 0x05, 0x8b, 0xf1, 0xfc, 0x7f,
  2514. 0x48, 0xac, 0x4b, 0x74, 0x02, 0x13, 0xe7, 0xd8, 0xa1, 0xa6, 0x1e, 0xd4, 0x9c, 0x47, 0x37, 0x17,
  2515. 0x39, 0x2a, 0x83, 0x12, 0x60, 0xc9, 0x7f, 0x91, 0x60, 0xd2, 0x3b, 0x57, 0xff, 0xb3, 0x0e, 0x13,
  2516. 0x3d, 0x09, 0x6a, 0x29, 0xcf, 0xe3, 0x0f, 0x07, 0x4b, 0x08, 0xdd, 0x05, 0xf4, 0x77, 0x12, 0xa4,
  2517. 0x02, 0x2a, 0x72, 0x60, 0xde, 0x61, 0x91, 0x50, 0x57, 0x4f, 0x85, 0x31, 0xd5, 0x53, 0x72, 0x21,
  2518. 0x34, 0xfb, 0x70, 0x18, 0x03, 0x86, 0x9d, 0xa2, 0x20, 0x81, 0x1e, 0xae, 0xd4, 0x91, 0x06, 0x27,
  2519. 0x31, 0x40, 0x83, 0x23, 0x7f, 0x02, 0xd3, 0xdd, 0x39, 0xce, 0xab, 0xfb, 0xec, 0x41, 0x84, 0x9f,
  2520. 0x44, 0xf6, 0x1b, 0x7d, 0x14, 0xea, 0xfe, 0x78, 0xb9, 0xfd, 0xe6, 0x60, 0x26, 0x8b, 0x35, 0x7f,
  2521. 0xf2, 0x97, 0x12, 0xcc, 0x75, 0xa7, 0x3d, 0x6e, 0xc0, 0x4f, 0x60, 0xc9, 0x0e, 0x54, 0xef, 0x65,
  2522. 0xc3, 0x6f, 0xdf, 0xc6, 0x86, 0x05, 0x72, 0xa1, 0x2c, 0xd8, 0x3d, 0xfb, 0x9d, 0xdb, 0x58, 0xf1,
  2523. 0xef, 0x09, 0xc8, 0xf6, 0xcb, 0xe1, 0x5f, 0x63, 0x8f, 0xdf, 0x1d, 0xd7, 0xa3, 0xb1, 0xb8, 0x3e,
  2524. 0x0e, 0xe2, 0x9a, 0x3b, 0xe9, 0xfd, 0x61, 0x2b, 0x50, 0x57, 0x84, 0x23, 0xa5, 0x73, 0x40, 0x93,
  2525. 0xb7, 0x39, 0xa0, 0xe5, 0x91, 0xce, 0x11, 0x7d, 0x05, 0x26, 0xa8, 0xc7, 0xcc, 0x7f, 0x00, 0x4b,
  2526. 0x7a, 0x93, 0x8c, 0x52, 0xa9, 0x17, 0xd2, 0x00, 0x62, 0xd2, 0x6e, 0x10, 0xf9, 0x0f, 0x12, 0xac,
  2527. 0x1e, 0x51, 0x07, 0x6b, 0xcd, 0x8e, 0x5d, 0xbb, 0x5f, 0x17, 0x75, 0x48, 0x07, 0x8f, 0x79, 0x0d,
  2528. 0xd3, 0x10, 0x76, 0x1e, 0xa0, 0x43, 0x0e, 0xe0, 0xfd, 0x57, 0xb7, 0x86, 0x69, 0x94, 0x47, 0x94,
  2529. 0xc9, 0xf3, 0xce, 0x10, 0xdd, 0x8b, 0xbe, 0x52, 0x7a, 0x11, 0x92, 0x2e, 0x8f, 0x74, 0xbf, 0x53,
  2530. 0x16, 0xe6, 0xbc, 0xab, 0xbc, 0x40, 0x53, 0x1d, 0x2e, 0xa0, 0xfc, 0x1f, 0x09, 0xd6, 0xfa, 0xa9,
  2531. 0x20, 0x4a, 0x72, 0x50, 0xd6, 0xa5, 0x6b, 0xca, 0x3a, 0xba, 0xe8, 0x59, 0xbc, 0x79, 0xbc, 0x56,
  2532. 0x86, 0xd5, 0xf9, 0x26, 0x55, 0x1c, 0xbd, 0x05, 0x8b, 0x71, 0xce, 0xac, 0x6c, 0xf3, 0xfb, 0xee,
  2533. 0x7c, 0x6c, 0xcb, 0xb1, 0x63, 0xca, 0x6f, 0xc0, 0xff, 0x05, 0xbc, 0xae, 0x7e, 0x6c, 0x91, 0xf7,
  2534. 0x42, 0x9e, 0xee, 0xf9, 0x2a, 0xd5, 0xf3, 0x95, 0x48, 0xea, 0xfd, 0x4a, 0x24, 0xaf, 0x87, 0xd0,
  2535. 0xba, 0xe3, 0x5b, 0xb0, 0x7b, 0x1d, 0xe4, 0x60, 0x41, 0xdf, 0x97, 0x23, 0xf9, 0x37, 0x12, 0x2c,
  2536. 0x76, 0x96, 0x51, 0xe2, 0xb0, 0x0b, 0x3d, 0x13, 0x67, 0x17, 0x36, 0xb0, 0xad, 0x9d, 0x5a, 0x58,
  2537. 0x75, 0x39, 0x5d, 0x8d, 0xd9, 0x47, 0x48, 0xb7, 0xca, 0xd7, 0x89, 0xed, 0x51, 0x6b, 0xa3, 0x7d,
  2538. 0xb8, 0x1b, 0xdb, 0x19, 0x60, 0xd6, 0x4d, 0x07, 0xeb, 0x94, 0x38, 0x97, 0xc2, 0xcc, 0x1b, 0x51,
  2539. 0x33, 0x0b, 0xd4, 0x1d, 0x7f, 0x9d, 0xfc, 0x55, 0x12, 0xd6, 0xaf, 0xf1, 0x6f, 0xcf, 0xc6, 0x5f,
  2540. 0xfa, 0x7a, 0x1b, 0xff, 0x06, 0xcc, 0xbe, 0x84, 0xeb, 0x5a, 0xc6, 0x8a, 0xde, 0x61, 0xfa, 0x5c,
  2541. 0x30, 0x92, 0x2f, 0xf7, 0x82, 0xd1, 0xbb, 0xf7, 0x1f, 0x7d, 0x89, 0xbd, 0xbf, 0xfc, 0xc5, 0x38,
  2542. 0xcc, 0xf7, 0xca, 0x55, 0xa8, 0x06, 0x77, 0xc4, 0xa7, 0x0d, 0xf1, 0x40, 0xfb, 0x68, 0x88, 0x44,
  2543. 0xe0, 0x7f, 0x25, 0xf1, 0xa1, 0xd0, 0xcf, 0xae, 0x7b, 0xac, 0xe7, 0x49, 0x67, 0x6f, 0x08, 0x5e,
  2544. 0x7d, 0x8f, 0x5b, 0x79, 0xe4, 0xaa, 0x77, 0xfb, 0x4f, 0xfb, 0x7e, 0xb4, 0xe0, 0xce, 0xde, 0x1d,
  2545. 0x42, 0x94, 0x5e, 0x89, 0xa6, 0x3c, 0xd2, 0xe7, 0xfb, 0xc5, 0x17, 0x03, 0x7c, 0x38, 0xf8, 0x68,
  2546. 0x08, 0x61, 0xae, 0x4e, 0x90, 0xe5, 0x91, 0x6b, 0xbf, 0x21, 0x7c, 0x0a, 0x8b, 0x22, 0x2a, 0xa9,
  2547. 0x08, 0x29, 0x5f, 0xa8, 0xb1, 0xa1, 0x2d, 0xd4, 0x2b, 0x79, 0x7a, 0x16, 0x22, 0x3d, 0xe8, 0xc8,
  2548. 0x80, 0x69, 0x3f, 0x71, 0x09, 0xc6, 0x6b, 0x83, 0xf6, 0xbe, 0xbd, 0xb3, 0xad, 0x32, 0xe5, 0x86,
  2549. 0x87, 0x05, 0x04, 0x99, 0x4e, 0xa5, 0xe5, 0xac, 0xee, 0xff, 0x52, 0x82, 0x3b, 0x22, 0x8c, 0xd1,
  2550. 0x12, 0xcc, 0x3d, 0x2e, 0xe5, 0x6b, 0xc7, 0x4a, 0x49, 0x3d, 0x3e, 0x38, 0x3a, 0x2c, 0x15, 0x2b,
  2551. 0x8f, 0x2b, 0xa5, 0x9d, 0xcc, 0x08, 0x9a, 0x83, 0x99, 0xbd, 0x7c, 0xa1, 0xb4, 0xa7, 0xee, 0x94,
  2552. 0x6a, 0xa5, 0x62, 0xad, 0x52, 0x3d, 0xc8, 0x48, 0x68, 0x19, 0x16, 0x8e, 0xca, 0xd5, 0x9a, 0x5a,
  2553. 0x2c, 0xe7, 0x0f, 0x76, 0x4b, 0xa1, 0xa9, 0x04, 0x5a, 0x83, 0x95, 0xd2, 0xc7, 0x87, 0x7b, 0x95,
  2554. 0x62, 0xa5, 0xa6, 0x16, 0xab, 0x07, 0xb5, 0xd2, 0x41, 0x2d, 0x34, 0x9f, 0x44, 0x08, 0xa6, 0x6b,
  2555. 0xa5, 0x8f, 0xc3, 0xb4, 0x3b, 0x1e, 0x8f, 0x6a, 0xe1, 0x3b, 0xa5, 0x62, 0x4d, 0xad, 0x29, 0xf9,
  2556. 0xe2, 0x93, 0xca, 0xc1, 0x6e, 0x26, 0x75, 0xdf, 0x01, 0x14, 0xff, 0x1a, 0x82, 0x5e, 0x87, 0x8d,
  2557. 0x88, 0x38, 0xea, 0x7e, 0x75, 0x27, 0x2a, 0xf4, 0x14, 0xa4, 0x98, 0x7c, 0xde, 0x54, 0x46, 0x42,
  2558. 0xd3, 0x00, 0x8f, 0x95, 0xfc, 0x7e, 0x89, 0x8f, 0x13, 0x9e, 0xb2, 0x6c, 0x3a, 0x7f, 0xb0, 0xa3,
  2559. 0x86, 0x26, 0x92, 0xf7, 0x29, 0x40, 0xe7, 0x89, 0x11, 0xad, 0xc0, 0xe2, 0x5e, 0xe5, 0x49, 0x69,
  2560. 0xaf, 0x52, 0xae, 0x56, 0x77, 0x22, 0x1c, 0x66, 0x61, 0xea, 0xa4, 0xa4, 0x3c, 0x55, 0x8f, 0x0f,
  2561. 0xd8, 0x92, 0xa7, 0x19, 0x09, 0xa5, 0x61, 0x22, 0x18, 0x25, 0xbc, 0xd1, 0x61, 0xf5, 0xe8, 0xa8,
  2562. 0x52, 0xd8, 0x2b, 0x65, 0x92, 0x08, 0x60, 0x5c, 0xcc, 0x8c, 0xa2, 0x19, 0x98, 0x64, 0x5b, 0x05,
  2563. 0x61, 0xec, 0xfe, 0x1f, 0x25, 0xc8, 0x44, 0xf3, 0x0a, 0x7a, 0x0d, 0x56, 0x8f, 0x6a, 0x4a, 0x29,
  2564. 0xbf, 0x5f, 0x39, 0xd8, 0x55, 0x7b, 0xbb, 0x66, 0x15, 0x96, 0x3b, 0x4b, 0xe2, 0x4e, 0xba, 0x0b,
  2565. 0xeb, 0x9d, 0xe9, 0x7e, 0xee, 0xda, 0x84, 0xd7, 0x3b, 0x8b, 0xae, 0x74, 0x5c, 0x17, 0xb7, 0xa8,
  2566. 0xbb, 0x46, 0xb7, 0x7f, 0x2b, 0x41, 0x96, 0x25, 0xd9, 0x4a, 0x28, 0x4c, 0x8f, 0xb0, 0x73, 0x6e,
  2567. 0xea, 0x18, 0xfd, 0x5c, 0x82, 0xa9, 0xae, 0x4e, 0x0e, 0x0d, 0xd0, 0x6f, 0xf6, 0xea, 0x62, 0x57,
  2568. 0x56, 0xfd, 0xfd, 0xa1, 0x8f, 0xf7, 0xb9, 0xaa, 0xff, 0xf1, 0x5e, 0xbe, 0xf7, 0xa3, 0xbf, 0xfe,
  2569. 0xf3, 0xf3, 0xc4, 0xba, 0xbc, 0x12, 0xfd, 0x3f, 0x81, 0xfb, 0x48, 0xd4, 0x1f, 0xfc, 0x48, 0xba,
  2570. 0xbf, 0xfd, 0x95, 0x04, 0xaf, 0x75, 0x97, 0x88, 0x5e, 0xd2, 0xff, 0x3a, 0xdc, 0xd3, 0x74, 0xab,
  2571. 0x31, 0x4c, 0x82, 0xe8, 0xa9, 0x4f, 0xf9, 0xf6, 0x40, 0xbc, 0x37, 0xde, 0x94, 0xde, 0x94, 0x0a,
  2572. 0x9f, 0x25, 0xe0, 0x1b, 0x3a, 0x69, 0xde, 0x18, 0xb3, 0xb0, 0xda, 0x4f, 0xf9, 0x43, 0xef, 0x2a,
  2573. 0x77, 0x28, 0x7d, 0xf7, 0xa9, 0x80, 0x32, 0x88, 0xa5, 0xd9, 0x46, 0x8e, 0x38, 0xc6, 0x96, 0x81,
  2574. 0x6d, 0x76, 0xd1, 0xdb, 0xe2, 0x53, 0x5a, 0xcb, 0x74, 0xaf, 0xff, 0x57, 0xc7, 0xbb, 0xb1, 0xb9,
  2575. 0x5f, 0x25, 0x36, 0x77, 0x39, 0x76, 0x91, 0x89, 0x19, 0x93, 0x24, 0x77, 0xf2, 0xe0, 0xf0, 0x61,
  2576. 0xc1, 0xdb, 0xfc, 0xa5, 0xbf, 0xf4, 0x19, 0x5b, 0xfa, 0x2c, 0xb6, 0xf4, 0xd9, 0x89, 0xcf, 0xe7,
  2577. 0x74, 0x9c, 0xc9, 0xf6, 0xf0, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6b, 0xcb, 0x43, 0xd9, 0x70,
  2578. 0x22, 0x00, 0x00,
  2579. }