1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/devtools/cloudbuild/v1/cloudbuild.proto
5 Package cloudbuild is a generated protocol buffer package.
7 It is generated from these files:
8 google/devtools/cloudbuild/v1/cloudbuild.proto
10 It has these top-level messages:
19 BuildOperationMetadata
30 CreateBuildTriggerRequest
31 GetBuildTriggerRequest
32 ListBuildTriggersRequest
33 ListBuildTriggersResponse
34 DeleteBuildTriggerRequest
35 UpdateBuildTriggerRequest
40 import proto "github.com/golang/protobuf/proto"
43 import _ "google.golang.org/genproto/googleapis/api/annotations"
44 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
45 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
46 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
47 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
50 context "golang.org/x/net/context"
51 grpc "google.golang.org/grpc"
54 // Reference imports to suppress errors if they are not otherwise used.
59 // This is a compile-time assertion to ensure that this generated file
60 // is compatible with the proto package it is being compiled against.
61 // A compilation error at this line likely means your copy of the
62 // proto package needs to be updated.
63 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
65 // Possible status of a build.
66 type Build_Status int32
69 // Status of the build is unknown.
70 Build_STATUS_UNKNOWN Build_Status = 0
71 // Build is queued; work has not yet begun.
72 Build_QUEUED Build_Status = 1
73 // Build is being executed.
74 Build_WORKING Build_Status = 2
75 // Build finished successfully.
76 Build_SUCCESS Build_Status = 3
77 // Build failed to complete successfully.
78 Build_FAILURE Build_Status = 4
79 // Build failed due to an internal cause.
80 Build_INTERNAL_ERROR Build_Status = 5
81 // Build took longer than was allowed.
82 Build_TIMEOUT Build_Status = 6
83 // Build was canceled by a user.
84 Build_CANCELLED Build_Status = 7
87 var Build_Status_name = map[int32]string{
97 var Build_Status_value = map[string]int32{
108 func (x Build_Status) String() string {
109 return proto.EnumName(Build_Status_name, int32(x))
111 func (Build_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
113 // Specifies the hash algorithm, if any.
114 type Hash_HashType int32
117 // No hash requested.
118 Hash_NONE Hash_HashType = 0
119 // Use a sha256 hash.
120 Hash_SHA256 Hash_HashType = 1
123 var Hash_HashType_name = map[int32]string{
127 var Hash_HashType_value = map[string]int32{
132 func (x Hash_HashType) String() string {
133 return proto.EnumName(Hash_HashType_name, int32(x))
135 func (Hash_HashType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} }
137 // Specifies the manner in which the build should be verified, if at all.
138 type BuildOptions_VerifyOption int32
141 // Not a verifiable build. (default)
142 BuildOptions_NOT_VERIFIED BuildOptions_VerifyOption = 0
144 BuildOptions_VERIFIED BuildOptions_VerifyOption = 1
147 var BuildOptions_VerifyOption_name = map[int32]string{
151 var BuildOptions_VerifyOption_value = map[string]int32{
156 func (x BuildOptions_VerifyOption) String() string {
157 return proto.EnumName(BuildOptions_VerifyOption_name, int32(x))
159 func (BuildOptions_VerifyOption) EnumDescriptor() ([]byte, []int) {
160 return fileDescriptor0, []int{25, 0}
163 // Specifies the behavior when there is an error in the substitution checks.
164 type BuildOptions_SubstitutionOption int32
167 // Fails the build if error in substitutions checks, like missing
168 // a substitution in the template or in the map.
169 BuildOptions_MUST_MATCH BuildOptions_SubstitutionOption = 0
170 // Do not fail the build if error in substitutions checks.
171 BuildOptions_ALLOW_LOOSE BuildOptions_SubstitutionOption = 1
174 var BuildOptions_SubstitutionOption_name = map[int32]string{
178 var BuildOptions_SubstitutionOption_value = map[string]int32{
183 func (x BuildOptions_SubstitutionOption) String() string {
184 return proto.EnumName(BuildOptions_SubstitutionOption_name, int32(x))
186 func (BuildOptions_SubstitutionOption) EnumDescriptor() ([]byte, []int) {
187 return fileDescriptor0, []int{25, 1}
190 // StorageSource describes the location of the source in an archive file in
191 // Google Cloud Storage.
192 type StorageSource struct {
193 // Google Cloud Storage bucket containing source (see
195 // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
196 Bucket string `protobuf:"bytes,1,opt,name=bucket" json:"bucket,omitempty"`
197 // Google Cloud Storage object containing source.
199 // This object must be a gzipped archive file (.tar.gz) containing source to
201 Object string `protobuf:"bytes,2,opt,name=object" json:"object,omitempty"`
202 // Google Cloud Storage generation for the object. If the generation is
203 // omitted, the latest generation will be used.
204 Generation int64 `protobuf:"varint,3,opt,name=generation" json:"generation,omitempty"`
207 func (m *StorageSource) Reset() { *m = StorageSource{} }
208 func (m *StorageSource) String() string { return proto.CompactTextString(m) }
209 func (*StorageSource) ProtoMessage() {}
210 func (*StorageSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
212 func (m *StorageSource) GetBucket() string {
219 func (m *StorageSource) GetObject() string {
226 func (m *StorageSource) GetGeneration() int64 {
233 // RepoSource describes the location of the source in a Google Cloud Source
235 type RepoSource struct {
236 // ID of the project that owns the repo. If omitted, the project ID requesting
237 // the build is assumed.
238 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
239 // Name of the repo. If omitted, the name "default" is assumed.
240 RepoName string `protobuf:"bytes,2,opt,name=repo_name,json=repoName" json:"repo_name,omitempty"`
241 // A revision within the source repository must be specified in
242 // one of these ways.
244 // Types that are valid to be assigned to Revision:
245 // *RepoSource_BranchName
246 // *RepoSource_TagName
247 // *RepoSource_CommitSha
248 Revision isRepoSource_Revision `protobuf_oneof:"revision"`
251 func (m *RepoSource) Reset() { *m = RepoSource{} }
252 func (m *RepoSource) String() string { return proto.CompactTextString(m) }
253 func (*RepoSource) ProtoMessage() {}
254 func (*RepoSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
256 type isRepoSource_Revision interface {
257 isRepoSource_Revision()
260 type RepoSource_BranchName struct {
261 BranchName string `protobuf:"bytes,3,opt,name=branch_name,json=branchName,oneof"`
263 type RepoSource_TagName struct {
264 TagName string `protobuf:"bytes,4,opt,name=tag_name,json=tagName,oneof"`
266 type RepoSource_CommitSha struct {
267 CommitSha string `protobuf:"bytes,5,opt,name=commit_sha,json=commitSha,oneof"`
270 func (*RepoSource_BranchName) isRepoSource_Revision() {}
271 func (*RepoSource_TagName) isRepoSource_Revision() {}
272 func (*RepoSource_CommitSha) isRepoSource_Revision() {}
274 func (m *RepoSource) GetRevision() isRepoSource_Revision {
281 func (m *RepoSource) GetProjectId() string {
288 func (m *RepoSource) GetRepoName() string {
295 func (m *RepoSource) GetBranchName() string {
296 if x, ok := m.GetRevision().(*RepoSource_BranchName); ok {
302 func (m *RepoSource) GetTagName() string {
303 if x, ok := m.GetRevision().(*RepoSource_TagName); ok {
309 func (m *RepoSource) GetCommitSha() string {
310 if x, ok := m.GetRevision().(*RepoSource_CommitSha); ok {
316 // XXX_OneofFuncs is for the internal use of the proto package.
317 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{}) {
318 return _RepoSource_OneofMarshaler, _RepoSource_OneofUnmarshaler, _RepoSource_OneofSizer, []interface{}{
319 (*RepoSource_BranchName)(nil),
320 (*RepoSource_TagName)(nil),
321 (*RepoSource_CommitSha)(nil),
325 func _RepoSource_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
326 m := msg.(*RepoSource)
328 switch x := m.Revision.(type) {
329 case *RepoSource_BranchName:
330 b.EncodeVarint(3<<3 | proto.WireBytes)
331 b.EncodeStringBytes(x.BranchName)
332 case *RepoSource_TagName:
333 b.EncodeVarint(4<<3 | proto.WireBytes)
334 b.EncodeStringBytes(x.TagName)
335 case *RepoSource_CommitSha:
336 b.EncodeVarint(5<<3 | proto.WireBytes)
337 b.EncodeStringBytes(x.CommitSha)
340 return fmt.Errorf("RepoSource.Revision has unexpected type %T", x)
345 func _RepoSource_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
346 m := msg.(*RepoSource)
348 case 3: // revision.branch_name
349 if wire != proto.WireBytes {
350 return true, proto.ErrInternalBadWireType
352 x, err := b.DecodeStringBytes()
353 m.Revision = &RepoSource_BranchName{x}
355 case 4: // revision.tag_name
356 if wire != proto.WireBytes {
357 return true, proto.ErrInternalBadWireType
359 x, err := b.DecodeStringBytes()
360 m.Revision = &RepoSource_TagName{x}
362 case 5: // revision.commit_sha
363 if wire != proto.WireBytes {
364 return true, proto.ErrInternalBadWireType
366 x, err := b.DecodeStringBytes()
367 m.Revision = &RepoSource_CommitSha{x}
374 func _RepoSource_OneofSizer(msg proto.Message) (n int) {
375 m := msg.(*RepoSource)
377 switch x := m.Revision.(type) {
378 case *RepoSource_BranchName:
379 n += proto.SizeVarint(3<<3 | proto.WireBytes)
380 n += proto.SizeVarint(uint64(len(x.BranchName)))
381 n += len(x.BranchName)
382 case *RepoSource_TagName:
383 n += proto.SizeVarint(4<<3 | proto.WireBytes)
384 n += proto.SizeVarint(uint64(len(x.TagName)))
386 case *RepoSource_CommitSha:
387 n += proto.SizeVarint(5<<3 | proto.WireBytes)
388 n += proto.SizeVarint(uint64(len(x.CommitSha)))
389 n += len(x.CommitSha)
392 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
397 // Source describes the location of the source in a supported storage
400 // Describes location of source.
402 // Types that are valid to be assigned to Source:
403 // *Source_StorageSource
404 // *Source_RepoSource
405 Source isSource_Source `protobuf_oneof:"source"`
408 func (m *Source) Reset() { *m = Source{} }
409 func (m *Source) String() string { return proto.CompactTextString(m) }
410 func (*Source) ProtoMessage() {}
411 func (*Source) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
413 type isSource_Source interface {
417 type Source_StorageSource struct {
418 StorageSource *StorageSource `protobuf:"bytes,2,opt,name=storage_source,json=storageSource,oneof"`
420 type Source_RepoSource struct {
421 RepoSource *RepoSource `protobuf:"bytes,3,opt,name=repo_source,json=repoSource,oneof"`
424 func (*Source_StorageSource) isSource_Source() {}
425 func (*Source_RepoSource) isSource_Source() {}
427 func (m *Source) GetSource() isSource_Source {
434 func (m *Source) GetStorageSource() *StorageSource {
435 if x, ok := m.GetSource().(*Source_StorageSource); ok {
436 return x.StorageSource
441 func (m *Source) GetRepoSource() *RepoSource {
442 if x, ok := m.GetSource().(*Source_RepoSource); ok {
448 // XXX_OneofFuncs is for the internal use of the proto package.
449 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{}) {
450 return _Source_OneofMarshaler, _Source_OneofUnmarshaler, _Source_OneofSizer, []interface{}{
451 (*Source_StorageSource)(nil),
452 (*Source_RepoSource)(nil),
456 func _Source_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
459 switch x := m.Source.(type) {
460 case *Source_StorageSource:
461 b.EncodeVarint(2<<3 | proto.WireBytes)
462 if err := b.EncodeMessage(x.StorageSource); err != nil {
465 case *Source_RepoSource:
466 b.EncodeVarint(3<<3 | proto.WireBytes)
467 if err := b.EncodeMessage(x.RepoSource); err != nil {
472 return fmt.Errorf("Source.Source has unexpected type %T", x)
477 func _Source_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
480 case 2: // source.storage_source
481 if wire != proto.WireBytes {
482 return true, proto.ErrInternalBadWireType
484 msg := new(StorageSource)
485 err := b.DecodeMessage(msg)
486 m.Source = &Source_StorageSource{msg}
488 case 3: // source.repo_source
489 if wire != proto.WireBytes {
490 return true, proto.ErrInternalBadWireType
492 msg := new(RepoSource)
493 err := b.DecodeMessage(msg)
494 m.Source = &Source_RepoSource{msg}
501 func _Source_OneofSizer(msg proto.Message) (n int) {
504 switch x := m.Source.(type) {
505 case *Source_StorageSource:
506 s := proto.Size(x.StorageSource)
507 n += proto.SizeVarint(2<<3 | proto.WireBytes)
508 n += proto.SizeVarint(uint64(s))
510 case *Source_RepoSource:
511 s := proto.Size(x.RepoSource)
512 n += proto.SizeVarint(3<<3 | proto.WireBytes)
513 n += proto.SizeVarint(uint64(s))
517 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
522 // BuiltImage describes an image built by the pipeline.
523 type BuiltImage struct {
524 // Name used to push the container image to Google Container Registry, as
525 // presented to `docker push`.
526 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
527 // Docker Registry 2.0 digest.
528 Digest string `protobuf:"bytes,3,opt,name=digest" json:"digest,omitempty"`
531 func (m *BuiltImage) Reset() { *m = BuiltImage{} }
532 func (m *BuiltImage) String() string { return proto.CompactTextString(m) }
533 func (*BuiltImage) ProtoMessage() {}
534 func (*BuiltImage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
536 func (m *BuiltImage) GetName() string {
543 func (m *BuiltImage) GetDigest() string {
550 // BuildStep describes a step to perform in the build pipeline.
551 type BuildStep struct {
552 // The name of the container image that will run this particular build step.
554 // If the image is already available in the host's Docker daemon's cache, it
555 // will be run directly. If not, the host will attempt to pull the image
556 // first, using the builder service account's credentials if necessary.
558 // The Docker daemon's cache will already have the latest versions of all of
559 // the officially supported build steps
560 // ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
561 // The Docker daemon will also have cached many of the layers for some popular
562 // images, like "ubuntu", "debian", but they will be refreshed at the time you
563 // attempt to use them.
565 // If you built an image in a previous build step, it will be stored in the
566 // host's Docker daemon's cache and is available to use as the name for a
568 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
569 // A list of environment variable definitions to be used when running a step.
571 // The elements are of the form "KEY=VALUE" for the environment variable "KEY"
572 // being given the value "VALUE".
573 Env []string `protobuf:"bytes,2,rep,name=env" json:"env,omitempty"`
574 // A list of arguments that will be presented to the step when it is started.
576 // If the image used to run the step's container has an entrypoint, these args
577 // will be used as arguments to that entrypoint. If the image does not define
578 // an entrypoint, the first element in args will be used as the entrypoint,
579 // and the remainder will be used as arguments.
580 Args []string `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
581 // Working directory (relative to project source root) to use when running
582 // this operation's container.
583 Dir string `protobuf:"bytes,4,opt,name=dir" json:"dir,omitempty"`
584 // Optional unique identifier for this build step, used in wait_for to
585 // reference this build step as a dependency.
586 Id string `protobuf:"bytes,5,opt,name=id" json:"id,omitempty"`
587 // The ID(s) of the step(s) that this build step depends on.
588 // This build step will not start until all the build steps in wait_for
589 // have completed successfully. If wait_for is empty, this build step will
590 // start when all previous build steps in the Build.Steps list have completed
592 WaitFor []string `protobuf:"bytes,6,rep,name=wait_for,json=waitFor" json:"wait_for,omitempty"`
593 // Optional entrypoint to be used instead of the build step image's default
594 // If unset, the image's default will be used.
595 Entrypoint string `protobuf:"bytes,7,opt,name=entrypoint" json:"entrypoint,omitempty"`
596 // A list of environment variables which are encrypted using a Cloud KMS
597 // crypto key. These values must be specified in the build's secrets.
598 SecretEnv []string `protobuf:"bytes,8,rep,name=secret_env,json=secretEnv" json:"secret_env,omitempty"`
599 // List of volumes to mount into the build step.
601 // Each volume will be created as an empty volume prior to execution of the
602 // build step. Upon completion of the build, volumes and their contents will
605 // Using a named volume in only one step is not valid as it is indicative
606 // of a mis-configured build request.
607 Volumes []*Volume `protobuf:"bytes,9,rep,name=volumes" json:"volumes,omitempty"`
610 func (m *BuildStep) Reset() { *m = BuildStep{} }
611 func (m *BuildStep) String() string { return proto.CompactTextString(m) }
612 func (*BuildStep) ProtoMessage() {}
613 func (*BuildStep) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
615 func (m *BuildStep) GetName() string {
622 func (m *BuildStep) GetEnv() []string {
629 func (m *BuildStep) GetArgs() []string {
636 func (m *BuildStep) GetDir() string {
643 func (m *BuildStep) GetId() string {
650 func (m *BuildStep) GetWaitFor() []string {
657 func (m *BuildStep) GetEntrypoint() string {
664 func (m *BuildStep) GetSecretEnv() []string {
671 func (m *BuildStep) GetVolumes() []*Volume {
678 // Volume describes a Docker container volume which is mounted into build steps
679 // in order to persist files across build step execution.
681 // Name of the volume to mount.
683 // Volume names must be unique per build step and must be valid names for
684 // Docker volumes. Each named volume must be used by at least two build steps.
685 Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
686 // Path at which to mount the volume.
688 // Paths must be absolute and cannot conflict with other volume paths on the
689 // same build step or with certain reserved volume paths.
690 Path string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
693 func (m *Volume) Reset() { *m = Volume{} }
694 func (m *Volume) String() string { return proto.CompactTextString(m) }
695 func (*Volume) ProtoMessage() {}
696 func (*Volume) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
698 func (m *Volume) GetName() string {
705 func (m *Volume) GetPath() string {
712 // Results describes the artifacts created by the build pipeline.
713 type Results struct {
714 // Images that were built as a part of the build.
715 Images []*BuiltImage `protobuf:"bytes,2,rep,name=images" json:"images,omitempty"`
716 // List of build step digests, in order corresponding to build step indices.
717 BuildStepImages []string `protobuf:"bytes,3,rep,name=build_step_images,json=buildStepImages" json:"build_step_images,omitempty"`
720 func (m *Results) Reset() { *m = Results{} }
721 func (m *Results) String() string { return proto.CompactTextString(m) }
722 func (*Results) ProtoMessage() {}
723 func (*Results) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
725 func (m *Results) GetImages() []*BuiltImage {
732 func (m *Results) GetBuildStepImages() []string {
734 return m.BuildStepImages
739 // A build resource in the Container Builder API.
741 // At a high level, a Build describes where to find source code, how to build
742 // it (for example, the builder image to run on the source), and what tag to
743 // apply to the built image when it is pushed to Google Container Registry.
745 // Fields can include the following variables which will be expanded when the
748 // - $PROJECT_ID: the project ID of the build.
749 // - $BUILD_ID: the autogenerated ID of the build.
750 // - $REPO_NAME: the source repository name specified by RepoSource.
751 // - $BRANCH_NAME: the branch name specified by RepoSource.
752 // - $TAG_NAME: the tag name specified by RepoSource.
753 // - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
754 // resolved from the specified branch or tag.
756 // Unique identifier of the build.
758 Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
759 // ID of the project.
761 ProjectId string `protobuf:"bytes,16,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
762 // Status of the build.
764 Status Build_Status `protobuf:"varint,2,opt,name=status,enum=google.devtools.cloudbuild.v1.Build_Status" json:"status,omitempty"`
765 // Customer-readable message about the current status.
767 StatusDetail string `protobuf:"bytes,24,opt,name=status_detail,json=statusDetail" json:"status_detail,omitempty"`
768 // Describes where to find the source files to build.
769 Source *Source `protobuf:"bytes,3,opt,name=source" json:"source,omitempty"`
770 // Describes the operations to be performed on the workspace.
771 Steps []*BuildStep `protobuf:"bytes,11,rep,name=steps" json:"steps,omitempty"`
772 // Results of the build.
774 Results *Results `protobuf:"bytes,10,opt,name=results" json:"results,omitempty"`
775 // Time at which the request to create the build was received.
777 CreateTime *google_protobuf4.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
778 // Time at which execution of the build was started.
780 StartTime *google_protobuf4.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
781 // Time at which execution of the build was finished.
783 // The difference between finish_time and start_time is the duration of the
784 // build's execution.
786 FinishTime *google_protobuf4.Timestamp `protobuf:"bytes,8,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
787 // Amount of time that this build should be allowed to run, to second
788 // granularity. If this amount of time elapses, work on the build will cease
789 // and the build status will be TIMEOUT.
791 // Default time is ten minutes.
792 Timeout *google_protobuf3.Duration `protobuf:"bytes,12,opt,name=timeout" json:"timeout,omitempty"`
793 // A list of images to be pushed upon the successful completion of all build
796 // The images will be pushed using the builder service account's credentials.
798 // The digests of the pushed images will be stored in the Build resource's
801 // If any of the images fail to be pushed, the build is marked FAILURE.
802 Images []string `protobuf:"bytes,13,rep,name=images" json:"images,omitempty"`
803 // Google Cloud Storage bucket where logs should be written (see
805 // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
806 // Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
807 LogsBucket string `protobuf:"bytes,19,opt,name=logs_bucket,json=logsBucket" json:"logs_bucket,omitempty"`
808 // A permanent fixed identifier for source.
810 SourceProvenance *SourceProvenance `protobuf:"bytes,21,opt,name=source_provenance,json=sourceProvenance" json:"source_provenance,omitempty"`
811 // The ID of the BuildTrigger that triggered this build, if it was
812 // triggered automatically.
814 BuildTriggerId string `protobuf:"bytes,22,opt,name=build_trigger_id,json=buildTriggerId" json:"build_trigger_id,omitempty"`
815 // Special options for this build.
816 Options *BuildOptions `protobuf:"bytes,23,opt,name=options" json:"options,omitempty"`
817 // URL to logs for this build in Google Cloud Logging.
819 LogUrl string `protobuf:"bytes,25,opt,name=log_url,json=logUrl" json:"log_url,omitempty"`
820 // Substitutions data for Build resource.
821 Substitutions map[string]string `protobuf:"bytes,29,rep,name=substitutions" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
822 // Tags for annotation of a Build. These are not docker tags.
823 Tags []string `protobuf:"bytes,31,rep,name=tags" json:"tags,omitempty"`
824 // Secrets to decrypt using Cloud KMS.
825 Secrets []*Secret `protobuf:"bytes,32,rep,name=secrets" json:"secrets,omitempty"`
828 func (m *Build) Reset() { *m = Build{} }
829 func (m *Build) String() string { return proto.CompactTextString(m) }
830 func (*Build) ProtoMessage() {}
831 func (*Build) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
833 func (m *Build) GetId() string {
840 func (m *Build) GetProjectId() string {
847 func (m *Build) GetStatus() Build_Status {
851 return Build_STATUS_UNKNOWN
854 func (m *Build) GetStatusDetail() string {
856 return m.StatusDetail
861 func (m *Build) GetSource() *Source {
868 func (m *Build) GetSteps() []*BuildStep {
875 func (m *Build) GetResults() *Results {
882 func (m *Build) GetCreateTime() *google_protobuf4.Timestamp {
889 func (m *Build) GetStartTime() *google_protobuf4.Timestamp {
896 func (m *Build) GetFinishTime() *google_protobuf4.Timestamp {
903 func (m *Build) GetTimeout() *google_protobuf3.Duration {
910 func (m *Build) GetImages() []string {
917 func (m *Build) GetLogsBucket() string {
924 func (m *Build) GetSourceProvenance() *SourceProvenance {
926 return m.SourceProvenance
931 func (m *Build) GetBuildTriggerId() string {
933 return m.BuildTriggerId
938 func (m *Build) GetOptions() *BuildOptions {
945 func (m *Build) GetLogUrl() string {
952 func (m *Build) GetSubstitutions() map[string]string {
954 return m.Substitutions
959 func (m *Build) GetTags() []string {
966 func (m *Build) GetSecrets() []*Secret {
973 // Metadata for build operations.
974 type BuildOperationMetadata struct {
975 // The build that the operation is tracking.
976 Build *Build `protobuf:"bytes,1,opt,name=build" json:"build,omitempty"`
979 func (m *BuildOperationMetadata) Reset() { *m = BuildOperationMetadata{} }
980 func (m *BuildOperationMetadata) String() string { return proto.CompactTextString(m) }
981 func (*BuildOperationMetadata) ProtoMessage() {}
982 func (*BuildOperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
984 func (m *BuildOperationMetadata) GetBuild() *Build {
991 // Provenance of the source. Ways to find the original source, or verify that
992 // some source was used for this build.
993 type SourceProvenance struct {
994 // A copy of the build's source.storage_source, if exists, with any
995 // generations resolved.
996 ResolvedStorageSource *StorageSource `protobuf:"bytes,3,opt,name=resolved_storage_source,json=resolvedStorageSource" json:"resolved_storage_source,omitempty"`
997 // A copy of the build's source.repo_source, if exists, with any
998 // revisions resolved.
999 ResolvedRepoSource *RepoSource `protobuf:"bytes,6,opt,name=resolved_repo_source,json=resolvedRepoSource" json:"resolved_repo_source,omitempty"`
1000 // Hash(es) of the build source, which can be used to verify that the original
1001 // source integrity was maintained in the build. Note that FileHashes will
1002 // only be populated if BuildOptions has requested a SourceProvenanceHash.
1004 // The keys to this map are file paths used as build source and the values
1005 // contain the hash values for those files.
1007 // If the build source came in a single package such as a gzipped tarfile
1008 // (.tar.gz), the FileHash will be for the single path to that file.
1010 FileHashes map[string]*FileHashes `protobuf:"bytes,4,rep,name=file_hashes,json=fileHashes" json:"file_hashes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1013 func (m *SourceProvenance) Reset() { *m = SourceProvenance{} }
1014 func (m *SourceProvenance) String() string { return proto.CompactTextString(m) }
1015 func (*SourceProvenance) ProtoMessage() {}
1016 func (*SourceProvenance) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
1018 func (m *SourceProvenance) GetResolvedStorageSource() *StorageSource {
1020 return m.ResolvedStorageSource
1025 func (m *SourceProvenance) GetResolvedRepoSource() *RepoSource {
1027 return m.ResolvedRepoSource
1032 func (m *SourceProvenance) GetFileHashes() map[string]*FileHashes {
1039 // Container message for hashes of byte content of files, used in
1040 // SourceProvenance messages to verify integrity of source input to the build.
1041 type FileHashes struct {
1042 // Collection of file hashes.
1043 FileHash []*Hash `protobuf:"bytes,1,rep,name=file_hash,json=fileHash" json:"file_hash,omitempty"`
1046 func (m *FileHashes) Reset() { *m = FileHashes{} }
1047 func (m *FileHashes) String() string { return proto.CompactTextString(m) }
1048 func (*FileHashes) ProtoMessage() {}
1049 func (*FileHashes) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
1051 func (m *FileHashes) GetFileHash() []*Hash {
1058 // Container message for hash values.
1060 // The type of hash that was performed.
1061 Type Hash_HashType `protobuf:"varint,1,opt,name=type,enum=google.devtools.cloudbuild.v1.Hash_HashType" json:"type,omitempty"`
1063 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1066 func (m *Hash) Reset() { *m = Hash{} }
1067 func (m *Hash) String() string { return proto.CompactTextString(m) }
1068 func (*Hash) ProtoMessage() {}
1069 func (*Hash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
1071 func (m *Hash) GetType() Hash_HashType {
1078 func (m *Hash) GetValue() []byte {
1085 // Secret pairs a set of secret environment variables containing encrypted
1086 // values with the Cloud KMS key to use to decrypt the value.
1087 type Secret struct {
1088 // Cloud KMS key name to use to decrypt these envs.
1089 KmsKeyName string `protobuf:"bytes,1,opt,name=kms_key_name,json=kmsKeyName" json:"kms_key_name,omitempty"`
1090 // Map of environment variable name to its encrypted value.
1092 // Secret environment variables must be unique across all of a build's
1093 // secrets, and must be used by at least one build step. Values can be at most
1094 // 1 KB in size. There can be at most ten secret values across all of a
1096 SecretEnv map[string][]byte `protobuf:"bytes,3,rep,name=secret_env,json=secretEnv" json:"secret_env,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value,proto3"`
1099 func (m *Secret) Reset() { *m = Secret{} }
1100 func (m *Secret) String() string { return proto.CompactTextString(m) }
1101 func (*Secret) ProtoMessage() {}
1102 func (*Secret) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
1104 func (m *Secret) GetKmsKeyName() string {
1111 func (m *Secret) GetSecretEnv() map[string][]byte {
1118 // Request to create a new build.
1119 type CreateBuildRequest struct {
1120 // ID of the project.
1121 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1122 // Build resource to create.
1123 Build *Build `protobuf:"bytes,2,opt,name=build" json:"build,omitempty"`
1126 func (m *CreateBuildRequest) Reset() { *m = CreateBuildRequest{} }
1127 func (m *CreateBuildRequest) String() string { return proto.CompactTextString(m) }
1128 func (*CreateBuildRequest) ProtoMessage() {}
1129 func (*CreateBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
1131 func (m *CreateBuildRequest) GetProjectId() string {
1138 func (m *CreateBuildRequest) GetBuild() *Build {
1145 // Request to get a build.
1146 type GetBuildRequest struct {
1147 // ID of the project.
1148 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1150 Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
1153 func (m *GetBuildRequest) Reset() { *m = GetBuildRequest{} }
1154 func (m *GetBuildRequest) String() string { return proto.CompactTextString(m) }
1155 func (*GetBuildRequest) ProtoMessage() {}
1156 func (*GetBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
1158 func (m *GetBuildRequest) GetProjectId() string {
1165 func (m *GetBuildRequest) GetId() string {
1172 // Request to list builds.
1173 type ListBuildsRequest struct {
1174 // ID of the project.
1175 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1176 // Number of results to return in the list.
1177 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
1178 // Token to provide to skip to a particular spot in the list.
1179 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
1180 // The raw filter text to constrain the results.
1181 Filter string `protobuf:"bytes,8,opt,name=filter" json:"filter,omitempty"`
1184 func (m *ListBuildsRequest) Reset() { *m = ListBuildsRequest{} }
1185 func (m *ListBuildsRequest) String() string { return proto.CompactTextString(m) }
1186 func (*ListBuildsRequest) ProtoMessage() {}
1187 func (*ListBuildsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
1189 func (m *ListBuildsRequest) GetProjectId() string {
1196 func (m *ListBuildsRequest) GetPageSize() int32 {
1203 func (m *ListBuildsRequest) GetPageToken() string {
1210 func (m *ListBuildsRequest) GetFilter() string {
1217 // Response including listed builds.
1218 type ListBuildsResponse struct {
1219 // Builds will be sorted by create_time, descending.
1220 Builds []*Build `protobuf:"bytes,1,rep,name=builds" json:"builds,omitempty"`
1221 // Token to receive the next page of results.
1222 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
1225 func (m *ListBuildsResponse) Reset() { *m = ListBuildsResponse{} }
1226 func (m *ListBuildsResponse) String() string { return proto.CompactTextString(m) }
1227 func (*ListBuildsResponse) ProtoMessage() {}
1228 func (*ListBuildsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
1230 func (m *ListBuildsResponse) GetBuilds() []*Build {
1237 func (m *ListBuildsResponse) GetNextPageToken() string {
1239 return m.NextPageToken
1244 // Request to cancel an ongoing build.
1245 type CancelBuildRequest struct {
1246 // ID of the project.
1247 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1249 Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
1252 func (m *CancelBuildRequest) Reset() { *m = CancelBuildRequest{} }
1253 func (m *CancelBuildRequest) String() string { return proto.CompactTextString(m) }
1254 func (*CancelBuildRequest) ProtoMessage() {}
1255 func (*CancelBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
1257 func (m *CancelBuildRequest) GetProjectId() string {
1264 func (m *CancelBuildRequest) GetId() string {
1271 // Configuration for an automated build in response to source repository
1273 type BuildTrigger struct {
1274 // Unique identifier of the trigger.
1277 Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
1278 // Human-readable description of this trigger.
1279 Description string `protobuf:"bytes,10,opt,name=description" json:"description,omitempty"`
1280 // Template describing the types of source changes to trigger a build.
1282 // Branch and tag names in trigger templates are interpreted as regular
1283 // expressions. Any branch or tag change that matches that regular expression
1284 // will trigger a build.
1285 TriggerTemplate *RepoSource `protobuf:"bytes,7,opt,name=trigger_template,json=triggerTemplate" json:"trigger_template,omitempty"`
1286 // Template describing the Build request to make when the trigger is matched.
1288 // Types that are valid to be assigned to BuildTemplate:
1289 // *BuildTrigger_Build
1290 // *BuildTrigger_Filename
1291 BuildTemplate isBuildTrigger_BuildTemplate `protobuf_oneof:"build_template"`
1292 // Time when the trigger was created.
1295 CreateTime *google_protobuf4.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
1296 // If true, the trigger will never result in a build.
1297 Disabled bool `protobuf:"varint,9,opt,name=disabled" json:"disabled,omitempty"`
1298 // Substitutions data for Build resource.
1299 Substitutions map[string]string `protobuf:"bytes,11,rep,name=substitutions" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
1302 func (m *BuildTrigger) Reset() { *m = BuildTrigger{} }
1303 func (m *BuildTrigger) String() string { return proto.CompactTextString(m) }
1304 func (*BuildTrigger) ProtoMessage() {}
1305 func (*BuildTrigger) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
1307 type isBuildTrigger_BuildTemplate interface {
1308 isBuildTrigger_BuildTemplate()
1311 type BuildTrigger_Build struct {
1312 Build *Build `protobuf:"bytes,4,opt,name=build,oneof"`
1314 type BuildTrigger_Filename struct {
1315 Filename string `protobuf:"bytes,8,opt,name=filename,oneof"`
1318 func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate() {}
1319 func (*BuildTrigger_Filename) isBuildTrigger_BuildTemplate() {}
1321 func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
1323 return m.BuildTemplate
1328 func (m *BuildTrigger) GetId() string {
1335 func (m *BuildTrigger) GetDescription() string {
1337 return m.Description
1342 func (m *BuildTrigger) GetTriggerTemplate() *RepoSource {
1344 return m.TriggerTemplate
1349 func (m *BuildTrigger) GetBuild() *Build {
1350 if x, ok := m.GetBuildTemplate().(*BuildTrigger_Build); ok {
1356 func (m *BuildTrigger) GetFilename() string {
1357 if x, ok := m.GetBuildTemplate().(*BuildTrigger_Filename); ok {
1363 func (m *BuildTrigger) GetCreateTime() *google_protobuf4.Timestamp {
1370 func (m *BuildTrigger) GetDisabled() bool {
1377 func (m *BuildTrigger) GetSubstitutions() map[string]string {
1379 return m.Substitutions
1384 // XXX_OneofFuncs is for the internal use of the proto package.
1385 func (*BuildTrigger) 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{}) {
1386 return _BuildTrigger_OneofMarshaler, _BuildTrigger_OneofUnmarshaler, _BuildTrigger_OneofSizer, []interface{}{
1387 (*BuildTrigger_Build)(nil),
1388 (*BuildTrigger_Filename)(nil),
1392 func _BuildTrigger_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1393 m := msg.(*BuildTrigger)
1395 switch x := m.BuildTemplate.(type) {
1396 case *BuildTrigger_Build:
1397 b.EncodeVarint(4<<3 | proto.WireBytes)
1398 if err := b.EncodeMessage(x.Build); err != nil {
1401 case *BuildTrigger_Filename:
1402 b.EncodeVarint(8<<3 | proto.WireBytes)
1403 b.EncodeStringBytes(x.Filename)
1406 return fmt.Errorf("BuildTrigger.BuildTemplate has unexpected type %T", x)
1411 func _BuildTrigger_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1412 m := msg.(*BuildTrigger)
1414 case 4: // build_template.build
1415 if wire != proto.WireBytes {
1416 return true, proto.ErrInternalBadWireType
1419 err := b.DecodeMessage(msg)
1420 m.BuildTemplate = &BuildTrigger_Build{msg}
1422 case 8: // build_template.filename
1423 if wire != proto.WireBytes {
1424 return true, proto.ErrInternalBadWireType
1426 x, err := b.DecodeStringBytes()
1427 m.BuildTemplate = &BuildTrigger_Filename{x}
1434 func _BuildTrigger_OneofSizer(msg proto.Message) (n int) {
1435 m := msg.(*BuildTrigger)
1437 switch x := m.BuildTemplate.(type) {
1438 case *BuildTrigger_Build:
1439 s := proto.Size(x.Build)
1440 n += proto.SizeVarint(4<<3 | proto.WireBytes)
1441 n += proto.SizeVarint(uint64(s))
1443 case *BuildTrigger_Filename:
1444 n += proto.SizeVarint(8<<3 | proto.WireBytes)
1445 n += proto.SizeVarint(uint64(len(x.Filename)))
1446 n += len(x.Filename)
1449 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1454 // Request to create a new BuildTrigger.
1455 type CreateBuildTriggerRequest struct {
1456 // ID of the project for which to configure automatic builds.
1457 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1458 // BuildTrigger to create.
1459 Trigger *BuildTrigger `protobuf:"bytes,2,opt,name=trigger" json:"trigger,omitempty"`
1462 func (m *CreateBuildTriggerRequest) Reset() { *m = CreateBuildTriggerRequest{} }
1463 func (m *CreateBuildTriggerRequest) String() string { return proto.CompactTextString(m) }
1464 func (*CreateBuildTriggerRequest) ProtoMessage() {}
1465 func (*CreateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
1467 func (m *CreateBuildTriggerRequest) GetProjectId() string {
1474 func (m *CreateBuildTriggerRequest) GetTrigger() *BuildTrigger {
1481 // Returns the BuildTrigger with the specified ID.
1482 type GetBuildTriggerRequest struct {
1483 // ID of the project that owns the trigger.
1484 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1485 // ID of the BuildTrigger to get.
1486 TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId" json:"trigger_id,omitempty"`
1489 func (m *GetBuildTriggerRequest) Reset() { *m = GetBuildTriggerRequest{} }
1490 func (m *GetBuildTriggerRequest) String() string { return proto.CompactTextString(m) }
1491 func (*GetBuildTriggerRequest) ProtoMessage() {}
1492 func (*GetBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
1494 func (m *GetBuildTriggerRequest) GetProjectId() string {
1501 func (m *GetBuildTriggerRequest) GetTriggerId() string {
1508 // Request to list existing BuildTriggers.
1509 type ListBuildTriggersRequest struct {
1510 // ID of the project for which to list BuildTriggers.
1511 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1514 func (m *ListBuildTriggersRequest) Reset() { *m = ListBuildTriggersRequest{} }
1515 func (m *ListBuildTriggersRequest) String() string { return proto.CompactTextString(m) }
1516 func (*ListBuildTriggersRequest) ProtoMessage() {}
1517 func (*ListBuildTriggersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
1519 func (m *ListBuildTriggersRequest) GetProjectId() string {
1526 // Response containing existing BuildTriggers.
1527 type ListBuildTriggersResponse struct {
1528 // BuildTriggers for the project, sorted by create_time descending.
1529 Triggers []*BuildTrigger `protobuf:"bytes,1,rep,name=triggers" json:"triggers,omitempty"`
1532 func (m *ListBuildTriggersResponse) Reset() { *m = ListBuildTriggersResponse{} }
1533 func (m *ListBuildTriggersResponse) String() string { return proto.CompactTextString(m) }
1534 func (*ListBuildTriggersResponse) ProtoMessage() {}
1535 func (*ListBuildTriggersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
1537 func (m *ListBuildTriggersResponse) GetTriggers() []*BuildTrigger {
1544 // Request to delete a BuildTrigger.
1545 type DeleteBuildTriggerRequest struct {
1546 // ID of the project that owns the trigger.
1547 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1548 // ID of the BuildTrigger to delete.
1549 TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId" json:"trigger_id,omitempty"`
1552 func (m *DeleteBuildTriggerRequest) Reset() { *m = DeleteBuildTriggerRequest{} }
1553 func (m *DeleteBuildTriggerRequest) String() string { return proto.CompactTextString(m) }
1554 func (*DeleteBuildTriggerRequest) ProtoMessage() {}
1555 func (*DeleteBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
1557 func (m *DeleteBuildTriggerRequest) GetProjectId() string {
1564 func (m *DeleteBuildTriggerRequest) GetTriggerId() string {
1571 // Request to update an existing BuildTrigger.
1572 type UpdateBuildTriggerRequest struct {
1573 // ID of the project that owns the trigger.
1574 ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
1575 // ID of the BuildTrigger to update.
1576 TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId" json:"trigger_id,omitempty"`
1577 // BuildTrigger to update.
1578 Trigger *BuildTrigger `protobuf:"bytes,3,opt,name=trigger" json:"trigger,omitempty"`
1581 func (m *UpdateBuildTriggerRequest) Reset() { *m = UpdateBuildTriggerRequest{} }
1582 func (m *UpdateBuildTriggerRequest) String() string { return proto.CompactTextString(m) }
1583 func (*UpdateBuildTriggerRequest) ProtoMessage() {}
1584 func (*UpdateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
1586 func (m *UpdateBuildTriggerRequest) GetProjectId() string {
1593 func (m *UpdateBuildTriggerRequest) GetTriggerId() string {
1600 func (m *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
1607 // Optional arguments to enable specific features of builds.
1608 type BuildOptions struct {
1609 // Requested hash for SourceProvenance.
1610 SourceProvenanceHash []Hash_HashType `protobuf:"varint,1,rep,packed,name=source_provenance_hash,json=sourceProvenanceHash,enum=google.devtools.cloudbuild.v1.Hash_HashType" json:"source_provenance_hash,omitempty"`
1611 // Requested verifiability options.
1612 RequestedVerifyOption BuildOptions_VerifyOption `protobuf:"varint,2,opt,name=requested_verify_option,json=requestedVerifyOption,enum=google.devtools.cloudbuild.v1.BuildOptions_VerifyOption" json:"requested_verify_option,omitempty"`
1613 // SubstitutionOption to allow unmatch substitutions.
1614 SubstitutionOption BuildOptions_SubstitutionOption `protobuf:"varint,4,opt,name=substitution_option,json=substitutionOption,enum=google.devtools.cloudbuild.v1.BuildOptions_SubstitutionOption" json:"substitution_option,omitempty"`
1617 func (m *BuildOptions) Reset() { *m = BuildOptions{} }
1618 func (m *BuildOptions) String() string { return proto.CompactTextString(m) }
1619 func (*BuildOptions) ProtoMessage() {}
1620 func (*BuildOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
1622 func (m *BuildOptions) GetSourceProvenanceHash() []Hash_HashType {
1624 return m.SourceProvenanceHash
1629 func (m *BuildOptions) GetRequestedVerifyOption() BuildOptions_VerifyOption {
1631 return m.RequestedVerifyOption
1633 return BuildOptions_NOT_VERIFIED
1636 func (m *BuildOptions) GetSubstitutionOption() BuildOptions_SubstitutionOption {
1638 return m.SubstitutionOption
1640 return BuildOptions_MUST_MATCH
1644 proto.RegisterType((*StorageSource)(nil), "google.devtools.cloudbuild.v1.StorageSource")
1645 proto.RegisterType((*RepoSource)(nil), "google.devtools.cloudbuild.v1.RepoSource")
1646 proto.RegisterType((*Source)(nil), "google.devtools.cloudbuild.v1.Source")
1647 proto.RegisterType((*BuiltImage)(nil), "google.devtools.cloudbuild.v1.BuiltImage")
1648 proto.RegisterType((*BuildStep)(nil), "google.devtools.cloudbuild.v1.BuildStep")
1649 proto.RegisterType((*Volume)(nil), "google.devtools.cloudbuild.v1.Volume")
1650 proto.RegisterType((*Results)(nil), "google.devtools.cloudbuild.v1.Results")
1651 proto.RegisterType((*Build)(nil), "google.devtools.cloudbuild.v1.Build")
1652 proto.RegisterType((*BuildOperationMetadata)(nil), "google.devtools.cloudbuild.v1.BuildOperationMetadata")
1653 proto.RegisterType((*SourceProvenance)(nil), "google.devtools.cloudbuild.v1.SourceProvenance")
1654 proto.RegisterType((*FileHashes)(nil), "google.devtools.cloudbuild.v1.FileHashes")
1655 proto.RegisterType((*Hash)(nil), "google.devtools.cloudbuild.v1.Hash")
1656 proto.RegisterType((*Secret)(nil), "google.devtools.cloudbuild.v1.Secret")
1657 proto.RegisterType((*CreateBuildRequest)(nil), "google.devtools.cloudbuild.v1.CreateBuildRequest")
1658 proto.RegisterType((*GetBuildRequest)(nil), "google.devtools.cloudbuild.v1.GetBuildRequest")
1659 proto.RegisterType((*ListBuildsRequest)(nil), "google.devtools.cloudbuild.v1.ListBuildsRequest")
1660 proto.RegisterType((*ListBuildsResponse)(nil), "google.devtools.cloudbuild.v1.ListBuildsResponse")
1661 proto.RegisterType((*CancelBuildRequest)(nil), "google.devtools.cloudbuild.v1.CancelBuildRequest")
1662 proto.RegisterType((*BuildTrigger)(nil), "google.devtools.cloudbuild.v1.BuildTrigger")
1663 proto.RegisterType((*CreateBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.CreateBuildTriggerRequest")
1664 proto.RegisterType((*GetBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.GetBuildTriggerRequest")
1665 proto.RegisterType((*ListBuildTriggersRequest)(nil), "google.devtools.cloudbuild.v1.ListBuildTriggersRequest")
1666 proto.RegisterType((*ListBuildTriggersResponse)(nil), "google.devtools.cloudbuild.v1.ListBuildTriggersResponse")
1667 proto.RegisterType((*DeleteBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.DeleteBuildTriggerRequest")
1668 proto.RegisterType((*UpdateBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.UpdateBuildTriggerRequest")
1669 proto.RegisterType((*BuildOptions)(nil), "google.devtools.cloudbuild.v1.BuildOptions")
1670 proto.RegisterEnum("google.devtools.cloudbuild.v1.Build_Status", Build_Status_name, Build_Status_value)
1671 proto.RegisterEnum("google.devtools.cloudbuild.v1.Hash_HashType", Hash_HashType_name, Hash_HashType_value)
1672 proto.RegisterEnum("google.devtools.cloudbuild.v1.BuildOptions_VerifyOption", BuildOptions_VerifyOption_name, BuildOptions_VerifyOption_value)
1673 proto.RegisterEnum("google.devtools.cloudbuild.v1.BuildOptions_SubstitutionOption", BuildOptions_SubstitutionOption_name, BuildOptions_SubstitutionOption_value)
1676 // Reference imports to suppress errors if they are not otherwise used.
1677 var _ context.Context
1678 var _ grpc.ClientConn
1680 // This is a compile-time assertion to ensure that this generated file
1681 // is compatible with the grpc package it is being compiled against.
1682 const _ = grpc.SupportPackageIsVersion4
1684 // Client API for CloudBuild service
1686 type CloudBuildClient interface {
1687 // Starts a build with the specified configuration.
1689 // The long-running Operation returned by this method will include the ID of
1690 // the build, which can be passed to GetBuild to determine its status (e.g.,
1691 // success or failure).
1692 CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
1693 // Returns information about a previously requested build.
1695 // The Build that is returned includes its status (e.g., success or failure,
1696 // or in-progress), and timing information.
1697 GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error)
1698 // Lists previously requested builds.
1700 // Previously requested builds may still be in-progress, or may have finished
1701 // successfully or unsuccessfully.
1702 ListBuilds(ctx context.Context, in *ListBuildsRequest, opts ...grpc.CallOption) (*ListBuildsResponse, error)
1703 // Cancels a requested build in progress.
1704 CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error)
1705 // Creates a new BuildTrigger.
1707 // This API is experimental.
1708 CreateBuildTrigger(ctx context.Context, in *CreateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
1709 // Gets information about a BuildTrigger.
1711 // This API is experimental.
1712 GetBuildTrigger(ctx context.Context, in *GetBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
1713 // Lists existing BuildTrigger.
1715 // This API is experimental.
1716 ListBuildTriggers(ctx context.Context, in *ListBuildTriggersRequest, opts ...grpc.CallOption) (*ListBuildTriggersResponse, error)
1717 // Deletes an BuildTrigger by its project ID and trigger ID.
1719 // This API is experimental.
1720 DeleteBuildTrigger(ctx context.Context, in *DeleteBuildTriggerRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
1721 // Updates an BuildTrigger by its project ID and trigger ID.
1723 // This API is experimental.
1724 UpdateBuildTrigger(ctx context.Context, in *UpdateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
1727 type cloudBuildClient struct {
1731 func NewCloudBuildClient(cc *grpc.ClientConn) CloudBuildClient {
1732 return &cloudBuildClient{cc}
1735 func (c *cloudBuildClient) CreateBuild(ctx context.Context, in *CreateBuildRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
1736 out := new(google_longrunning.Operation)
1737 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuild", in, out, c.cc, opts...)
1744 func (c *cloudBuildClient) GetBuild(ctx context.Context, in *GetBuildRequest, opts ...grpc.CallOption) (*Build, error) {
1746 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/GetBuild", in, out, c.cc, opts...)
1753 func (c *cloudBuildClient) ListBuilds(ctx context.Context, in *ListBuildsRequest, opts ...grpc.CallOption) (*ListBuildsResponse, error) {
1754 out := new(ListBuildsResponse)
1755 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ListBuilds", in, out, c.cc, opts...)
1762 func (c *cloudBuildClient) CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error) {
1764 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CancelBuild", in, out, c.cc, opts...)
1771 func (c *cloudBuildClient) CreateBuildTrigger(ctx context.Context, in *CreateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
1772 out := new(BuildTrigger)
1773 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuildTrigger", in, out, c.cc, opts...)
1780 func (c *cloudBuildClient) GetBuildTrigger(ctx context.Context, in *GetBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
1781 out := new(BuildTrigger)
1782 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/GetBuildTrigger", in, out, c.cc, opts...)
1789 func (c *cloudBuildClient) ListBuildTriggers(ctx context.Context, in *ListBuildTriggersRequest, opts ...grpc.CallOption) (*ListBuildTriggersResponse, error) {
1790 out := new(ListBuildTriggersResponse)
1791 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ListBuildTriggers", in, out, c.cc, opts...)
1798 func (c *cloudBuildClient) DeleteBuildTrigger(ctx context.Context, in *DeleteBuildTriggerRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
1799 out := new(google_protobuf2.Empty)
1800 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/DeleteBuildTrigger", in, out, c.cc, opts...)
1807 func (c *cloudBuildClient) UpdateBuildTrigger(ctx context.Context, in *UpdateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
1808 out := new(BuildTrigger)
1809 err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/UpdateBuildTrigger", in, out, c.cc, opts...)
1816 // Server API for CloudBuild service
1818 type CloudBuildServer interface {
1819 // Starts a build with the specified configuration.
1821 // The long-running Operation returned by this method will include the ID of
1822 // the build, which can be passed to GetBuild to determine its status (e.g.,
1823 // success or failure).
1824 CreateBuild(context.Context, *CreateBuildRequest) (*google_longrunning.Operation, error)
1825 // Returns information about a previously requested build.
1827 // The Build that is returned includes its status (e.g., success or failure,
1828 // or in-progress), and timing information.
1829 GetBuild(context.Context, *GetBuildRequest) (*Build, error)
1830 // Lists previously requested builds.
1832 // Previously requested builds may still be in-progress, or may have finished
1833 // successfully or unsuccessfully.
1834 ListBuilds(context.Context, *ListBuildsRequest) (*ListBuildsResponse, error)
1835 // Cancels a requested build in progress.
1836 CancelBuild(context.Context, *CancelBuildRequest) (*Build, error)
1837 // Creates a new BuildTrigger.
1839 // This API is experimental.
1840 CreateBuildTrigger(context.Context, *CreateBuildTriggerRequest) (*BuildTrigger, error)
1841 // Gets information about a BuildTrigger.
1843 // This API is experimental.
1844 GetBuildTrigger(context.Context, *GetBuildTriggerRequest) (*BuildTrigger, error)
1845 // Lists existing BuildTrigger.
1847 // This API is experimental.
1848 ListBuildTriggers(context.Context, *ListBuildTriggersRequest) (*ListBuildTriggersResponse, error)
1849 // Deletes an BuildTrigger by its project ID and trigger ID.
1851 // This API is experimental.
1852 DeleteBuildTrigger(context.Context, *DeleteBuildTriggerRequest) (*google_protobuf2.Empty, error)
1853 // Updates an BuildTrigger by its project ID and trigger ID.
1855 // This API is experimental.
1856 UpdateBuildTrigger(context.Context, *UpdateBuildTriggerRequest) (*BuildTrigger, error)
1859 func RegisterCloudBuildServer(s *grpc.Server, srv CloudBuildServer) {
1860 s.RegisterService(&_CloudBuild_serviceDesc, srv)
1863 func _CloudBuild_CreateBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1864 in := new(CreateBuildRequest)
1865 if err := dec(in); err != nil {
1868 if interceptor == nil {
1869 return srv.(CloudBuildServer).CreateBuild(ctx, in)
1871 info := &grpc.UnaryServerInfo{
1873 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuild",
1875 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1876 return srv.(CloudBuildServer).CreateBuild(ctx, req.(*CreateBuildRequest))
1878 return interceptor(ctx, in, info, handler)
1881 func _CloudBuild_GetBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1882 in := new(GetBuildRequest)
1883 if err := dec(in); err != nil {
1886 if interceptor == nil {
1887 return srv.(CloudBuildServer).GetBuild(ctx, in)
1889 info := &grpc.UnaryServerInfo{
1891 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/GetBuild",
1893 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1894 return srv.(CloudBuildServer).GetBuild(ctx, req.(*GetBuildRequest))
1896 return interceptor(ctx, in, info, handler)
1899 func _CloudBuild_ListBuilds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1900 in := new(ListBuildsRequest)
1901 if err := dec(in); err != nil {
1904 if interceptor == nil {
1905 return srv.(CloudBuildServer).ListBuilds(ctx, in)
1907 info := &grpc.UnaryServerInfo{
1909 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ListBuilds",
1911 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1912 return srv.(CloudBuildServer).ListBuilds(ctx, req.(*ListBuildsRequest))
1914 return interceptor(ctx, in, info, handler)
1917 func _CloudBuild_CancelBuild_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1918 in := new(CancelBuildRequest)
1919 if err := dec(in); err != nil {
1922 if interceptor == nil {
1923 return srv.(CloudBuildServer).CancelBuild(ctx, in)
1925 info := &grpc.UnaryServerInfo{
1927 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CancelBuild",
1929 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1930 return srv.(CloudBuildServer).CancelBuild(ctx, req.(*CancelBuildRequest))
1932 return interceptor(ctx, in, info, handler)
1935 func _CloudBuild_CreateBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1936 in := new(CreateBuildTriggerRequest)
1937 if err := dec(in); err != nil {
1940 if interceptor == nil {
1941 return srv.(CloudBuildServer).CreateBuildTrigger(ctx, in)
1943 info := &grpc.UnaryServerInfo{
1945 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuildTrigger",
1947 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1948 return srv.(CloudBuildServer).CreateBuildTrigger(ctx, req.(*CreateBuildTriggerRequest))
1950 return interceptor(ctx, in, info, handler)
1953 func _CloudBuild_GetBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1954 in := new(GetBuildTriggerRequest)
1955 if err := dec(in); err != nil {
1958 if interceptor == nil {
1959 return srv.(CloudBuildServer).GetBuildTrigger(ctx, in)
1961 info := &grpc.UnaryServerInfo{
1963 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/GetBuildTrigger",
1965 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1966 return srv.(CloudBuildServer).GetBuildTrigger(ctx, req.(*GetBuildTriggerRequest))
1968 return interceptor(ctx, in, info, handler)
1971 func _CloudBuild_ListBuildTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1972 in := new(ListBuildTriggersRequest)
1973 if err := dec(in); err != nil {
1976 if interceptor == nil {
1977 return srv.(CloudBuildServer).ListBuildTriggers(ctx, in)
1979 info := &grpc.UnaryServerInfo{
1981 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ListBuildTriggers",
1983 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1984 return srv.(CloudBuildServer).ListBuildTriggers(ctx, req.(*ListBuildTriggersRequest))
1986 return interceptor(ctx, in, info, handler)
1989 func _CloudBuild_DeleteBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1990 in := new(DeleteBuildTriggerRequest)
1991 if err := dec(in); err != nil {
1994 if interceptor == nil {
1995 return srv.(CloudBuildServer).DeleteBuildTrigger(ctx, in)
1997 info := &grpc.UnaryServerInfo{
1999 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/DeleteBuildTrigger",
2001 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2002 return srv.(CloudBuildServer).DeleteBuildTrigger(ctx, req.(*DeleteBuildTriggerRequest))
2004 return interceptor(ctx, in, info, handler)
2007 func _CloudBuild_UpdateBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2008 in := new(UpdateBuildTriggerRequest)
2009 if err := dec(in); err != nil {
2012 if interceptor == nil {
2013 return srv.(CloudBuildServer).UpdateBuildTrigger(ctx, in)
2015 info := &grpc.UnaryServerInfo{
2017 FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/UpdateBuildTrigger",
2019 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2020 return srv.(CloudBuildServer).UpdateBuildTrigger(ctx, req.(*UpdateBuildTriggerRequest))
2022 return interceptor(ctx, in, info, handler)
2025 var _CloudBuild_serviceDesc = grpc.ServiceDesc{
2026 ServiceName: "google.devtools.cloudbuild.v1.CloudBuild",
2027 HandlerType: (*CloudBuildServer)(nil),
2028 Methods: []grpc.MethodDesc{
2030 MethodName: "CreateBuild",
2031 Handler: _CloudBuild_CreateBuild_Handler,
2034 MethodName: "GetBuild",
2035 Handler: _CloudBuild_GetBuild_Handler,
2038 MethodName: "ListBuilds",
2039 Handler: _CloudBuild_ListBuilds_Handler,
2042 MethodName: "CancelBuild",
2043 Handler: _CloudBuild_CancelBuild_Handler,
2046 MethodName: "CreateBuildTrigger",
2047 Handler: _CloudBuild_CreateBuildTrigger_Handler,
2050 MethodName: "GetBuildTrigger",
2051 Handler: _CloudBuild_GetBuildTrigger_Handler,
2054 MethodName: "ListBuildTriggers",
2055 Handler: _CloudBuild_ListBuildTriggers_Handler,
2058 MethodName: "DeleteBuildTrigger",
2059 Handler: _CloudBuild_DeleteBuildTrigger_Handler,
2062 MethodName: "UpdateBuildTrigger",
2063 Handler: _CloudBuild_UpdateBuildTrigger_Handler,
2066 Streams: []grpc.StreamDesc{},
2067 Metadata: "google/devtools/cloudbuild/v1/cloudbuild.proto",
2070 func init() { proto.RegisterFile("google/devtools/cloudbuild/v1/cloudbuild.proto", fileDescriptor0) }
2072 var fileDescriptor0 = []byte{
2073 // 2209 bytes of a gzipped FileDescriptorProto
2074 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xdb, 0x72, 0x1b, 0x49,
2075 0x19, 0xf6, 0x48, 0xb2, 0x0e, 0xbf, 0x7c, 0xd0, 0xf6, 0x66, 0x9d, 0xb1, 0xb2, 0xd9, 0x98, 0xc9,
2076 0xee, 0xe2, 0xcd, 0xee, 0x4a, 0x6b, 0x87, 0x90, 0xac, 0x13, 0x12, 0xdb, 0xb2, 0x62, 0xbb, 0xe2,
2077 0xc8, 0x61, 0x24, 0x25, 0xc5, 0xa9, 0x86, 0xb1, 0xa6, 0x2d, 0x0f, 0x1e, 0xcd, 0x0c, 0xd3, 0x2d,
2078 0xb1, 0x4e, 0x2a, 0x05, 0x6c, 0x15, 0xdc, 0x42, 0x15, 0x97, 0x5c, 0x70, 0x78, 0x00, 0x8a, 0xa2,
2079 0x8a, 0xe2, 0x86, 0x7d, 0x0a, 0x1e, 0x01, 0x2e, 0x79, 0x08, 0xaa, 0x0f, 0x23, 0x8d, 0xa4, 0x84,
2080 0x19, 0x91, 0xe2, 0x26, 0x99, 0xfe, 0xbb, 0xff, 0x43, 0xff, 0xc7, 0xaf, 0x65, 0xa8, 0x74, 0x3d,
2081 0xaf, 0xeb, 0xe0, 0xaa, 0x85, 0x07, 0xd4, 0xf3, 0x1c, 0x52, 0xed, 0x38, 0x5e, 0xdf, 0x3a, 0xe9,
2082 0xdb, 0x8e, 0x55, 0x1d, 0x6c, 0x44, 0x56, 0x15, 0x3f, 0xf0, 0xa8, 0x87, 0xae, 0x8a, 0xf3, 0x95,
2083 0xf0, 0x7c, 0x25, 0x72, 0x62, 0xb0, 0x51, 0x7e, 0x57, 0x8a, 0x33, 0x7d, 0xbb, 0x6a, 0xba, 0xae,
2084 0x47, 0x4d, 0x6a, 0x7b, 0x2e, 0x11, 0xcc, 0xe5, 0xeb, 0x72, 0xd7, 0xf1, 0xdc, 0x6e, 0xd0, 0x77,
2085 0x5d, 0xdb, 0xed, 0x56, 0x3d, 0x1f, 0x07, 0x63, 0x87, 0xde, 0x93, 0x87, 0xf8, 0xea, 0xa4, 0x7f,
2086 0x5a, 0xb5, 0xfa, 0xe2, 0x80, 0xdc, 0xbf, 0x32, 0xb9, 0x8f, 0x7b, 0x3e, 0xbd, 0x90, 0x9b, 0xd7,
2087 0x26, 0x37, 0xa9, 0xdd, 0xc3, 0x84, 0x9a, 0x3d, 0x5f, 0x1c, 0xd0, 0x0c, 0x58, 0x6c, 0x52, 0x2f,
2088 0x30, 0xbb, 0xb8, 0xe9, 0xf5, 0x83, 0x0e, 0x46, 0x2b, 0x90, 0x3d, 0xe9, 0x77, 0xce, 0x31, 0x55,
2089 0x95, 0x35, 0x65, 0xbd, 0xa0, 0xcb, 0x15, 0xa3, 0x7b, 0x27, 0x3f, 0xc2, 0x1d, 0xaa, 0xa6, 0x04,
2090 0x5d, 0xac, 0xd0, 0x7b, 0x00, 0x5d, 0xec, 0x4a, 0x9b, 0xd5, 0xf4, 0x9a, 0xb2, 0x9e, 0xd6, 0x23,
2091 0x14, 0xed, 0xaf, 0x0a, 0x80, 0x8e, 0x7d, 0x4f, 0x8a, 0xbf, 0x0a, 0xe0, 0x07, 0x1e, 0xe3, 0x34,
2092 0x6c, 0x4b, 0xaa, 0x28, 0x48, 0xca, 0xa1, 0x85, 0xae, 0x40, 0x21, 0xc0, 0xbe, 0x67, 0xb8, 0x66,
2093 0x0f, 0x4b, 0x45, 0x79, 0x46, 0x68, 0x98, 0x3d, 0x8c, 0xbe, 0x06, 0xc5, 0x93, 0xc0, 0x74, 0x3b,
2094 0x67, 0x62, 0x9b, 0xe9, 0x2a, 0x1c, 0xcc, 0xe9, 0x20, 0x88, 0xfc, 0xc8, 0x15, 0xc8, 0x53, 0xb3,
2095 0x2b, 0xf6, 0x33, 0x72, 0x3f, 0x47, 0xcd, 0x2e, 0xdf, 0xbc, 0x06, 0xd0, 0xf1, 0x7a, 0x3d, 0x9b,
2096 0x1a, 0xe4, 0xcc, 0x54, 0xe7, 0xe5, 0x76, 0x41, 0xd0, 0x9a, 0x67, 0xe6, 0x2e, 0x40, 0x3e, 0xc0,
2097 0x03, 0x9b, 0x30, 0xbb, 0xff, 0xa6, 0x40, 0x56, 0xda, 0xdc, 0x86, 0x25, 0x22, 0x7c, 0x64, 0x10,
2098 0x4e, 0xe1, 0x96, 0x15, 0x37, 0x3f, 0xa9, 0xfc, 0xd7, 0xe0, 0x57, 0xc6, 0x1c, 0x7b, 0x30, 0xa7,
2099 0x2f, 0x92, 0x31, 0x4f, 0x1f, 0x41, 0x91, 0xdf, 0x55, 0xca, 0x4c, 0x73, 0x99, 0x1f, 0xc5, 0xc8,
2100 0x1c, 0xb9, 0x92, 0xdd, 0x3c, 0x18, 0xae, 0x76, 0xf3, 0x90, 0x15, 0x82, 0xb4, 0x3b, 0x00, 0xbb,
2101 0x7d, 0xdb, 0xa1, 0x87, 0x3d, 0xb3, 0x8b, 0x11, 0x82, 0x0c, 0xf7, 0x86, 0x70, 0x35, 0xff, 0x66,
2102 0xb1, 0xb4, 0xec, 0x2e, 0x26, 0x54, 0xf8, 0x50, 0x97, 0x2b, 0xed, 0xcb, 0x14, 0x14, 0x18, 0xab,
2103 0xd5, 0xa4, 0xd8, 0x7f, 0x25, 0x67, 0x09, 0xd2, 0xd8, 0x1d, 0xa8, 0xa9, 0xb5, 0xf4, 0x7a, 0x41,
2104 0x67, 0x9f, 0xec, 0x94, 0x19, 0x74, 0x89, 0x9a, 0xe6, 0x24, 0xfe, 0xcd, 0x4e, 0x59, 0x76, 0x20,
2105 0x02, 0xa0, 0xb3, 0x4f, 0xb4, 0x04, 0x29, 0xdb, 0x12, 0x2e, 0xd7, 0x53, 0xb6, 0x85, 0x56, 0x21,
2106 0xff, 0x13, 0xd3, 0xa6, 0xc6, 0xa9, 0x17, 0xa8, 0x59, 0xce, 0x99, 0x63, 0xeb, 0x87, 0x5e, 0xc0,
2107 0x12, 0x0a, 0xbb, 0x34, 0xb8, 0xf0, 0x3d, 0xdb, 0xa5, 0x6a, 0x8e, 0xb3, 0x44, 0x28, 0x2c, 0x83,
2108 0x08, 0xee, 0x04, 0x98, 0x1a, 0xcc, 0x92, 0x3c, 0x67, 0x2e, 0x08, 0x4a, 0xdd, 0x1d, 0xa0, 0x07,
2109 0x90, 0x1b, 0x78, 0x4e, 0xbf, 0x87, 0x89, 0x5a, 0x58, 0x4b, 0xaf, 0x17, 0x37, 0x3f, 0x88, 0xf1,
2110 0xe8, 0x53, 0x7e, 0x5a, 0x0f, 0xb9, 0xb4, 0xcf, 0x20, 0x2b, 0x48, 0xaf, 0x74, 0x00, 0x82, 0x8c,
2111 0x6f, 0xd2, 0x33, 0x99, 0x9b, 0xfc, 0x5b, 0xfb, 0x02, 0x72, 0x3a, 0x26, 0x7d, 0x87, 0x12, 0xb4,
2112 0x03, 0x59, 0x9b, 0xb9, 0x9d, 0x70, 0x17, 0xc5, 0x87, 0x73, 0x14, 0x28, 0x5d, 0x32, 0xa2, 0x1b,
2113 0xf0, 0x16, 0xdf, 0x36, 0x08, 0xc5, 0xbe, 0x21, 0xa5, 0x09, 0xef, 0x2e, 0x9f, 0x84, 0xc1, 0xe1,
2114 0x2c, 0x44, 0xfb, 0x67, 0x01, 0xe6, 0x79, 0xc0, 0xa4, 0x83, 0x95, 0xa1, 0x83, 0xc7, 0xeb, 0xac,
2115 0x34, 0x59, 0x67, 0x35, 0xc8, 0x12, 0x6a, 0xd2, 0x3e, 0xe1, 0x17, 0x59, 0xda, 0xfc, 0x38, 0x81,
2116 0x9d, 0x56, 0xa5, 0xc9, 0x59, 0x74, 0xc9, 0x8a, 0xae, 0xc3, 0xa2, 0xf8, 0x32, 0x2c, 0x4c, 0x4d,
2117 0xdb, 0x51, 0x55, 0xae, 0x66, 0x41, 0x10, 0xf7, 0x38, 0x0d, 0x7d, 0x2b, 0xcc, 0x4b, 0x99, 0xe0,
2118 0x71, 0xe1, 0x10, 0xe9, 0xac, 0x4b, 0x26, 0x74, 0x1f, 0xe6, 0x99, 0x1f, 0x88, 0x5a, 0xe4, 0xfe,
2119 0x5c, 0x4f, 0x62, 0x27, 0x73, 0x90, 0x2e, 0xd8, 0xd0, 0x36, 0xe4, 0x02, 0x11, 0x1b, 0x15, 0xb8,
2120 0xfe, 0x0f, 0x63, 0x0b, 0x8c, 0x9f, 0xd6, 0x43, 0x36, 0x74, 0x17, 0x8a, 0x9d, 0x00, 0x9b, 0x14,
2121 0x1b, 0xac, 0x77, 0xaa, 0x59, 0x2e, 0xa5, 0x1c, 0x4a, 0x09, 0x1b, 0x6b, 0xa5, 0x15, 0x36, 0x56,
2122 0x1d, 0xc4, 0x71, 0x46, 0x40, 0x9f, 0x03, 0x10, 0x6a, 0x06, 0x54, 0xf0, 0xe6, 0x62, 0x79, 0x0b,
2123 0xfc, 0x34, 0x67, 0xbd, 0x0b, 0xc5, 0x53, 0xdb, 0xb5, 0xc9, 0x99, 0xe0, 0xcd, 0xc7, 0xeb, 0x15,
2124 0xc7, 0x39, 0xf3, 0x4d, 0xc8, 0x31, 0x2e, 0xaf, 0x4f, 0xd5, 0x05, 0xce, 0xb8, 0x3a, 0xc5, 0xb8,
2125 0x27, 0xc7, 0x88, 0x1e, 0x9e, 0x64, 0x6d, 0x41, 0xa6, 0xdb, 0x22, 0x4f, 0xb7, 0x30, 0x23, 0xaf,
2126 0x41, 0xd1, 0xf1, 0xba, 0xc4, 0x90, 0x73, 0xe1, 0x6d, 0x51, 0x92, 0x8c, 0xb4, 0x2b, 0x66, 0xc3,
2127 0xf7, 0xe1, 0x2d, 0x11, 0x2e, 0xc3, 0x0f, 0xbc, 0x01, 0x76, 0x4d, 0xb7, 0x83, 0xd5, 0x77, 0xb8,
2128 0xde, 0x6a, 0xa2, 0x70, 0x3f, 0x19, 0xb2, 0xe9, 0x25, 0x32, 0x41, 0x41, 0xeb, 0x50, 0x12, 0x05,
2129 0x41, 0x03, 0xbb, 0xdb, 0xc5, 0x01, 0x4b, 0xe8, 0x15, 0x6e, 0xc3, 0x12, 0xa7, 0xb7, 0x04, 0xf9,
2130 0xd0, 0x42, 0x75, 0xc8, 0x79, 0x3e, 0x9f, 0x9d, 0xea, 0x65, 0xae, 0x3d, 0x51, 0x5a, 0x1f, 0x0b,
2131 0x16, 0x3d, 0xe4, 0x45, 0x97, 0x21, 0xe7, 0x78, 0x5d, 0xa3, 0x1f, 0x38, 0xea, 0xaa, 0xe8, 0x8f,
2132 0x8e, 0xd7, 0x6d, 0x07, 0x0e, 0xfa, 0x01, 0x2c, 0x92, 0xfe, 0x09, 0xa1, 0x36, 0xed, 0x0b, 0x2d,
2133 0x57, 0x79, 0x52, 0xde, 0x4e, 0x56, 0x3c, 0x51, 0xce, 0x3a, 0xeb, 0x67, 0xfa, 0xb8, 0x34, 0xd6,
2134 0x5b, 0xa8, 0xd9, 0x25, 0xea, 0x35, 0xd1, 0x4a, 0xd9, 0x37, 0x6b, 0x67, 0xa2, 0xb7, 0x11, 0x75,
2135 0x2d, 0x51, 0x3b, 0x6b, 0xf2, 0xd3, 0x7a, 0xc8, 0x55, 0xde, 0x06, 0x34, 0xad, 0x99, 0x75, 0xe8,
2136 0x73, 0x7c, 0x21, 0xfb, 0x05, 0xfb, 0x44, 0x97, 0x60, 0x7e, 0x60, 0x3a, 0xfd, 0x70, 0xea, 0x8a,
2137 0xc5, 0x56, 0xea, 0x8e, 0xa2, 0xfd, 0x14, 0xb2, 0xa2, 0xf0, 0x11, 0x82, 0xa5, 0x66, 0x6b, 0xa7,
2138 0xd5, 0x6e, 0x1a, 0xed, 0xc6, 0xa3, 0xc6, 0xf1, 0xb3, 0x46, 0x69, 0x0e, 0x01, 0x64, 0xbf, 0xdd,
2139 0xae, 0xb7, 0xeb, 0x7b, 0x25, 0x05, 0x15, 0x21, 0xf7, 0xec, 0x58, 0x7f, 0x74, 0xd8, 0xd8, 0x2f,
2140 0xa5, 0xd8, 0xa2, 0xd9, 0xae, 0xd5, 0xea, 0xcd, 0x66, 0x29, 0xcd, 0x16, 0x0f, 0x77, 0x0e, 0x8f,
2141 0xda, 0x7a, 0xbd, 0x94, 0x61, 0x62, 0x0e, 0x1b, 0xad, 0xba, 0xde, 0xd8, 0x39, 0x32, 0xea, 0xba,
2142 0x7e, 0xac, 0x97, 0xe6, 0xd9, 0x81, 0xd6, 0xe1, 0xe3, 0xfa, 0x71, 0xbb, 0x55, 0xca, 0xa2, 0x45,
2143 0x28, 0xd4, 0x76, 0x1a, 0xb5, 0xfa, 0xd1, 0x51, 0x7d, 0xaf, 0x94, 0xd3, 0x5a, 0xb0, 0x22, 0x03,
2144 0x25, 0x41, 0xc5, 0x63, 0x4c, 0x4d, 0xcb, 0xa4, 0x26, 0xda, 0x82, 0x79, 0x7e, 0x71, 0x7e, 0x91,
2145 0xe2, 0xe6, 0xfb, 0x49, 0x02, 0xa1, 0x0b, 0x16, 0xed, 0x0f, 0x69, 0x28, 0x4d, 0x66, 0x1f, 0xb2,
2146 0xe0, 0x72, 0x80, 0x89, 0xe7, 0x0c, 0x30, 0xeb, 0xbf, 0x63, 0x33, 0x3f, 0x3d, 0xfb, 0xcc, 0xd7,
2147 0xdf, 0x09, 0x85, 0x8d, 0x63, 0xac, 0xef, 0xc1, 0xa5, 0xa1, 0x96, 0x28, 0x04, 0xc8, 0xce, 0x08,
2148 0x01, 0x74, 0x14, 0x8a, 0x89, 0x20, 0xac, 0x1f, 0xb2, 0xbe, 0xe1, 0x60, 0xe3, 0xcc, 0x24, 0x67,
2149 0x98, 0xa8, 0x19, 0x9e, 0x35, 0x0f, 0x66, 0x2c, 0xc3, 0xca, 0x43, 0xdb, 0xc1, 0x07, 0x5c, 0x82,
2150 0x48, 0x55, 0x38, 0x1d, 0x12, 0xca, 0x67, 0xb0, 0x3c, 0xb1, 0xfd, 0x8a, 0x7c, 0x7a, 0x10, 0xcd,
2151 0xa7, 0xf8, 0x4b, 0x8d, 0x04, 0x46, 0x53, 0xaf, 0x01, 0x30, 0xda, 0x40, 0xdb, 0x50, 0x18, 0xde,
2152 0x4c, 0x55, 0xf8, 0xbd, 0xae, 0xc7, 0x88, 0x65, 0x9c, 0x7a, 0x3e, 0xb4, 0x5d, 0xfb, 0x99, 0x02,
2153 0x19, 0xf6, 0x81, 0xb6, 0x21, 0x43, 0x2f, 0x7c, 0x31, 0xda, 0x97, 0x62, 0x83, 0xca, 0x58, 0xf8,
2154 0x3f, 0xad, 0x0b, 0x1f, 0xeb, 0x9c, 0x73, 0xbc, 0x5e, 0x16, 0xa4, 0xd1, 0xda, 0x1a, 0xe4, 0xc3,
2155 0x73, 0x28, 0x0f, 0x99, 0xc6, 0x71, 0xa3, 0x2e, 0x6a, 0xa4, 0x79, 0xb0, 0xb3, 0x79, 0xeb, 0x9b,
2156 0x25, 0x45, 0xfb, 0x8a, 0xe1, 0x4a, 0x5e, 0x9b, 0x68, 0x0d, 0x16, 0xce, 0x7b, 0xc4, 0x38, 0xc7,
2157 0x17, 0x46, 0x04, 0x67, 0xc0, 0x79, 0x8f, 0x3c, 0xc2, 0x17, 0x1c, 0xb1, 0x36, 0xc7, 0xb0, 0x4e,
2158 0x9a, 0x5f, 0xf9, 0x1b, 0x89, 0x1a, 0x80, 0xfc, 0xaf, 0xee, 0x0e, 0x44, 0xfc, 0x46, 0x08, 0xa9,
2159 0x7c, 0x0f, 0x96, 0xc6, 0x37, 0xe3, 0xba, 0xc1, 0x42, 0x34, 0x24, 0x1e, 0xa0, 0x1a, 0x9f, 0x6f,
2160 0xa2, 0x98, 0xf0, 0x8f, 0xfb, 0x98, 0xd0, 0x38, 0x58, 0x3f, 0xac, 0xd3, 0xd4, 0xec, 0x75, 0xba,
2161 0x0d, 0xcb, 0xfb, 0x98, 0xce, 0xa2, 0x4d, 0x60, 0xa1, 0x54, 0x88, 0x85, 0xb4, 0x5f, 0x2a, 0xf0,
2162 0xd6, 0x91, 0x4d, 0x84, 0x0c, 0x92, 0x50, 0xc8, 0x15, 0x28, 0xf8, 0xbc, 0xfa, 0xed, 0xe7, 0xc2,
2163 0x0b, 0xf3, 0x7a, 0x9e, 0x11, 0x9a, 0xf6, 0x73, 0xf1, 0x8a, 0x61, 0x9b, 0xd4, 0x3b, 0xc7, 0xae,
2164 0x04, 0xd1, 0xfc, 0x78, 0x8b, 0x11, 0xd8, 0x20, 0x3d, 0xb5, 0x1d, 0x8a, 0x03, 0x3e, 0xb5, 0x0b,
2165 0xba, 0x5c, 0x69, 0xcf, 0x01, 0x45, 0xed, 0x20, 0xbe, 0xe7, 0x12, 0x8c, 0xee, 0xb1, 0x17, 0x17,
2166 0xa3, 0xc8, 0x9c, 0x4e, 0xe6, 0x1d, 0xc9, 0x83, 0x3e, 0x84, 0x65, 0x17, 0x7f, 0x41, 0x8d, 0x88,
2167 0x3d, 0xe2, 0xe6, 0x8b, 0x8c, 0xfc, 0x24, 0xb4, 0x49, 0xab, 0x01, 0xaa, 0xb1, 0xca, 0x76, 0xde,
2168 0xc4, 0x93, 0xbf, 0xc8, 0xc0, 0xc2, 0x6e, 0x64, 0xe6, 0x4e, 0xc1, 0xce, 0x35, 0x28, 0x5a, 0x98,
2169 0x74, 0x02, 0x9b, 0x8f, 0x52, 0x0e, 0xb9, 0x0a, 0x7a, 0x94, 0x84, 0x5a, 0x50, 0x0a, 0xe7, 0x38,
2170 0xc5, 0x3d, 0xdf, 0x31, 0x69, 0x88, 0x8b, 0x66, 0xe8, 0x7b, 0xcb, 0x52, 0x44, 0x4b, 0x4a, 0x40,
2171 0xf7, 0xc2, 0x04, 0xcb, 0x24, 0x4f, 0xb0, 0x83, 0x39, 0x99, 0x62, 0xe8, 0x5d, 0xe0, 0x2d, 0x82,
2172 0x17, 0x61, 0x5e, 0x3e, 0x0b, 0x87, 0x94, 0x49, 0x00, 0x38, 0x3f, 0x13, 0x00, 0x2c, 0x43, 0xde,
2173 0xb2, 0x89, 0x79, 0xe2, 0x60, 0x4b, 0x2d, 0xac, 0x29, 0xeb, 0x79, 0x7d, 0xb8, 0x46, 0xd6, 0x24,
2174 0x9c, 0x10, 0x18, 0xf7, 0x7e, 0x12, 0xe3, 0x65, 0x00, 0xe2, 0x51, 0xc5, 0x9b, 0x03, 0x80, 0xdd,
2175 0x12, 0x2c, 0x49, 0x00, 0x26, 0xdd, 0xad, 0xfd, 0x5c, 0x81, 0xd5, 0x48, 0x17, 0x90, 0xc6, 0x24,
2176 0x4c, 0xaa, 0x3a, 0xe4, 0x64, 0xf8, 0x64, 0x3b, 0xf8, 0x78, 0x86, 0x0b, 0xeb, 0x21, 0xaf, 0xf6,
2177 0x14, 0x56, 0xc2, 0xbe, 0x30, 0x9b, 0xfe, 0xab, 0x00, 0x11, 0x24, 0x29, 0x6e, 0x5b, 0xa0, 0x21,
2178 0x88, 0xd4, 0x3e, 0x07, 0x75, 0x58, 0xa4, 0x52, 0x70, 0xc2, 0x9e, 0xa1, 0x59, 0xb0, 0xfa, 0x0a,
2179 0x56, 0x59, 0xe6, 0xfb, 0x90, 0x97, 0x4a, 0xc2, 0x42, 0x9f, 0xe9, 0xde, 0x43, 0x66, 0xed, 0x3b,
2180 0xb0, 0xba, 0x87, 0x1d, 0xfc, 0x3f, 0xf9, 0x3e, 0xe6, 0xee, 0xbf, 0x57, 0x60, 0xb5, 0xed, 0x5b,
2181 0xe6, 0xff, 0x41, 0x76, 0x34, 0xec, 0xe9, 0x37, 0x08, 0xfb, 0xdf, 0xd3, 0xb2, 0x05, 0x49, 0xd8,
2182 0x8e, 0x4e, 0x60, 0x65, 0xea, 0xf1, 0x31, 0x82, 0x08, 0xb3, 0x0e, 0xf7, 0x4b, 0x93, 0xcf, 0x0f,
2183 0x0e, 0x17, 0x7c, 0x06, 0x0b, 0xb9, 0x13, 0xb0, 0x65, 0x0c, 0x70, 0x60, 0x9f, 0x5e, 0x18, 0xe2,
2184 0xb5, 0x20, 0xdf, 0xcf, 0x77, 0x66, 0x78, 0x68, 0x54, 0x9e, 0x72, 0x01, 0x62, 0xc5, 0x20, 0xa2,
2185 0x14, 0x1c, 0x25, 0x23, 0x0f, 0xde, 0x8e, 0x96, 0x71, 0xa8, 0x2d, 0xc3, 0xb5, 0xdd, 0x9f, 0x45,
2186 0x5b, 0xb4, 0xf8, 0xa5, 0x4e, 0x44, 0xa6, 0x68, 0x5a, 0x05, 0x16, 0xc6, 0x0c, 0x28, 0xc1, 0x42,
2187 0xe3, 0xb8, 0x65, 0x3c, 0xad, 0xeb, 0x87, 0x0f, 0x0f, 0xeb, 0x7b, 0xa5, 0x39, 0xb4, 0x00, 0xf9,
2188 0xe1, 0x4a, 0xd1, 0x6e, 0x8d, 0xb7, 0x15, 0xc9, 0xb5, 0x04, 0xf0, 0xb8, 0xdd, 0x6c, 0x19, 0x8f,
2189 0x77, 0x5a, 0xb5, 0x83, 0xd2, 0x1c, 0x5a, 0x86, 0xe2, 0xce, 0xd1, 0xd1, 0xf1, 0x33, 0xe3, 0xe8,
2190 0xf8, 0xb8, 0x59, 0x2f, 0x29, 0x9b, 0xff, 0x2e, 0x02, 0xd4, 0x98, 0xb1, 0xe2, 0x67, 0x8b, 0x5f,
2191 0x2b, 0x50, 0x8c, 0x34, 0x12, 0xb4, 0x11, 0x73, 0xb3, 0x69, 0xe8, 0x51, 0xbe, 0x1a, 0xb2, 0x44,
2192 0x7e, 0x45, 0xad, 0x0c, 0x9f, 0x0a, 0x5a, 0xf5, 0xcb, 0x7f, 0xfc, 0xeb, 0x37, 0xa9, 0x8f, 0xb4,
2193 0xb5, 0xea, 0x60, 0xa3, 0x2a, 0x93, 0x95, 0x54, 0x5f, 0x8c, 0x12, 0xf9, 0x65, 0x55, 0x4c, 0xd2,
2194 0x2d, 0x39, 0x0c, 0x7e, 0xa5, 0x40, 0x3e, 0x6c, 0x2c, 0xa8, 0x12, 0x63, 0xcf, 0x04, 0x32, 0x29,
2195 0x27, 0x1a, 0x3c, 0xda, 0xa7, 0xdc, 0xa6, 0xaf, 0xa3, 0x0f, 0xe2, 0x6c, 0xaa, 0xbe, 0xb0, 0xad,
2196 0x97, 0xe8, 0xb7, 0x0a, 0xc0, 0x08, 0x37, 0xa0, 0xcf, 0x62, 0x74, 0x4c, 0x41, 0x9d, 0xf2, 0xc6,
2197 0x0c, 0x1c, 0xa2, 0x5b, 0x69, 0xeb, 0xdc, 0x44, 0x0d, 0xc5, 0xba, 0x0d, 0xfd, 0x8e, 0x85, 0x70,
2198 0x84, 0x2c, 0xe2, 0x43, 0x38, 0x85, 0x42, 0x12, 0x7a, 0xed, 0x36, 0x37, 0x69, 0x43, 0xfb, 0x24,
2199 0x91, 0xd7, 0xb6, 0x3a, 0x5c, 0xcf, 0x96, 0x72, 0x03, 0xfd, 0x59, 0x19, 0xc3, 0xac, 0x21, 0x76,
2200 0xb9, 0x93, 0x3c, 0xd7, 0xc6, 0x1b, 0x61, 0x79, 0x96, 0xce, 0xa5, 0xdd, 0xe4, 0x66, 0x7f, 0xaa,
2201 0x69, 0xaf, 0x37, 0x3b, 0x6c, 0xed, 0x5b, 0x61, 0x97, 0x43, 0x7f, 0x52, 0x46, 0xa8, 0x37, 0xb4,
2202 0xf7, 0x56, 0xc2, 0x5c, 0x7c, 0x13, 0x63, 0xa5, 0x8f, 0x51, 0x35, 0xde, 0xd8, 0xea, 0x8b, 0x51,
2203 0xb7, 0x7f, 0x89, 0xfe, 0x12, 0xc5, 0xd8, 0xe1, 0xec, 0x43, 0xb7, 0x93, 0x26, 0xde, 0xc4, 0xa0,
2204 0x2d, 0xdf, 0x99, 0x9d, 0x51, 0x26, 0xee, 0x0d, 0x7e, 0x83, 0xf7, 0x51, 0x02, 0x77, 0xb3, 0xd4,
2205 0x45, 0xd3, 0xa3, 0x34, 0x36, 0x31, 0x5e, 0x3b, 0x7d, 0xcb, 0x2b, 0x53, 0xa8, 0xb0, 0xde, 0xf3,
2206 0xe9, 0x45, 0xe8, 0xd6, 0x1b, 0x33, 0xbb, 0xf5, 0x2b, 0x05, 0xd0, 0xf4, 0x40, 0x8e, 0xb5, 0xf0,
2207 0xb5, 0x33, 0x7c, 0xb6, 0x6c, 0xd8, 0xe6, 0x66, 0x6f, 0x6d, 0xce, 0x6a, 0xf6, 0x30, 0x8f, 0x77,
2208 0xcf, 0x41, 0xed, 0x78, 0xbd, 0x50, 0xe7, 0x98, 0xaa, 0x27, 0xca, 0x77, 0xf7, 0x25, 0xbd, 0xeb,
2209 0x39, 0xa6, 0xdb, 0xad, 0x78, 0x41, 0xb7, 0xda, 0xc5, 0x2e, 0xf7, 0x5d, 0x55, 0x6c, 0x99, 0xbe,
2210 0x4d, 0x5e, 0xf3, 0xb7, 0xb8, 0xbb, 0xa3, 0xd5, 0x1f, 0x53, 0xe9, 0xfd, 0xda, 0xee, 0x49, 0x96,
2211 0x73, 0xde, 0xfc, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xec, 0x36, 0x27, 0x4f, 0xc4, 0x1b, 0x00,