//go:build !ignore_autogenerated

// Code generated by controller-gen. DO NOT EDIT.

package v1alpha1

import (
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisRunArgument) DeepCopyInto(out *AnalysisRunArgument) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunArgument.
func (in *AnalysisRunArgument) DeepCopy() *AnalysisRunArgument {
	if in == nil {
		return nil
	}
	out := new(AnalysisRunArgument)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisRunMetadata) DeepCopyInto(out *AnalysisRunMetadata) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunMetadata.
func (in *AnalysisRunMetadata) DeepCopy() *AnalysisRunMetadata {
	if in == nil {
		return nil
	}
	out := new(AnalysisRunMetadata)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisRunReference) DeepCopyInto(out *AnalysisRunReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisRunReference.
func (in *AnalysisRunReference) DeepCopy() *AnalysisRunReference {
	if in == nil {
		return nil
	}
	out := new(AnalysisRunReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AnalysisTemplateReference) DeepCopyInto(out *AnalysisTemplateReference) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnalysisTemplateReference.
func (in *AnalysisTemplateReference) DeepCopy() *AnalysisTemplateReference {
	if in == nil {
		return nil
	}
	out := new(AnalysisTemplateReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApprovedStage) DeepCopyInto(out *ApprovedStage) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApprovedStage.
func (in *ApprovedStage) DeepCopy() *ApprovedStage {
	if in == nil {
		return nil
	}
	out := new(ApprovedStage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDAppHealthStatus) DeepCopyInto(out *ArgoCDAppHealthStatus) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDAppHealthStatus.
func (in *ArgoCDAppHealthStatus) DeepCopy() *ArgoCDAppHealthStatus {
	if in == nil {
		return nil
	}
	out := new(ArgoCDAppHealthStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDAppStatus) DeepCopyInto(out *ArgoCDAppStatus) {
	*out = *in
	out.HealthStatus = in.HealthStatus
	in.SyncStatus.DeepCopyInto(&out.SyncStatus)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDAppStatus.
func (in *ArgoCDAppStatus) DeepCopy() *ArgoCDAppStatus {
	if in == nil {
		return nil
	}
	out := new(ArgoCDAppStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ArgoCDAppSyncStatus) DeepCopyInto(out *ArgoCDAppSyncStatus) {
	*out = *in
	if in.Revisions != nil {
		in, out := &in.Revisions, &out.Revisions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArgoCDAppSyncStatus.
func (in *ArgoCDAppSyncStatus) DeepCopy() *ArgoCDAppSyncStatus {
	if in == nil {
		return nil
	}
	out := new(ArgoCDAppSyncStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Chart) DeepCopyInto(out *Chart) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Chart.
func (in *Chart) DeepCopy() *Chart {
	if in == nil {
		return nil
	}
	out := new(Chart)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChartDiscoveryResult) DeepCopyInto(out *ChartDiscoveryResult) {
	*out = *in
	if in.Versions != nil {
		in, out := &in.Versions, &out.Versions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartDiscoveryResult.
func (in *ChartDiscoveryResult) DeepCopy() *ChartDiscoveryResult {
	if in == nil {
		return nil
	}
	out := new(ChartDiscoveryResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ChartSubscription) DeepCopyInto(out *ChartSubscription) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChartSubscription.
func (in *ChartSubscription) DeepCopy() *ChartSubscription {
	if in == nil {
		return nil
	}
	out := new(ChartSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiscoveredArtifacts) DeepCopyInto(out *DiscoveredArtifacts) {
	*out = *in
	in.DiscoveredAt.DeepCopyInto(&out.DiscoveredAt)
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = make([]GitDiscoveryResult, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]ImageDiscoveryResult, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Charts != nil {
		in, out := &in.Charts, &out.Charts
		*out = make([]ChartDiscoveryResult, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveredArtifacts.
func (in *DiscoveredArtifacts) DeepCopy() *DiscoveredArtifacts {
	if in == nil {
		return nil
	}
	out := new(DiscoveredArtifacts)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiscoveredCommit) DeepCopyInto(out *DiscoveredCommit) {
	*out = *in
	if in.CreatorDate != nil {
		in, out := &in.CreatorDate, &out.CreatorDate
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveredCommit.
func (in *DiscoveredCommit) DeepCopy() *DiscoveredCommit {
	if in == nil {
		return nil
	}
	out := new(DiscoveredCommit)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DiscoveredImageReference) DeepCopyInto(out *DiscoveredImageReference) {
	*out = *in
	if in.CreatedAt != nil {
		in, out := &in.CreatedAt, &out.CreatedAt
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiscoveredImageReference.
func (in *DiscoveredImageReference) DeepCopy() *DiscoveredImageReference {
	if in == nil {
		return nil
	}
	out := new(DiscoveredImageReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Freight) DeepCopyInto(out *Freight) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Origin = in.Origin
	if in.Commits != nil {
		in, out := &in.Commits, &out.Commits
		*out = make([]GitCommit, len(*in))
		copy(*out, *in)
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]Image, len(*in))
		copy(*out, *in)
	}
	if in.Charts != nil {
		in, out := &in.Charts, &out.Charts
		*out = make([]Chart, len(*in))
		copy(*out, *in)
	}
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Freight.
func (in *Freight) DeepCopy() *Freight {
	if in == nil {
		return nil
	}
	out := new(Freight)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Freight) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightCollection) DeepCopyInto(out *FreightCollection) {
	*out = *in
	if in.Freight != nil {
		in, out := &in.Freight, &out.Freight
		*out = make(map[string]FreightReference, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.VerificationHistory != nil {
		in, out := &in.VerificationHistory, &out.VerificationHistory
		*out = make(VerificationInfoStack, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightCollection.
func (in *FreightCollection) DeepCopy() *FreightCollection {
	if in == nil {
		return nil
	}
	out := new(FreightCollection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in FreightHistory) DeepCopyInto(out *FreightHistory) {
	{
		in := &in
		*out = make(FreightHistory, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(FreightCollection)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightHistory.
func (in FreightHistory) DeepCopy() FreightHistory {
	if in == nil {
		return nil
	}
	out := new(FreightHistory)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightList) DeepCopyInto(out *FreightList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Freight, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightList.
func (in *FreightList) DeepCopy() *FreightList {
	if in == nil {
		return nil
	}
	out := new(FreightList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *FreightList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightOrigin) DeepCopyInto(out *FreightOrigin) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightOrigin.
func (in *FreightOrigin) DeepCopy() *FreightOrigin {
	if in == nil {
		return nil
	}
	out := new(FreightOrigin)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightReference) DeepCopyInto(out *FreightReference) {
	*out = *in
	out.Origin = in.Origin
	if in.Commits != nil {
		in, out := &in.Commits, &out.Commits
		*out = make([]GitCommit, len(*in))
		copy(*out, *in)
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]Image, len(*in))
		copy(*out, *in)
	}
	if in.Charts != nil {
		in, out := &in.Charts, &out.Charts
		*out = make([]Chart, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightReference.
func (in *FreightReference) DeepCopy() *FreightReference {
	if in == nil {
		return nil
	}
	out := new(FreightReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightRequest) DeepCopyInto(out *FreightRequest) {
	*out = *in
	out.Origin = in.Origin
	in.Sources.DeepCopyInto(&out.Sources)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightRequest.
func (in *FreightRequest) DeepCopy() *FreightRequest {
	if in == nil {
		return nil
	}
	out := new(FreightRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightSources) DeepCopyInto(out *FreightSources) {
	*out = *in
	if in.Stages != nil {
		in, out := &in.Stages, &out.Stages
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightSources.
func (in *FreightSources) DeepCopy() *FreightSources {
	if in == nil {
		return nil
	}
	out := new(FreightSources)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *FreightStatus) DeepCopyInto(out *FreightStatus) {
	*out = *in
	if in.VerifiedIn != nil {
		in, out := &in.VerifiedIn, &out.VerifiedIn
		*out = make(map[string]VerifiedStage, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ApprovedFor != nil {
		in, out := &in.ApprovedFor, &out.ApprovedFor
		*out = make(map[string]ApprovedStage, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FreightStatus.
func (in *FreightStatus) DeepCopy() *FreightStatus {
	if in == nil {
		return nil
	}
	out := new(FreightStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitCommit) DeepCopyInto(out *GitCommit) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitCommit.
func (in *GitCommit) DeepCopy() *GitCommit {
	if in == nil {
		return nil
	}
	out := new(GitCommit)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitDiscoveryResult) DeepCopyInto(out *GitDiscoveryResult) {
	*out = *in
	if in.Commits != nil {
		in, out := &in.Commits, &out.Commits
		*out = make([]DiscoveredCommit, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitDiscoveryResult.
func (in *GitDiscoveryResult) DeepCopy() *GitDiscoveryResult {
	if in == nil {
		return nil
	}
	out := new(GitDiscoveryResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitSubscription) DeepCopyInto(out *GitSubscription) {
	*out = *in
	if in.IgnoreTags != nil {
		in, out := &in.IgnoreTags, &out.IgnoreTags
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.IncludePaths != nil {
		in, out := &in.IncludePaths, &out.IncludePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ExcludePaths != nil {
		in, out := &in.ExcludePaths, &out.ExcludePaths
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitSubscription.
func (in *GitSubscription) DeepCopy() *GitSubscription {
	if in == nil {
		return nil
	}
	out := new(GitSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Health) DeepCopyInto(out *Health) {
	*out = *in
	if in.Issues != nil {
		in, out := &in.Issues, &out.Issues
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ArgoCDApps != nil {
		in, out := &in.ArgoCDApps, &out.ArgoCDApps
		*out = make([]ArgoCDAppStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.Output != nil {
		in, out := &in.Output, &out.Output
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Health.
func (in *Health) DeepCopy() *Health {
	if in == nil {
		return nil
	}
	out := new(Health)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HealthCheckStep) DeepCopyInto(out *HealthCheckStep) {
	*out = *in
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckStep.
func (in *HealthCheckStep) DeepCopy() *HealthCheckStep {
	if in == nil {
		return nil
	}
	out := new(HealthCheckStep)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Image) DeepCopyInto(out *Image) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (in *Image) DeepCopy() *Image {
	if in == nil {
		return nil
	}
	out := new(Image)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ImageDiscoveryResult) DeepCopyInto(out *ImageDiscoveryResult) {
	*out = *in
	if in.References != nil {
		in, out := &in.References, &out.References
		*out = make([]DiscoveredImageReference, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageDiscoveryResult.
func (in *ImageDiscoveryResult) DeepCopy() *ImageDiscoveryResult {
	if in == nil {
		return nil
	}
	out := new(ImageDiscoveryResult)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ImageSubscription) DeepCopyInto(out *ImageSubscription) {
	*out = *in
	if in.IgnoreTags != nil {
		in, out := &in.IgnoreTags, &out.IgnoreTags
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSubscription.
func (in *ImageSubscription) DeepCopy() *ImageSubscription {
	if in == nil {
		return nil
	}
	out := new(ImageSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Project) DeepCopyInto(out *Project) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	if in.Spec != nil {
		in, out := &in.Spec, &out.Spec
		*out = new(ProjectSpec)
		(*in).DeepCopyInto(*out)
	}
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (in *Project) DeepCopy() *Project {
	if in == nil {
		return nil
	}
	out := new(Project)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Project) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectList) DeepCopyInto(out *ProjectList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Project, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.
func (in *ProjectList) DeepCopy() *ProjectList {
	if in == nil {
		return nil
	}
	out := new(ProjectList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ProjectList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec) {
	*out = *in
	if in.PromotionPolicies != nil {
		in, out := &in.PromotionPolicies, &out.PromotionPolicies
		*out = make([]PromotionPolicy, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec.
func (in *ProjectSpec) DeepCopy() *ProjectSpec {
	if in == nil {
		return nil
	}
	out := new(ProjectSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.
func (in *ProjectStatus) DeepCopy() *ProjectStatus {
	if in == nil {
		return nil
	}
	out := new(ProjectStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Promotion) DeepCopyInto(out *Promotion) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Promotion.
func (in *Promotion) DeepCopy() *Promotion {
	if in == nil {
		return nil
	}
	out := new(Promotion)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Promotion) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionList) DeepCopyInto(out *PromotionList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Promotion, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionList.
func (in *PromotionList) DeepCopy() *PromotionList {
	if in == nil {
		return nil
	}
	out := new(PromotionList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PromotionList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionPolicy) DeepCopyInto(out *PromotionPolicy) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionPolicy.
func (in *PromotionPolicy) DeepCopy() *PromotionPolicy {
	if in == nil {
		return nil
	}
	out := new(PromotionPolicy)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionReference) DeepCopyInto(out *PromotionReference) {
	*out = *in
	if in.Freight != nil {
		in, out := &in.Freight, &out.Freight
		*out = new(FreightReference)
		(*in).DeepCopyInto(*out)
	}
	if in.Status != nil {
		in, out := &in.Status, &out.Status
		*out = new(PromotionStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.FinishedAt != nil {
		in, out := &in.FinishedAt, &out.FinishedAt
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionReference.
func (in *PromotionReference) DeepCopy() *PromotionReference {
	if in == nil {
		return nil
	}
	out := new(PromotionReference)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionSpec) DeepCopyInto(out *PromotionSpec) {
	*out = *in
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]PromotionVariable, len(*in))
		copy(*out, *in)
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]PromotionStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionSpec.
func (in *PromotionSpec) DeepCopy() *PromotionSpec {
	if in == nil {
		return nil
	}
	out := new(PromotionSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionStatus) DeepCopyInto(out *PromotionStatus) {
	*out = *in
	if in.Freight != nil {
		in, out := &in.Freight, &out.Freight
		*out = new(FreightReference)
		(*in).DeepCopyInto(*out)
	}
	if in.FreightCollection != nil {
		in, out := &in.FreightCollection, &out.FreightCollection
		*out = new(FreightCollection)
		(*in).DeepCopyInto(*out)
	}
	if in.HealthChecks != nil {
		in, out := &in.HealthChecks, &out.HealthChecks
		*out = make([]HealthCheckStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.FinishedAt != nil {
		in, out := &in.FinishedAt, &out.FinishedAt
		*out = (*in).DeepCopy()
	}
	if in.State != nil {
		in, out := &in.State, &out.State
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStatus.
func (in *PromotionStatus) DeepCopy() *PromotionStatus {
	if in == nil {
		return nil
	}
	out := new(PromotionStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionStep) DeepCopyInto(out *PromotionStep) {
	*out = *in
	if in.Retry != nil {
		in, out := &in.Retry, &out.Retry
		*out = new(PromotionStepRetry)
		**out = **in
	}
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStep.
func (in *PromotionStep) DeepCopy() *PromotionStep {
	if in == nil {
		return nil
	}
	out := new(PromotionStep)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionStepRetry) DeepCopyInto(out *PromotionStepRetry) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStepRetry.
func (in *PromotionStepRetry) DeepCopy() *PromotionStepRetry {
	if in == nil {
		return nil
	}
	out := new(PromotionStepRetry)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTemplate) DeepCopyInto(out *PromotionTemplate) {
	*out = *in
	in.Spec.DeepCopyInto(&out.Spec)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTemplate.
func (in *PromotionTemplate) DeepCopy() *PromotionTemplate {
	if in == nil {
		return nil
	}
	out := new(PromotionTemplate)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionTemplateSpec) DeepCopyInto(out *PromotionTemplateSpec) {
	*out = *in
	if in.Vars != nil {
		in, out := &in.Vars, &out.Vars
		*out = make([]PromotionVariable, len(*in))
		copy(*out, *in)
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]PromotionStep, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionTemplateSpec.
func (in *PromotionTemplateSpec) DeepCopy() *PromotionTemplateSpec {
	if in == nil {
		return nil
	}
	out := new(PromotionTemplateSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PromotionVariable) DeepCopyInto(out *PromotionVariable) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionVariable.
func (in *PromotionVariable) DeepCopy() *PromotionVariable {
	if in == nil {
		return nil
	}
	out := new(PromotionVariable)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RepoSubscription) DeepCopyInto(out *RepoSubscription) {
	*out = *in
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = new(GitSubscription)
		(*in).DeepCopyInto(*out)
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(ImageSubscription)
		(*in).DeepCopyInto(*out)
	}
	if in.Chart != nil {
		in, out := &in.Chart, &out.Chart
		*out = new(ChartSubscription)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepoSubscription.
func (in *RepoSubscription) DeepCopy() *RepoSubscription {
	if in == nil {
		return nil
	}
	out := new(RepoSubscription)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Stage) DeepCopyInto(out *Stage) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stage.
func (in *Stage) DeepCopy() *Stage {
	if in == nil {
		return nil
	}
	out := new(Stage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Stage) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageList) DeepCopyInto(out *StageList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Stage, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageList.
func (in *StageList) DeepCopy() *StageList {
	if in == nil {
		return nil
	}
	out := new(StageList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *StageList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageSpec) DeepCopyInto(out *StageSpec) {
	*out = *in
	if in.RequestedFreight != nil {
		in, out := &in.RequestedFreight, &out.RequestedFreight
		*out = make([]FreightRequest, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PromotionTemplate != nil {
		in, out := &in.PromotionTemplate, &out.PromotionTemplate
		*out = new(PromotionTemplate)
		(*in).DeepCopyInto(*out)
	}
	if in.Verification != nil {
		in, out := &in.Verification, &out.Verification
		*out = new(Verification)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageSpec.
func (in *StageSpec) DeepCopy() *StageSpec {
	if in == nil {
		return nil
	}
	out := new(StageSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StageStatus) DeepCopyInto(out *StageStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.FreightHistory != nil {
		in, out := &in.FreightHistory, &out.FreightHistory
		*out = make(FreightHistory, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(FreightCollection)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.Health != nil {
		in, out := &in.Health, &out.Health
		*out = new(Health)
		(*in).DeepCopyInto(*out)
	}
	if in.CurrentPromotion != nil {
		in, out := &in.CurrentPromotion, &out.CurrentPromotion
		*out = new(PromotionReference)
		(*in).DeepCopyInto(*out)
	}
	if in.LastPromotion != nil {
		in, out := &in.LastPromotion, &out.LastPromotion
		*out = new(PromotionReference)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StageStatus.
func (in *StageStatus) DeepCopy() *StageStatus {
	if in == nil {
		return nil
	}
	out := new(StageStatus)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Verification) DeepCopyInto(out *Verification) {
	*out = *in
	if in.AnalysisTemplates != nil {
		in, out := &in.AnalysisTemplates, &out.AnalysisTemplates
		*out = make([]AnalysisTemplateReference, len(*in))
		copy(*out, *in)
	}
	if in.AnalysisRunMetadata != nil {
		in, out := &in.AnalysisRunMetadata, &out.AnalysisRunMetadata
		*out = new(AnalysisRunMetadata)
		(*in).DeepCopyInto(*out)
	}
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = make([]AnalysisRunArgument, len(*in))
		copy(*out, *in)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Verification.
func (in *Verification) DeepCopy() *Verification {
	if in == nil {
		return nil
	}
	out := new(Verification)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VerificationInfo) DeepCopyInto(out *VerificationInfo) {
	*out = *in
	if in.StartTime != nil {
		in, out := &in.StartTime, &out.StartTime
		*out = (*in).DeepCopy()
	}
	if in.AnalysisRun != nil {
		in, out := &in.AnalysisRun, &out.AnalysisRun
		*out = new(AnalysisRunReference)
		**out = **in
	}
	if in.FinishTime != nil {
		in, out := &in.FinishTime, &out.FinishTime
		*out = (*in).DeepCopy()
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerificationInfo.
func (in *VerificationInfo) DeepCopy() *VerificationInfo {
	if in == nil {
		return nil
	}
	out := new(VerificationInfo)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in VerificationInfoStack) DeepCopyInto(out *VerificationInfoStack) {
	{
		in := &in
		*out = make(VerificationInfoStack, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerificationInfoStack.
func (in VerificationInfoStack) DeepCopy() VerificationInfoStack {
	if in == nil {
		return nil
	}
	out := new(VerificationInfoStack)
	in.DeepCopyInto(out)
	return *out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VerifiedStage) DeepCopyInto(out *VerifiedStage) {
	*out = *in
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerifiedStage.
func (in *VerifiedStage) DeepCopy() *VerifiedStage {
	if in == nil {
		return nil
	}
	out := new(VerifiedStage)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Warehouse) DeepCopyInto(out *Warehouse) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Warehouse.
func (in *Warehouse) DeepCopy() *Warehouse {
	if in == nil {
		return nil
	}
	out := new(Warehouse)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Warehouse) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseList) DeepCopyInto(out *WarehouseList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Warehouse, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseList.
func (in *WarehouseList) DeepCopy() *WarehouseList {
	if in == nil {
		return nil
	}
	out := new(WarehouseList)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *WarehouseList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseSpec) DeepCopyInto(out *WarehouseSpec) {
	*out = *in
	out.Interval = in.Interval
	if in.Subscriptions != nil {
		in, out := &in.Subscriptions, &out.Subscriptions
		*out = make([]RepoSubscription, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseSpec.
func (in *WarehouseSpec) DeepCopy() *WarehouseSpec {
	if in == nil {
		return nil
	}
	out := new(WarehouseSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WarehouseStatus) DeepCopyInto(out *WarehouseStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]v1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.DiscoveredArtifacts != nil {
		in, out := &in.DiscoveredArtifacts, &out.DiscoveredArtifacts
		*out = new(DiscoveredArtifacts)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WarehouseStatus.
func (in *WarehouseStatus) DeepCopy() *WarehouseStatus {
	if in == nil {
		return nil
	}
	out := new(WarehouseStatus)
	in.DeepCopyInto(out)
	return out
}
