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.
 
 
 

990 lines
35 KiB

  1. // Code generated by protoc-gen-go. DO NOT EDIT.
  2. // source: google/devtools/containeranalysis/v1alpha1/provenance.proto
  3. package containeranalysis // import "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1alpha1"
  4. import proto "github.com/golang/protobuf/proto"
  5. import fmt "fmt"
  6. import math "math"
  7. import timestamp "github.com/golang/protobuf/ptypes/timestamp"
  8. import _ "google.golang.org/genproto/googleapis/api/annotations"
  9. // Reference imports to suppress errors if they are not otherwise used.
  10. var _ = proto.Marshal
  11. var _ = fmt.Errorf
  12. var _ = math.Inf
  13. // This is a compile-time assertion to ensure that this generated file
  14. // is compatible with the proto package it is being compiled against.
  15. // A compilation error at this line likely means your copy of the
  16. // proto package needs to be updated.
  17. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  18. // Specifies the hash algorithm, if any.
  19. type Hash_HashType int32
  20. const (
  21. // No hash requested.
  22. Hash_NONE Hash_HashType = 0
  23. // A sha256 hash.
  24. Hash_SHA256 Hash_HashType = 1
  25. )
  26. var Hash_HashType_name = map[int32]string{
  27. 0: "NONE",
  28. 1: "SHA256",
  29. }
  30. var Hash_HashType_value = map[string]int32{
  31. "NONE": 0,
  32. "SHA256": 1,
  33. }
  34. func (x Hash_HashType) String() string {
  35. return proto.EnumName(Hash_HashType_name, int32(x))
  36. }
  37. func (Hash_HashType) EnumDescriptor() ([]byte, []int) {
  38. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{3, 0}
  39. }
  40. // Provenance of a build. Contains all information needed to verify the full
  41. // details about the build from source to completion.
  42. type BuildProvenance struct {
  43. // Unique identifier of the build.
  44. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  45. // ID of the project.
  46. ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
  47. // Commands requested by the build.
  48. Commands []*Command `protobuf:"bytes,5,rep,name=commands,proto3" json:"commands,omitempty"`
  49. // Output of the build.
  50. BuiltArtifacts []*Artifact `protobuf:"bytes,6,rep,name=built_artifacts,json=builtArtifacts,proto3" json:"built_artifacts,omitempty"`
  51. // Time at which the build was created.
  52. CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
  53. // Time at which execution of the build was started.
  54. StartTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  55. // Time at which execution of the build was finished.
  56. FinishTime *timestamp.Timestamp `protobuf:"bytes,9,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"`
  57. // E-mail address of the user who initiated this build. Note that this was the
  58. // user's e-mail address at the time the build was initiated; this address may
  59. // not represent the same end-user for all time.
  60. Creator string `protobuf:"bytes,11,opt,name=creator,proto3" json:"creator,omitempty"`
  61. // Google Cloud Storage bucket where logs were written.
  62. LogsBucket string `protobuf:"bytes,13,opt,name=logs_bucket,json=logsBucket,proto3" json:"logs_bucket,omitempty"`
  63. // Details of the Source input to the build.
  64. SourceProvenance *Source `protobuf:"bytes,14,opt,name=source_provenance,json=sourceProvenance,proto3" json:"source_provenance,omitempty"`
  65. // Trigger identifier if the build was triggered automatically; empty if not.
  66. TriggerId string `protobuf:"bytes,15,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"`
  67. // Special options applied to this build. This is a catch-all field where
  68. // build providers can enter any desired additional details.
  69. BuildOptions map[string]string `protobuf:"bytes,16,rep,name=build_options,json=buildOptions,proto3" json:"build_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  70. // Version string of the builder at the time this build was executed.
  71. BuilderVersion string `protobuf:"bytes,17,opt,name=builder_version,json=builderVersion,proto3" json:"builder_version,omitempty"`
  72. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  73. XXX_unrecognized []byte `json:"-"`
  74. XXX_sizecache int32 `json:"-"`
  75. }
  76. func (m *BuildProvenance) Reset() { *m = BuildProvenance{} }
  77. func (m *BuildProvenance) String() string { return proto.CompactTextString(m) }
  78. func (*BuildProvenance) ProtoMessage() {}
  79. func (*BuildProvenance) Descriptor() ([]byte, []int) {
  80. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{0}
  81. }
  82. func (m *BuildProvenance) XXX_Unmarshal(b []byte) error {
  83. return xxx_messageInfo_BuildProvenance.Unmarshal(m, b)
  84. }
  85. func (m *BuildProvenance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  86. return xxx_messageInfo_BuildProvenance.Marshal(b, m, deterministic)
  87. }
  88. func (dst *BuildProvenance) XXX_Merge(src proto.Message) {
  89. xxx_messageInfo_BuildProvenance.Merge(dst, src)
  90. }
  91. func (m *BuildProvenance) XXX_Size() int {
  92. return xxx_messageInfo_BuildProvenance.Size(m)
  93. }
  94. func (m *BuildProvenance) XXX_DiscardUnknown() {
  95. xxx_messageInfo_BuildProvenance.DiscardUnknown(m)
  96. }
  97. var xxx_messageInfo_BuildProvenance proto.InternalMessageInfo
  98. func (m *BuildProvenance) GetId() string {
  99. if m != nil {
  100. return m.Id
  101. }
  102. return ""
  103. }
  104. func (m *BuildProvenance) GetProjectId() string {
  105. if m != nil {
  106. return m.ProjectId
  107. }
  108. return ""
  109. }
  110. func (m *BuildProvenance) GetCommands() []*Command {
  111. if m != nil {
  112. return m.Commands
  113. }
  114. return nil
  115. }
  116. func (m *BuildProvenance) GetBuiltArtifacts() []*Artifact {
  117. if m != nil {
  118. return m.BuiltArtifacts
  119. }
  120. return nil
  121. }
  122. func (m *BuildProvenance) GetCreateTime() *timestamp.Timestamp {
  123. if m != nil {
  124. return m.CreateTime
  125. }
  126. return nil
  127. }
  128. func (m *BuildProvenance) GetStartTime() *timestamp.Timestamp {
  129. if m != nil {
  130. return m.StartTime
  131. }
  132. return nil
  133. }
  134. func (m *BuildProvenance) GetFinishTime() *timestamp.Timestamp {
  135. if m != nil {
  136. return m.FinishTime
  137. }
  138. return nil
  139. }
  140. func (m *BuildProvenance) GetCreator() string {
  141. if m != nil {
  142. return m.Creator
  143. }
  144. return ""
  145. }
  146. func (m *BuildProvenance) GetLogsBucket() string {
  147. if m != nil {
  148. return m.LogsBucket
  149. }
  150. return ""
  151. }
  152. func (m *BuildProvenance) GetSourceProvenance() *Source {
  153. if m != nil {
  154. return m.SourceProvenance
  155. }
  156. return nil
  157. }
  158. func (m *BuildProvenance) GetTriggerId() string {
  159. if m != nil {
  160. return m.TriggerId
  161. }
  162. return ""
  163. }
  164. func (m *BuildProvenance) GetBuildOptions() map[string]string {
  165. if m != nil {
  166. return m.BuildOptions
  167. }
  168. return nil
  169. }
  170. func (m *BuildProvenance) GetBuilderVersion() string {
  171. if m != nil {
  172. return m.BuilderVersion
  173. }
  174. return ""
  175. }
  176. // Source describes the location of the source used for the build.
  177. type Source struct {
  178. // Source location information.
  179. //
  180. // Types that are valid to be assigned to Source:
  181. // *Source_StorageSource
  182. // *Source_RepoSource
  183. Source isSource_Source `protobuf_oneof:"source"`
  184. // If provided, the input binary artifacts for the build came from this
  185. // location.
  186. ArtifactStorageSource *StorageSource `protobuf:"bytes,4,opt,name=artifact_storage_source,json=artifactStorageSource,proto3" json:"artifact_storage_source,omitempty"`
  187. // Hash(es) of the build source, which can be used to verify that the original
  188. // source integrity was maintained in the build.
  189. //
  190. // The keys to this map are file paths used as build source and the values
  191. // contain the hash values for those files.
  192. //
  193. // If the build source came in a single package such as a gzipped tarfile
  194. // (.tar.gz), the FileHash will be for the single path to that file.
  195. FileHashes map[string]*FileHashes `protobuf:"bytes,3,rep,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
  196. // If provided, the source code used for the build came from this location.
  197. Context *SourceContext `protobuf:"bytes,7,opt,name=context,proto3" json:"context,omitempty"`
  198. // If provided, some of the source code used for the build may be found in
  199. // these locations, in the case where the source repository had multiple
  200. // remotes or submodules. This list will not include the context specified in
  201. // the context field.
  202. AdditionalContexts []*SourceContext `protobuf:"bytes,8,rep,name=additional_contexts,json=additionalContexts,proto3" json:"additional_contexts,omitempty"`
  203. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  204. XXX_unrecognized []byte `json:"-"`
  205. XXX_sizecache int32 `json:"-"`
  206. }
  207. func (m *Source) Reset() { *m = Source{} }
  208. func (m *Source) String() string { return proto.CompactTextString(m) }
  209. func (*Source) ProtoMessage() {}
  210. func (*Source) Descriptor() ([]byte, []int) {
  211. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{1}
  212. }
  213. func (m *Source) XXX_Unmarshal(b []byte) error {
  214. return xxx_messageInfo_Source.Unmarshal(m, b)
  215. }
  216. func (m *Source) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  217. return xxx_messageInfo_Source.Marshal(b, m, deterministic)
  218. }
  219. func (dst *Source) XXX_Merge(src proto.Message) {
  220. xxx_messageInfo_Source.Merge(dst, src)
  221. }
  222. func (m *Source) XXX_Size() int {
  223. return xxx_messageInfo_Source.Size(m)
  224. }
  225. func (m *Source) XXX_DiscardUnknown() {
  226. xxx_messageInfo_Source.DiscardUnknown(m)
  227. }
  228. var xxx_messageInfo_Source proto.InternalMessageInfo
  229. type isSource_Source interface {
  230. isSource_Source()
  231. }
  232. type Source_StorageSource struct {
  233. StorageSource *StorageSource `protobuf:"bytes,1,opt,name=storage_source,json=storageSource,proto3,oneof"`
  234. }
  235. type Source_RepoSource struct {
  236. RepoSource *RepoSource `protobuf:"bytes,2,opt,name=repo_source,json=repoSource,proto3,oneof"`
  237. }
  238. func (*Source_StorageSource) isSource_Source() {}
  239. func (*Source_RepoSource) isSource_Source() {}
  240. func (m *Source) GetSource() isSource_Source {
  241. if m != nil {
  242. return m.Source
  243. }
  244. return nil
  245. }
  246. func (m *Source) GetStorageSource() *StorageSource {
  247. if x, ok := m.GetSource().(*Source_StorageSource); ok {
  248. return x.StorageSource
  249. }
  250. return nil
  251. }
  252. func (m *Source) GetRepoSource() *RepoSource {
  253. if x, ok := m.GetSource().(*Source_RepoSource); ok {
  254. return x.RepoSource
  255. }
  256. return nil
  257. }
  258. func (m *Source) GetArtifactStorageSource() *StorageSource {
  259. if m != nil {
  260. return m.ArtifactStorageSource
  261. }
  262. return nil
  263. }
  264. func (m *Source) GetFileHashes() map[string]*FileHashes {
  265. if m != nil {
  266. return m.FileHashes
  267. }
  268. return nil
  269. }
  270. func (m *Source) GetContext() *SourceContext {
  271. if m != nil {
  272. return m.Context
  273. }
  274. return nil
  275. }
  276. func (m *Source) GetAdditionalContexts() []*SourceContext {
  277. if m != nil {
  278. return m.AdditionalContexts
  279. }
  280. return nil
  281. }
  282. // XXX_OneofFuncs is for the internal use of the proto package.
  283. func (*Source) 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{}) {
  284. return _Source_OneofMarshaler, _Source_OneofUnmarshaler, _Source_OneofSizer, []interface{}{
  285. (*Source_StorageSource)(nil),
  286. (*Source_RepoSource)(nil),
  287. }
  288. }
  289. func _Source_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  290. m := msg.(*Source)
  291. // source
  292. switch x := m.Source.(type) {
  293. case *Source_StorageSource:
  294. b.EncodeVarint(1<<3 | proto.WireBytes)
  295. if err := b.EncodeMessage(x.StorageSource); err != nil {
  296. return err
  297. }
  298. case *Source_RepoSource:
  299. b.EncodeVarint(2<<3 | proto.WireBytes)
  300. if err := b.EncodeMessage(x.RepoSource); err != nil {
  301. return err
  302. }
  303. case nil:
  304. default:
  305. return fmt.Errorf("Source.Source has unexpected type %T", x)
  306. }
  307. return nil
  308. }
  309. func _Source_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  310. m := msg.(*Source)
  311. switch tag {
  312. case 1: // source.storage_source
  313. if wire != proto.WireBytes {
  314. return true, proto.ErrInternalBadWireType
  315. }
  316. msg := new(StorageSource)
  317. err := b.DecodeMessage(msg)
  318. m.Source = &Source_StorageSource{msg}
  319. return true, err
  320. case 2: // source.repo_source
  321. if wire != proto.WireBytes {
  322. return true, proto.ErrInternalBadWireType
  323. }
  324. msg := new(RepoSource)
  325. err := b.DecodeMessage(msg)
  326. m.Source = &Source_RepoSource{msg}
  327. return true, err
  328. default:
  329. return false, nil
  330. }
  331. }
  332. func _Source_OneofSizer(msg proto.Message) (n int) {
  333. m := msg.(*Source)
  334. // source
  335. switch x := m.Source.(type) {
  336. case *Source_StorageSource:
  337. s := proto.Size(x.StorageSource)
  338. n += 1 // tag and wire
  339. n += proto.SizeVarint(uint64(s))
  340. n += s
  341. case *Source_RepoSource:
  342. s := proto.Size(x.RepoSource)
  343. n += 1 // tag and wire
  344. n += proto.SizeVarint(uint64(s))
  345. n += s
  346. case nil:
  347. default:
  348. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  349. }
  350. return n
  351. }
  352. // Container message for hashes of byte content of files, used in Source
  353. // messages to verify integrity of source input to the build.
  354. type FileHashes struct {
  355. // Collection of file hashes.
  356. FileHash []*Hash `protobuf:"bytes,1,rep,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"`
  357. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  358. XXX_unrecognized []byte `json:"-"`
  359. XXX_sizecache int32 `json:"-"`
  360. }
  361. func (m *FileHashes) Reset() { *m = FileHashes{} }
  362. func (m *FileHashes) String() string { return proto.CompactTextString(m) }
  363. func (*FileHashes) ProtoMessage() {}
  364. func (*FileHashes) Descriptor() ([]byte, []int) {
  365. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{2}
  366. }
  367. func (m *FileHashes) XXX_Unmarshal(b []byte) error {
  368. return xxx_messageInfo_FileHashes.Unmarshal(m, b)
  369. }
  370. func (m *FileHashes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  371. return xxx_messageInfo_FileHashes.Marshal(b, m, deterministic)
  372. }
  373. func (dst *FileHashes) XXX_Merge(src proto.Message) {
  374. xxx_messageInfo_FileHashes.Merge(dst, src)
  375. }
  376. func (m *FileHashes) XXX_Size() int {
  377. return xxx_messageInfo_FileHashes.Size(m)
  378. }
  379. func (m *FileHashes) XXX_DiscardUnknown() {
  380. xxx_messageInfo_FileHashes.DiscardUnknown(m)
  381. }
  382. var xxx_messageInfo_FileHashes proto.InternalMessageInfo
  383. func (m *FileHashes) GetFileHash() []*Hash {
  384. if m != nil {
  385. return m.FileHash
  386. }
  387. return nil
  388. }
  389. // Container message for hash values.
  390. type Hash struct {
  391. // The type of hash that was performed.
  392. Type Hash_HashType `protobuf:"varint,1,opt,name=type,proto3,enum=google.devtools.containeranalysis.v1alpha1.Hash_HashType" json:"type,omitempty"`
  393. // The hash value.
  394. Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  395. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  396. XXX_unrecognized []byte `json:"-"`
  397. XXX_sizecache int32 `json:"-"`
  398. }
  399. func (m *Hash) Reset() { *m = Hash{} }
  400. func (m *Hash) String() string { return proto.CompactTextString(m) }
  401. func (*Hash) ProtoMessage() {}
  402. func (*Hash) Descriptor() ([]byte, []int) {
  403. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{3}
  404. }
  405. func (m *Hash) XXX_Unmarshal(b []byte) error {
  406. return xxx_messageInfo_Hash.Unmarshal(m, b)
  407. }
  408. func (m *Hash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  409. return xxx_messageInfo_Hash.Marshal(b, m, deterministic)
  410. }
  411. func (dst *Hash) XXX_Merge(src proto.Message) {
  412. xxx_messageInfo_Hash.Merge(dst, src)
  413. }
  414. func (m *Hash) XXX_Size() int {
  415. return xxx_messageInfo_Hash.Size(m)
  416. }
  417. func (m *Hash) XXX_DiscardUnknown() {
  418. xxx_messageInfo_Hash.DiscardUnknown(m)
  419. }
  420. var xxx_messageInfo_Hash proto.InternalMessageInfo
  421. func (m *Hash) GetType() Hash_HashType {
  422. if m != nil {
  423. return m.Type
  424. }
  425. return Hash_NONE
  426. }
  427. func (m *Hash) GetValue() []byte {
  428. if m != nil {
  429. return m.Value
  430. }
  431. return nil
  432. }
  433. // StorageSource describes the location of the source in an archive file in
  434. // Google Cloud Storage.
  435. type StorageSource struct {
  436. // Google Cloud Storage bucket containing source (see [Bucket Name
  437. // Requirements]
  438. // (https://cloud.google.com/storage/docs/bucket-naming#requirements)).
  439. Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
  440. // Google Cloud Storage object containing source.
  441. Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
  442. // Google Cloud Storage generation for the object.
  443. Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
  444. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  445. XXX_unrecognized []byte `json:"-"`
  446. XXX_sizecache int32 `json:"-"`
  447. }
  448. func (m *StorageSource) Reset() { *m = StorageSource{} }
  449. func (m *StorageSource) String() string { return proto.CompactTextString(m) }
  450. func (*StorageSource) ProtoMessage() {}
  451. func (*StorageSource) Descriptor() ([]byte, []int) {
  452. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{4}
  453. }
  454. func (m *StorageSource) XXX_Unmarshal(b []byte) error {
  455. return xxx_messageInfo_StorageSource.Unmarshal(m, b)
  456. }
  457. func (m *StorageSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  458. return xxx_messageInfo_StorageSource.Marshal(b, m, deterministic)
  459. }
  460. func (dst *StorageSource) XXX_Merge(src proto.Message) {
  461. xxx_messageInfo_StorageSource.Merge(dst, src)
  462. }
  463. func (m *StorageSource) XXX_Size() int {
  464. return xxx_messageInfo_StorageSource.Size(m)
  465. }
  466. func (m *StorageSource) XXX_DiscardUnknown() {
  467. xxx_messageInfo_StorageSource.DiscardUnknown(m)
  468. }
  469. var xxx_messageInfo_StorageSource proto.InternalMessageInfo
  470. func (m *StorageSource) GetBucket() string {
  471. if m != nil {
  472. return m.Bucket
  473. }
  474. return ""
  475. }
  476. func (m *StorageSource) GetObject() string {
  477. if m != nil {
  478. return m.Object
  479. }
  480. return ""
  481. }
  482. func (m *StorageSource) GetGeneration() int64 {
  483. if m != nil {
  484. return m.Generation
  485. }
  486. return 0
  487. }
  488. // RepoSource describes the location of the source in a Google Cloud Source
  489. // Repository.
  490. type RepoSource struct {
  491. // ID of the project that owns the repo.
  492. ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
  493. // Name of the repo.
  494. RepoName string `protobuf:"bytes,2,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"`
  495. // A revision within the source repository must be specified in
  496. // one of these ways.
  497. //
  498. // Types that are valid to be assigned to Revision:
  499. // *RepoSource_BranchName
  500. // *RepoSource_TagName
  501. // *RepoSource_CommitSha
  502. Revision isRepoSource_Revision `protobuf_oneof:"revision"`
  503. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  504. XXX_unrecognized []byte `json:"-"`
  505. XXX_sizecache int32 `json:"-"`
  506. }
  507. func (m *RepoSource) Reset() { *m = RepoSource{} }
  508. func (m *RepoSource) String() string { return proto.CompactTextString(m) }
  509. func (*RepoSource) ProtoMessage() {}
  510. func (*RepoSource) Descriptor() ([]byte, []int) {
  511. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{5}
  512. }
  513. func (m *RepoSource) XXX_Unmarshal(b []byte) error {
  514. return xxx_messageInfo_RepoSource.Unmarshal(m, b)
  515. }
  516. func (m *RepoSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  517. return xxx_messageInfo_RepoSource.Marshal(b, m, deterministic)
  518. }
  519. func (dst *RepoSource) XXX_Merge(src proto.Message) {
  520. xxx_messageInfo_RepoSource.Merge(dst, src)
  521. }
  522. func (m *RepoSource) XXX_Size() int {
  523. return xxx_messageInfo_RepoSource.Size(m)
  524. }
  525. func (m *RepoSource) XXX_DiscardUnknown() {
  526. xxx_messageInfo_RepoSource.DiscardUnknown(m)
  527. }
  528. var xxx_messageInfo_RepoSource proto.InternalMessageInfo
  529. func (m *RepoSource) GetProjectId() string {
  530. if m != nil {
  531. return m.ProjectId
  532. }
  533. return ""
  534. }
  535. func (m *RepoSource) GetRepoName() string {
  536. if m != nil {
  537. return m.RepoName
  538. }
  539. return ""
  540. }
  541. type isRepoSource_Revision interface {
  542. isRepoSource_Revision()
  543. }
  544. type RepoSource_BranchName struct {
  545. BranchName string `protobuf:"bytes,3,opt,name=branch_name,json=branchName,proto3,oneof"`
  546. }
  547. type RepoSource_TagName struct {
  548. TagName string `protobuf:"bytes,4,opt,name=tag_name,json=tagName,proto3,oneof"`
  549. }
  550. type RepoSource_CommitSha struct {
  551. CommitSha string `protobuf:"bytes,5,opt,name=commit_sha,json=commitSha,proto3,oneof"`
  552. }
  553. func (*RepoSource_BranchName) isRepoSource_Revision() {}
  554. func (*RepoSource_TagName) isRepoSource_Revision() {}
  555. func (*RepoSource_CommitSha) isRepoSource_Revision() {}
  556. func (m *RepoSource) GetRevision() isRepoSource_Revision {
  557. if m != nil {
  558. return m.Revision
  559. }
  560. return nil
  561. }
  562. func (m *RepoSource) GetBranchName() string {
  563. if x, ok := m.GetRevision().(*RepoSource_BranchName); ok {
  564. return x.BranchName
  565. }
  566. return ""
  567. }
  568. func (m *RepoSource) GetTagName() string {
  569. if x, ok := m.GetRevision().(*RepoSource_TagName); ok {
  570. return x.TagName
  571. }
  572. return ""
  573. }
  574. func (m *RepoSource) GetCommitSha() string {
  575. if x, ok := m.GetRevision().(*RepoSource_CommitSha); ok {
  576. return x.CommitSha
  577. }
  578. return ""
  579. }
  580. // XXX_OneofFuncs is for the internal use of the proto package.
  581. func (*RepoSource) 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{}) {
  582. return _RepoSource_OneofMarshaler, _RepoSource_OneofUnmarshaler, _RepoSource_OneofSizer, []interface{}{
  583. (*RepoSource_BranchName)(nil),
  584. (*RepoSource_TagName)(nil),
  585. (*RepoSource_CommitSha)(nil),
  586. }
  587. }
  588. func _RepoSource_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  589. m := msg.(*RepoSource)
  590. // revision
  591. switch x := m.Revision.(type) {
  592. case *RepoSource_BranchName:
  593. b.EncodeVarint(3<<3 | proto.WireBytes)
  594. b.EncodeStringBytes(x.BranchName)
  595. case *RepoSource_TagName:
  596. b.EncodeVarint(4<<3 | proto.WireBytes)
  597. b.EncodeStringBytes(x.TagName)
  598. case *RepoSource_CommitSha:
  599. b.EncodeVarint(5<<3 | proto.WireBytes)
  600. b.EncodeStringBytes(x.CommitSha)
  601. case nil:
  602. default:
  603. return fmt.Errorf("RepoSource.Revision has unexpected type %T", x)
  604. }
  605. return nil
  606. }
  607. func _RepoSource_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  608. m := msg.(*RepoSource)
  609. switch tag {
  610. case 3: // revision.branch_name
  611. if wire != proto.WireBytes {
  612. return true, proto.ErrInternalBadWireType
  613. }
  614. x, err := b.DecodeStringBytes()
  615. m.Revision = &RepoSource_BranchName{x}
  616. return true, err
  617. case 4: // revision.tag_name
  618. if wire != proto.WireBytes {
  619. return true, proto.ErrInternalBadWireType
  620. }
  621. x, err := b.DecodeStringBytes()
  622. m.Revision = &RepoSource_TagName{x}
  623. return true, err
  624. case 5: // revision.commit_sha
  625. if wire != proto.WireBytes {
  626. return true, proto.ErrInternalBadWireType
  627. }
  628. x, err := b.DecodeStringBytes()
  629. m.Revision = &RepoSource_CommitSha{x}
  630. return true, err
  631. default:
  632. return false, nil
  633. }
  634. }
  635. func _RepoSource_OneofSizer(msg proto.Message) (n int) {
  636. m := msg.(*RepoSource)
  637. // revision
  638. switch x := m.Revision.(type) {
  639. case *RepoSource_BranchName:
  640. n += 1 // tag and wire
  641. n += proto.SizeVarint(uint64(len(x.BranchName)))
  642. n += len(x.BranchName)
  643. case *RepoSource_TagName:
  644. n += 1 // tag and wire
  645. n += proto.SizeVarint(uint64(len(x.TagName)))
  646. n += len(x.TagName)
  647. case *RepoSource_CommitSha:
  648. n += 1 // tag and wire
  649. n += proto.SizeVarint(uint64(len(x.CommitSha)))
  650. n += len(x.CommitSha)
  651. case nil:
  652. default:
  653. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  654. }
  655. return n
  656. }
  657. // Command describes a step performed as part of the build pipeline.
  658. type Command struct {
  659. // Name of the command, as presented on the command line, or if the command is
  660. // packaged as a Docker container, as presented to `docker pull`.
  661. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  662. // Environment variables set before running this Command.
  663. Env []string `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"`
  664. // Command-line arguments used when executing this Command.
  665. Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
  666. // Working directory (relative to project source root) used when running
  667. // this Command.
  668. Dir string `protobuf:"bytes,4,opt,name=dir,proto3" json:"dir,omitempty"`
  669. // Optional unique identifier for this Command, used in wait_for to reference
  670. // this Command as a dependency.
  671. Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
  672. // The ID(s) of the Command(s) that this Command depends on.
  673. WaitFor []string `protobuf:"bytes,6,rep,name=wait_for,json=waitFor,proto3" json:"wait_for,omitempty"`
  674. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  675. XXX_unrecognized []byte `json:"-"`
  676. XXX_sizecache int32 `json:"-"`
  677. }
  678. func (m *Command) Reset() { *m = Command{} }
  679. func (m *Command) String() string { return proto.CompactTextString(m) }
  680. func (*Command) ProtoMessage() {}
  681. func (*Command) Descriptor() ([]byte, []int) {
  682. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{6}
  683. }
  684. func (m *Command) XXX_Unmarshal(b []byte) error {
  685. return xxx_messageInfo_Command.Unmarshal(m, b)
  686. }
  687. func (m *Command) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  688. return xxx_messageInfo_Command.Marshal(b, m, deterministic)
  689. }
  690. func (dst *Command) XXX_Merge(src proto.Message) {
  691. xxx_messageInfo_Command.Merge(dst, src)
  692. }
  693. func (m *Command) XXX_Size() int {
  694. return xxx_messageInfo_Command.Size(m)
  695. }
  696. func (m *Command) XXX_DiscardUnknown() {
  697. xxx_messageInfo_Command.DiscardUnknown(m)
  698. }
  699. var xxx_messageInfo_Command proto.InternalMessageInfo
  700. func (m *Command) GetName() string {
  701. if m != nil {
  702. return m.Name
  703. }
  704. return ""
  705. }
  706. func (m *Command) GetEnv() []string {
  707. if m != nil {
  708. return m.Env
  709. }
  710. return nil
  711. }
  712. func (m *Command) GetArgs() []string {
  713. if m != nil {
  714. return m.Args
  715. }
  716. return nil
  717. }
  718. func (m *Command) GetDir() string {
  719. if m != nil {
  720. return m.Dir
  721. }
  722. return ""
  723. }
  724. func (m *Command) GetId() string {
  725. if m != nil {
  726. return m.Id
  727. }
  728. return ""
  729. }
  730. func (m *Command) GetWaitFor() []string {
  731. if m != nil {
  732. return m.WaitFor
  733. }
  734. return nil
  735. }
  736. // Artifact describes a build product.
  737. type Artifact struct {
  738. // Name of the artifact. This may be the path to a binary or jar file, or in
  739. // the case of a container build, the name used to push the container image to
  740. // Google Container Registry, as presented to `docker push`.
  741. //
  742. // This field is deprecated in favor of the plural `names` field; it continues
  743. // to exist here to allow existing BuildProvenance serialized to json in
  744. // google.devtools.containeranalysis.v1alpha1.BuildDetails.provenance_bytes to
  745. // deserialize back into proto.
  746. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  747. // Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
  748. // container.
  749. Checksum string `protobuf:"bytes,2,opt,name=checksum,proto3" json:"checksum,omitempty"`
  750. // Artifact ID, if any; for container images, this will be a URL by digest
  751. // like gcr.io/projectID/imagename@sha256:123456
  752. Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
  753. // Related artifact names. This may be the path to a binary or jar file, or in
  754. // the case of a container build, the name used to push the container image to
  755. // Google Container Registry, as presented to `docker push`. Note that a
  756. // single Artifact ID can have multiple names, for example if two tags are
  757. // applied to one image.
  758. Names []string `protobuf:"bytes,4,rep,name=names,proto3" json:"names,omitempty"`
  759. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  760. XXX_unrecognized []byte `json:"-"`
  761. XXX_sizecache int32 `json:"-"`
  762. }
  763. func (m *Artifact) Reset() { *m = Artifact{} }
  764. func (m *Artifact) String() string { return proto.CompactTextString(m) }
  765. func (*Artifact) ProtoMessage() {}
  766. func (*Artifact) Descriptor() ([]byte, []int) {
  767. return fileDescriptor_provenance_d1f41f506e5a7af6, []int{7}
  768. }
  769. func (m *Artifact) XXX_Unmarshal(b []byte) error {
  770. return xxx_messageInfo_Artifact.Unmarshal(m, b)
  771. }
  772. func (m *Artifact) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  773. return xxx_messageInfo_Artifact.Marshal(b, m, deterministic)
  774. }
  775. func (dst *Artifact) XXX_Merge(src proto.Message) {
  776. xxx_messageInfo_Artifact.Merge(dst, src)
  777. }
  778. func (m *Artifact) XXX_Size() int {
  779. return xxx_messageInfo_Artifact.Size(m)
  780. }
  781. func (m *Artifact) XXX_DiscardUnknown() {
  782. xxx_messageInfo_Artifact.DiscardUnknown(m)
  783. }
  784. var xxx_messageInfo_Artifact proto.InternalMessageInfo
  785. func (m *Artifact) GetName() string {
  786. if m != nil {
  787. return m.Name
  788. }
  789. return ""
  790. }
  791. func (m *Artifact) GetChecksum() string {
  792. if m != nil {
  793. return m.Checksum
  794. }
  795. return ""
  796. }
  797. func (m *Artifact) GetId() string {
  798. if m != nil {
  799. return m.Id
  800. }
  801. return ""
  802. }
  803. func (m *Artifact) GetNames() []string {
  804. if m != nil {
  805. return m.Names
  806. }
  807. return nil
  808. }
  809. func init() {
  810. proto.RegisterType((*BuildProvenance)(nil), "google.devtools.containeranalysis.v1alpha1.BuildProvenance")
  811. proto.RegisterMapType((map[string]string)(nil), "google.devtools.containeranalysis.v1alpha1.BuildProvenance.BuildOptionsEntry")
  812. proto.RegisterType((*Source)(nil), "google.devtools.containeranalysis.v1alpha1.Source")
  813. proto.RegisterMapType((map[string]*FileHashes)(nil), "google.devtools.containeranalysis.v1alpha1.Source.FileHashesEntry")
  814. proto.RegisterType((*FileHashes)(nil), "google.devtools.containeranalysis.v1alpha1.FileHashes")
  815. proto.RegisterType((*Hash)(nil), "google.devtools.containeranalysis.v1alpha1.Hash")
  816. proto.RegisterType((*StorageSource)(nil), "google.devtools.containeranalysis.v1alpha1.StorageSource")
  817. proto.RegisterType((*RepoSource)(nil), "google.devtools.containeranalysis.v1alpha1.RepoSource")
  818. proto.RegisterType((*Command)(nil), "google.devtools.containeranalysis.v1alpha1.Command")
  819. proto.RegisterType((*Artifact)(nil), "google.devtools.containeranalysis.v1alpha1.Artifact")
  820. proto.RegisterEnum("google.devtools.containeranalysis.v1alpha1.Hash_HashType", Hash_HashType_name, Hash_HashType_value)
  821. }
  822. func init() {
  823. proto.RegisterFile("google/devtools/containeranalysis/v1alpha1/provenance.proto", fileDescriptor_provenance_d1f41f506e5a7af6)
  824. }
  825. var fileDescriptor_provenance_d1f41f506e5a7af6 = []byte{
  826. // 1026 bytes of a gzipped FileDescriptorProto
  827. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
  828. 0x14, 0xee, 0xfa, 0x77, 0xf7, 0xb8, 0x71, 0x92, 0xa1, 0xc0, 0xe2, 0x52, 0x62, 0x2c, 0x21, 0x22,
  829. 0x2e, 0x6c, 0x9a, 0x42, 0x45, 0xc8, 0x45, 0x15, 0x47, 0x2d, 0xa9, 0x44, 0x92, 0x6a, 0x53, 0x21,
  830. 0x41, 0x85, 0x96, 0xf1, 0xee, 0x78, 0x3d, 0xcd, 0x7a, 0x67, 0x99, 0x19, 0x1b, 0x7c, 0xc7, 0x03,
  831. 0xc0, 0x4b, 0xf0, 0x0e, 0xdc, 0xf2, 0x2e, 0xbc, 0x09, 0x9a, 0x9f, 0xb5, 0x1d, 0xa7, 0x55, 0xbb,
  832. 0xea, 0xcd, 0x6a, 0xce, 0x37, 0xe7, 0x7c, 0x67, 0xe6, 0xcc, 0x77, 0x66, 0x16, 0x8e, 0x12, 0xc6,
  833. 0x92, 0x94, 0x0c, 0x62, 0x32, 0x97, 0x8c, 0xa5, 0x62, 0x10, 0xb1, 0x4c, 0x62, 0x9a, 0x11, 0x8e,
  834. 0x33, 0x9c, 0x2e, 0x04, 0x15, 0x83, 0xf9, 0x7d, 0x9c, 0xe6, 0x13, 0x7c, 0x7f, 0x90, 0x73, 0x36,
  835. 0x27, 0x19, 0xce, 0x22, 0xd2, 0xcf, 0x39, 0x93, 0x0c, 0x7d, 0x61, 0x82, 0xfb, 0x45, 0x70, 0xff,
  836. 0x46, 0x70, 0xbf, 0x08, 0xee, 0x7c, 0x6c, 0x13, 0xe1, 0x9c, 0x0e, 0x70, 0x96, 0x31, 0x89, 0x25,
  837. 0x65, 0x99, 0x30, 0x4c, 0x9d, 0x47, 0x25, 0x96, 0x21, 0xd8, 0x8c, 0x47, 0x24, 0x54, 0x1e, 0xe4,
  838. 0x77, 0x69, 0x09, 0xf6, 0x2c, 0x81, 0xb6, 0x46, 0xb3, 0xf1, 0x40, 0xd2, 0x29, 0x11, 0x12, 0x4f,
  839. 0x73, 0xe3, 0xd0, 0xfb, 0xb7, 0x01, 0xdb, 0xc3, 0x19, 0x4d, 0xe3, 0x67, 0xcb, 0x5d, 0xa0, 0x36,
  840. 0x54, 0x68, 0xec, 0x3b, 0x5d, 0x67, 0xdf, 0x0b, 0x2a, 0x34, 0x46, 0xf7, 0x00, 0x72, 0xce, 0x5e,
  841. 0x92, 0x48, 0x86, 0x34, 0xf6, 0x2b, 0x1a, 0xf7, 0x2c, 0xf2, 0x34, 0x46, 0x17, 0xe0, 0x46, 0x6c,
  842. 0x3a, 0xc5, 0x59, 0x2c, 0xfc, 0x7a, 0xb7, 0xba, 0xdf, 0x3a, 0x78, 0xd0, 0x7f, 0xfb, 0x0a, 0xf4,
  843. 0x4f, 0x4c, 0x6c, 0xb0, 0x24, 0x41, 0x3f, 0xc3, 0xf6, 0x68, 0x46, 0x53, 0x19, 0x62, 0x2e, 0xe9,
  844. 0x18, 0x47, 0x52, 0xf8, 0x0d, 0xcd, 0xfb, 0x55, 0x19, 0xde, 0x63, 0x1b, 0x1c, 0xb4, 0x35, 0x59,
  845. 0x61, 0x0a, 0x74, 0x04, 0xad, 0x88, 0x13, 0x2c, 0x49, 0xa8, 0x8a, 0xe1, 0x37, 0xbb, 0xce, 0x7e,
  846. 0xeb, 0xa0, 0x53, 0x50, 0x17, 0x95, 0xea, 0x3f, 0x2f, 0x2a, 0x15, 0x80, 0x71, 0x57, 0x00, 0x3a,
  847. 0x04, 0x10, 0x12, 0x73, 0x69, 0x62, 0xdd, 0x37, 0xc6, 0x7a, 0xda, 0x5b, 0x87, 0x1e, 0x41, 0x6b,
  848. 0x4c, 0x33, 0x2a, 0x26, 0x26, 0xd6, 0x7b, 0x73, 0x5e, 0xe3, 0xae, 0x83, 0x7d, 0x68, 0xea, 0x55,
  849. 0x30, 0xee, 0xb7, 0xf4, 0x01, 0x14, 0x26, 0xda, 0x83, 0x56, 0xca, 0x12, 0x11, 0x8e, 0x66, 0xd1,
  850. 0x15, 0x91, 0xfe, 0x96, 0x9e, 0x05, 0x05, 0x0d, 0x35, 0x82, 0x42, 0xd8, 0xb5, 0xda, 0x58, 0x29,
  851. 0xd5, 0x6f, 0xeb, 0xec, 0x07, 0x65, 0x0a, 0x7a, 0xa9, 0x49, 0x82, 0x1d, 0x43, 0xb6, 0xa6, 0x97,
  852. 0x7b, 0x00, 0x92, 0xd3, 0x24, 0x21, 0x5c, 0xe9, 0x63, 0xdb, 0xe8, 0xc3, 0x22, 0x4f, 0x63, 0xc4,
  853. 0x61, 0x4b, 0x9d, 0x40, 0x1c, 0xb2, 0x5c, 0x6b, 0xdb, 0xdf, 0xd1, 0x87, 0x79, 0x56, 0x26, 0xf7,
  854. 0x86, 0x44, 0x8d, 0x7d, 0x61, 0xf8, 0x1e, 0x67, 0x92, 0x2f, 0x82, 0xdb, 0xa3, 0x35, 0x08, 0x7d,
  855. 0x6e, 0x24, 0x14, 0x13, 0x1e, 0xce, 0x09, 0x17, 0x94, 0x65, 0xfe, 0xae, 0x5e, 0x57, 0xdb, 0xc2,
  856. 0x3f, 0x18, 0xb4, 0xf3, 0x08, 0x76, 0x6f, 0x70, 0xa1, 0x1d, 0xa8, 0x5e, 0x91, 0x85, 0xed, 0x00,
  857. 0x35, 0x44, 0x77, 0xa0, 0x3e, 0xc7, 0xe9, 0x8c, 0x58, 0xf5, 0x1b, 0xe3, 0xdb, 0xca, 0x37, 0x4e,
  858. 0xef, 0xbf, 0x3a, 0x34, 0x4c, 0x65, 0xd0, 0x08, 0xda, 0x42, 0x32, 0x8e, 0x13, 0x12, 0x9a, 0x1a,
  859. 0x69, 0x86, 0xd6, 0xc1, 0x61, 0xa9, 0x2a, 0x1b, 0x06, 0x43, 0x79, 0x7a, 0x2b, 0xd8, 0x12, 0xeb,
  860. 0x00, 0xfa, 0x11, 0x5a, 0x9c, 0xe4, 0xac, 0x48, 0x50, 0xd1, 0x09, 0x1e, 0x96, 0x49, 0x10, 0x90,
  861. 0x9c, 0x2d, 0xd9, 0x81, 0x2f, 0x2d, 0xf4, 0x2b, 0x7c, 0x58, 0x34, 0x5c, 0xb8, 0xb1, 0x8f, 0xda,
  862. 0x3b, 0xee, 0x23, 0x78, 0xbf, 0x60, 0xbe, 0x06, 0xa3, 0x48, 0xb5, 0x44, 0x4a, 0xc2, 0x09, 0x16,
  863. 0x13, 0x22, 0xfc, 0xaa, 0x16, 0xc6, 0xb0, 0xbc, 0x28, 0xfb, 0x4f, 0x68, 0x4a, 0x4e, 0x35, 0x89,
  864. 0x51, 0x03, 0x8c, 0x97, 0x00, 0xba, 0x84, 0xa6, 0xbd, 0x14, 0x6d, 0xaf, 0x1f, 0x96, 0x4f, 0x70,
  865. 0x62, 0x08, 0x82, 0x82, 0x09, 0xbd, 0x84, 0xf7, 0x70, 0x1c, 0x53, 0x25, 0x1a, 0x9c, 0x16, 0x97,
  866. 0xae, 0xf0, 0x5d, 0xbd, 0x83, 0x77, 0x48, 0x80, 0x56, 0xac, 0x16, 0x12, 0x9d, 0x19, 0x6c, 0x6f,
  867. 0xec, 0xef, 0x15, 0x0a, 0xfd, 0x7e, 0x5d, 0xa1, 0x25, 0x25, 0xb1, 0x62, 0x5f, 0x53, 0xf6, 0xd0,
  868. 0x85, 0x86, 0x39, 0xfe, 0xde, 0x0b, 0x80, 0x95, 0x0b, 0x3a, 0x03, 0x6f, 0x79, 0x68, 0xbe, 0xa3,
  869. 0x37, 0xfc, 0x65, 0x99, 0x6c, 0x8a, 0x26, 0x70, 0x8b, 0x03, 0xea, 0xfd, 0xe5, 0x40, 0x4d, 0x0d,
  870. 0xd0, 0x19, 0xd4, 0xe4, 0x22, 0x37, 0x4d, 0xd3, 0x2e, 0x57, 0x43, 0x15, 0xaf, 0x3f, 0xcf, 0x17,
  871. 0x39, 0x09, 0x34, 0xcd, 0xf5, 0x96, 0xbd, 0x6d, 0x37, 0xd6, 0xeb, 0x82, 0x5b, 0xf8, 0x21, 0x17,
  872. 0x6a, 0xe7, 0x17, 0xe7, 0x8f, 0x77, 0x6e, 0x21, 0x80, 0xc6, 0xe5, 0xe9, 0xf1, 0xc1, 0xd7, 0x0f,
  873. 0x77, 0x9c, 0x5e, 0x08, 0x5b, 0xd7, 0x45, 0xfa, 0x01, 0x34, 0xec, 0xdd, 0x6a, 0xca, 0x6d, 0x2d,
  874. 0x85, 0xb3, 0x91, 0x7a, 0x03, 0xed, 0xa5, 0x60, 0x2d, 0xf4, 0x09, 0x40, 0x42, 0xd4, 0x32, 0xd5,
  875. 0x31, 0xfa, 0xd5, 0xae, 0xb3, 0x5f, 0x0d, 0xd6, 0x90, 0xde, 0x3f, 0x0e, 0xc0, 0xaa, 0x09, 0x37,
  876. 0x5e, 0x57, 0x67, 0xf3, 0x75, 0xbd, 0x0b, 0x9e, 0x6e, 0xf8, 0x0c, 0x4f, 0x8b, 0xdb, 0xc7, 0x55,
  877. 0xc0, 0x39, 0x9e, 0x12, 0xf4, 0x29, 0xb4, 0x46, 0x1c, 0x67, 0xd1, 0xc4, 0x4c, 0xab, 0x5c, 0x9e,
  878. 0xea, 0x6a, 0x03, 0x6a, 0x97, 0xbb, 0xe0, 0x4a, 0x9c, 0x98, 0xf9, 0x9a, 0x9d, 0x6f, 0x4a, 0x9c,
  879. 0xe8, 0xc9, 0x3d, 0x00, 0xf5, 0xea, 0x52, 0x19, 0x8a, 0x09, 0xf6, 0xeb, 0x76, 0xda, 0x33, 0xd8,
  880. 0xe5, 0x04, 0x0f, 0x01, 0x5c, 0x4e, 0xe6, 0x54, 0x5d, 0x95, 0xbd, 0x3f, 0x1c, 0x68, 0xda, 0xc7,
  881. 0x1a, 0x21, 0xa8, 0x69, 0x46, 0xb3, 0x5c, 0x3d, 0x56, 0x9a, 0x24, 0xd9, 0xdc, 0xaf, 0x74, 0xab,
  882. 0x4a, 0x93, 0x24, 0x9b, 0x2b, 0x2f, 0xcc, 0x13, 0xd3, 0xd7, 0x5e, 0xa0, 0xc7, 0xca, 0x2b, 0xa6,
  883. 0xdc, 0x2c, 0x25, 0x50, 0x43, 0xfb, 0xbb, 0x51, 0x5f, 0xfe, 0x6e, 0x7c, 0x04, 0xee, 0x6f, 0x98,
  884. 0xca, 0x70, 0xcc, 0xb8, 0x7e, 0xf7, 0xbd, 0xa0, 0xa9, 0xec, 0x27, 0x8c, 0xf7, 0x7e, 0x01, 0xb7,
  885. 0x78, 0xc7, 0x5f, 0xb9, 0x84, 0x0e, 0xb8, 0xd1, 0x84, 0x44, 0x57, 0x62, 0x36, 0x2d, 0x6a, 0x55,
  886. 0xd8, 0x36, 0x4d, 0x75, 0x99, 0xe6, 0x0e, 0xd4, 0x55, 0x8c, 0xf0, 0x6b, 0x3a, 0x87, 0x31, 0x86,
  887. 0x7f, 0x3a, 0xf0, 0x59, 0xc4, 0xa6, 0x85, 0xf8, 0x5e, 0xaf, 0xb9, 0x67, 0xce, 0x4f, 0x2f, 0xac,
  888. 0x53, 0xc2, 0x52, 0x9c, 0x25, 0x7d, 0xc6, 0x93, 0x41, 0x42, 0x32, 0xfd, 0x90, 0x0f, 0xcc, 0x14,
  889. 0xce, 0xa9, 0x78, 0x9b, 0x9f, 0xb7, 0xa3, 0x1b, 0x53, 0x7f, 0x57, 0xaa, 0xdf, 0x9d, 0x1c, 0x8f,
  890. 0x1a, 0x9a, 0xed, 0xc1, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x91, 0xec, 0x1b, 0x85, 0x90, 0x0a,
  891. 0x00, 0x00,
  892. }