//go:build !ignore_autogenerated
// +build !ignore_autogenerated

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

package v1alpha1

import (
	corev1 "k8s.io/api/core/v1"
	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
	intstr "k8s.io/apimachinery/pkg/util/intstr"
)

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AppProject) 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 *AppProjectList) DeepCopyInto(out *AppProjectList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AppProject, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AppProjectList) 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 *AppProjectSpec) DeepCopyInto(out *AppProjectSpec) {
	*out = *in
	if in.SourceRepos != nil {
		in, out := &in.SourceRepos, &out.SourceRepos
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Destinations != nil {
		in, out := &in.Destinations, &out.Destinations
		*out = make([]ApplicationDestination, len(*in))
		copy(*out, *in)
	}
	if in.Roles != nil {
		in, out := &in.Roles, &out.Roles
		*out = make([]ProjectRole, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ClusterResourceWhitelist != nil {
		in, out := &in.ClusterResourceWhitelist, &out.ClusterResourceWhitelist
		*out = make([]v1.GroupKind, len(*in))
		copy(*out, *in)
	}
	if in.NamespaceResourceBlacklist != nil {
		in, out := &in.NamespaceResourceBlacklist, &out.NamespaceResourceBlacklist
		*out = make([]v1.GroupKind, len(*in))
		copy(*out, *in)
	}
	if in.OrphanedResources != nil {
		in, out := &in.OrphanedResources, &out.OrphanedResources
		*out = new(OrphanedResourcesMonitorSettings)
		(*in).DeepCopyInto(*out)
	}
	if in.SyncWindows != nil {
		in, out := &in.SyncWindows, &out.SyncWindows
		*out = make(SyncWindows, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(SyncWindow)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.NamespaceResourceWhitelist != nil {
		in, out := &in.NamespaceResourceWhitelist, &out.NamespaceResourceWhitelist
		*out = make([]v1.GroupKind, len(*in))
		copy(*out, *in)
	}
	if in.SignatureKeys != nil {
		in, out := &in.SignatureKeys, &out.SignatureKeys
		*out = make([]SignatureKey, len(*in))
		copy(*out, *in)
	}
	if in.ClusterResourceBlacklist != nil {
		in, out := &in.ClusterResourceBlacklist, &out.ClusterResourceBlacklist
		*out = make([]v1.GroupKind, len(*in))
		copy(*out, *in)
	}
	if in.SourceNamespaces != nil {
		in, out := &in.SourceNamespaces, &out.SourceNamespaces
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Application) 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 *ApplicationCondition) DeepCopyInto(out *ApplicationCondition) {
	*out = *in
	if in.LastTransitionTime != nil {
		in, out := &in.LastTransitionTime, &out.LastTransitionTime
		*out = (*in).DeepCopy()
	}
	return
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ApplicationList) 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 *ApplicationMatchExpression) DeepCopyInto(out *ApplicationMatchExpression) {
	*out = *in
	if in.Values != nil {
		in, out := &in.Values, &out.Values
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ApplicationSet) 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 *ApplicationSetApplicationStatus) DeepCopyInto(out *ApplicationSetApplicationStatus) {
	*out = *in
	if in.LastTransitionTime != nil {
		in, out := &in.LastTransitionTime, &out.LastTransitionTime
		*out = (*in).DeepCopy()
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSetGenerator) DeepCopyInto(out *ApplicationSetGenerator) {
	*out = *in
	if in.List != nil {
		in, out := &in.List, &out.List
		*out = new(ListGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Clusters != nil {
		in, out := &in.Clusters, &out.Clusters
		*out = new(ClusterGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = new(GitGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.SCMProvider != nil {
		in, out := &in.SCMProvider, &out.SCMProvider
		*out = new(SCMProviderGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.ClusterDecisionResource != nil {
		in, out := &in.ClusterDecisionResource, &out.ClusterDecisionResource
		*out = new(DuckTypeGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.PullRequest != nil {
		in, out := &in.PullRequest, &out.PullRequest
		*out = new(PullRequestGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Matrix != nil {
		in, out := &in.Matrix, &out.Matrix
		*out = new(MatrixGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Merge != nil {
		in, out := &in.Merge, &out.Merge
		*out = new(MergeGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ApplicationSetList) 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 *ApplicationSetNestedGenerator) DeepCopyInto(out *ApplicationSetNestedGenerator) {
	*out = *in
	if in.List != nil {
		in, out := &in.List, &out.List
		*out = new(ListGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Clusters != nil {
		in, out := &in.Clusters, &out.Clusters
		*out = new(ClusterGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = new(GitGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.SCMProvider != nil {
		in, out := &in.SCMProvider, &out.SCMProvider
		*out = new(SCMProviderGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.ClusterDecisionResource != nil {
		in, out := &in.ClusterDecisionResource, &out.ClusterDecisionResource
		*out = new(DuckTypeGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.PullRequest != nil {
		in, out := &in.PullRequest, &out.PullRequest
		*out = new(PullRequestGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Matrix != nil {
		in, out := &in.Matrix, &out.Matrix
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.Merge != nil {
		in, out := &in.Merge, &out.Merge
		*out = new(apiextensionsv1.JSON)
		(*in).DeepCopyInto(*out)
	}
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSetSpec) DeepCopyInto(out *ApplicationSetSpec) {
	*out = *in
	if in.Generators != nil {
		in, out := &in.Generators, &out.Generators
		*out = make([]ApplicationSetGenerator, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Template.DeepCopyInto(&out.Template)
	if in.SyncPolicy != nil {
		in, out := &in.SyncPolicy, &out.SyncPolicy
		*out = new(ApplicationSetSyncPolicy)
		**out = **in
	}
	if in.Strategy != nil {
		in, out := &in.Strategy, &out.Strategy
		*out = new(ApplicationSetStrategy)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSetTemplateMeta) DeepCopyInto(out *ApplicationSetTemplateMeta) {
	*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
		}
	}
	if in.Finalizers != nil {
		in, out := &in.Finalizers, &out.Finalizers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSetTerminalGenerator) DeepCopyInto(out *ApplicationSetTerminalGenerator) {
	*out = *in
	if in.List != nil {
		in, out := &in.List, &out.List
		*out = new(ListGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Clusters != nil {
		in, out := &in.Clusters, &out.Clusters
		*out = new(ClusterGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.Git != nil {
		in, out := &in.Git, &out.Git
		*out = new(GitGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.SCMProvider != nil {
		in, out := &in.SCMProvider, &out.SCMProvider
		*out = new(SCMProviderGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.ClusterDecisionResource != nil {
		in, out := &in.ClusterDecisionResource, &out.ClusterDecisionResource
		*out = new(DuckTypeGenerator)
		(*in).DeepCopyInto(*out)
	}
	if in.PullRequest != nil {
		in, out := &in.PullRequest, &out.PullRequest
		*out = new(PullRequestGenerator)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSource) DeepCopyInto(out *ApplicationSource) {
	*out = *in
	if in.Helm != nil {
		in, out := &in.Helm, &out.Helm
		*out = new(ApplicationSourceHelm)
		(*in).DeepCopyInto(*out)
	}
	if in.Kustomize != nil {
		in, out := &in.Kustomize, &out.Kustomize
		*out = new(ApplicationSourceKustomize)
		(*in).DeepCopyInto(*out)
	}
	if in.Directory != nil {
		in, out := &in.Directory, &out.Directory
		*out = new(ApplicationSourceDirectory)
		(*in).DeepCopyInto(*out)
	}
	if in.Plugin != nil {
		in, out := &in.Plugin, &out.Plugin
		*out = new(ApplicationSourcePlugin)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec) {
	*out = *in
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(ApplicationSource)
		(*in).DeepCopyInto(*out)
	}
	out.Destination = in.Destination
	if in.SyncPolicy != nil {
		in, out := &in.SyncPolicy, &out.SyncPolicy
		*out = new(SyncPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.IgnoreDifferences != nil {
		in, out := &in.IgnoreDifferences, &out.IgnoreDifferences
		*out = make([]ResourceIgnoreDifferences, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Info != nil {
		in, out := &in.Info, &out.Info
		*out = make([]Info, len(*in))
		copy(*out, *in)
	}
	if in.RevisionHistoryLimit != nil {
		in, out := &in.RevisionHistoryLimit, &out.RevisionHistoryLimit
		*out = new(int64)
		**out = **in
	}
	if in.Sources != nil {
		in, out := &in.Sources, &out.Sources
		*out = make(ApplicationSources, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus) {
	*out = *in
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = make([]ResourceStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Sync.DeepCopyInto(&out.Sync)
	out.Health = in.Health
	if in.History != nil {
		in, out := &in.History, &out.History
		*out = make(RevisionHistories, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ApplicationCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ReconciledAt != nil {
		in, out := &in.ReconciledAt, &out.ReconciledAt
		*out = (*in).DeepCopy()
	}
	if in.OperationState != nil {
		in, out := &in.OperationState, &out.OperationState
		*out = new(OperationState)
		(*in).DeepCopyInto(*out)
	}
	if in.ObservedAt != nil {
		in, out := &in.ObservedAt, &out.ObservedAt
		*out = (*in).DeepCopy()
	}
	in.Summary.DeepCopyInto(&out.Summary)
	if in.SourceTypes != nil {
		in, out := &in.SourceTypes, &out.SourceTypes
		*out = make([]ApplicationSourceType, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ApplicationTree) DeepCopyInto(out *ApplicationTree) {
	*out = *in
	if in.Nodes != nil {
		in, out := &in.Nodes, &out.Nodes
		*out = make([]ResourceNode, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OrphanedNodes != nil {
		in, out := &in.OrphanedNodes, &out.OrphanedNodes
		*out = make([]ResourceNode, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]HostInfo, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Cluster) DeepCopyInto(out *Cluster) {
	*out = *in
	in.Config.DeepCopyInto(&out.Config)
	in.ConnectionState.DeepCopyInto(&out.ConnectionState)
	if in.Namespaces != nil {
		in, out := &in.Namespaces, &out.Namespaces
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.RefreshRequestedAt != nil {
		in, out := &in.RefreshRequestedAt, &out.RefreshRequestedAt
		*out = (*in).DeepCopy()
	}
	in.Info.DeepCopyInto(&out.Info)
	if in.Shard != nil {
		in, out := &in.Shard, &out.Shard
		*out = new(int64)
		**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
		}
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterConfig) DeepCopyInto(out *ClusterConfig) {
	*out = *in
	in.TLSClientConfig.DeepCopyInto(&out.TLSClientConfig)
	if in.AWSAuthConfig != nil {
		in, out := &in.AWSAuthConfig, &out.AWSAuthConfig
		*out = new(AWSAuthConfig)
		**out = **in
	}
	if in.ExecProviderConfig != nil {
		in, out := &in.ExecProviderConfig, &out.ExecProviderConfig
		*out = new(ExecProviderConfig)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigManagementPlugin) DeepCopyInto(out *ConfigManagementPlugin) {
	*out = *in
	if in.Init != nil {
		in, out := &in.Init, &out.Init
		*out = new(Command)
		(*in).DeepCopyInto(*out)
	}
	in.Generate.DeepCopyInto(&out.Generate)
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DuckTypeGenerator) DeepCopyInto(out *DuckTypeGenerator) {
	*out = *in
	if in.RequeueAfterSeconds != nil {
		in, out := &in.RequeueAfterSeconds, &out.RequeueAfterSeconds
		*out = new(int64)
		**out = **in
	}
	in.LabelSelector.DeepCopyInto(&out.LabelSelector)
	in.Template.DeepCopyInto(&out.Template)
	if in.Values != nil {
		in, out := &in.Values, &out.Values
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GitGenerator) DeepCopyInto(out *GitGenerator) {
	*out = *in
	if in.Directories != nil {
		in, out := &in.Directories, &out.Directories
		*out = make([]GitDirectoryGeneratorItem, len(*in))
		copy(*out, *in)
	}
	if in.Files != nil {
		in, out := &in.Files, &out.Files
		*out = make([]GitFileGeneratorItem, len(*in))
		copy(*out, *in)
	}
	if in.RequeueAfterSeconds != nil {
		in, out := &in.RequeueAfterSeconds, &out.RequeueAfterSeconds
		*out = new(int64)
		**out = **in
	}
	in.Template.DeepCopyInto(&out.Template)
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in KustomizeImages) DeepCopyInto(out *KustomizeImages) {
	{
		in := &in
		*out = make(KustomizeImages, len(*in))
		copy(*out, *in)
		return
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedNamespaceMetadata) DeepCopyInto(out *ManagedNamespaceMetadata) {
	*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
		}
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MergeGenerator) DeepCopyInto(out *MergeGenerator) {
	*out = *in
	if in.Generators != nil {
		in, out := &in.Generators, &out.Generators
		*out = make([]ApplicationSetNestedGenerator, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.MergeKeys != nil {
		in, out := &in.MergeKeys, &out.MergeKeys
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.Template.DeepCopyInto(&out.Template)
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NestedMergeGenerator) DeepCopyInto(out *NestedMergeGenerator) {
	*out = *in
	if in.Generators != nil {
		in, out := &in.Generators, &out.Generators
		*out = make(ApplicationSetTerminalGenerators, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.MergeKeys != nil {
		in, out := &in.MergeKeys, &out.MergeKeys
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OperationState) DeepCopyInto(out *OperationState) {
	*out = *in
	in.Operation.DeepCopyInto(&out.Operation)
	if in.SyncResult != nil {
		in, out := &in.SyncResult, &out.SyncResult
		*out = new(SyncOperationResult)
		(*in).DeepCopyInto(*out)
	}
	in.StartedAt.DeepCopyInto(&out.StartedAt)
	if in.FinishedAt != nil {
		in, out := &in.FinishedAt, &out.FinishedAt
		*out = (*in).DeepCopy()
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OrphanedResourcesMonitorSettings) DeepCopyInto(out *OrphanedResourcesMonitorSettings) {
	*out = *in
	if in.Warn != nil {
		in, out := &in.Warn, &out.Warn
		*out = new(bool)
		**out = **in
	}
	if in.Ignore != nil {
		in, out := &in.Ignore, &out.Ignore
		*out = make([]OrphanedResourceKey, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PullRequestGenerator) DeepCopyInto(out *PullRequestGenerator) {
	*out = *in
	if in.Github != nil {
		in, out := &in.Github, &out.Github
		*out = new(PullRequestGeneratorGithub)
		(*in).DeepCopyInto(*out)
	}
	if in.GitLab != nil {
		in, out := &in.GitLab, &out.GitLab
		*out = new(PullRequestGeneratorGitLab)
		(*in).DeepCopyInto(*out)
	}
	if in.Gitea != nil {
		in, out := &in.Gitea, &out.Gitea
		*out = new(PullRequestGeneratorGitea)
		(*in).DeepCopyInto(*out)
	}
	if in.BitbucketServer != nil {
		in, out := &in.BitbucketServer, &out.BitbucketServer
		*out = new(PullRequestGeneratorBitbucketServer)
		(*in).DeepCopyInto(*out)
	}
	if in.Filters != nil {
		in, out := &in.Filters, &out.Filters
		*out = make([]PullRequestGeneratorFilter, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RequeueAfterSeconds != nil {
		in, out := &in.RequeueAfterSeconds, &out.RequeueAfterSeconds
		*out = new(int64)
		**out = **in
	}
	in.Template.DeepCopyInto(&out.Template)
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in RefTargetRevisionMapping) DeepCopyInto(out *RefTargetRevisionMapping) {
	{
		in := &in
		*out = make(RefTargetRevisionMapping, len(*in))
		for key, val := range *in {
			var outVal *RefTarget
			if val == nil {
				(*out)[key] = nil
			} else {
				in, out := &val, &outVal
				*out = new(RefTarget)
				(*in).DeepCopyInto(*out)
			}
			(*out)[key] = outVal
		}
		return
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceNetworkingInfo) DeepCopyInto(out *ResourceNetworkingInfo) {
	*out = *in
	if in.TargetLabels != nil {
		in, out := &in.TargetLabels, &out.TargetLabels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.TargetRefs != nil {
		in, out := &in.TargetRefs, &out.TargetRefs
		*out = make([]ResourceRef, len(*in))
		copy(*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.Ingress != nil {
		in, out := &in.Ingress, &out.Ingress
		*out = make([]corev1.LoadBalancerIngress, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ExternalURLs != nil {
		in, out := &in.ExternalURLs, &out.ExternalURLs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceNode) DeepCopyInto(out *ResourceNode) {
	*out = *in
	out.ResourceRef = in.ResourceRef
	if in.ParentRefs != nil {
		in, out := &in.ParentRefs, &out.ParentRefs
		*out = make([]ResourceRef, len(*in))
		copy(*out, *in)
	}
	if in.Info != nil {
		in, out := &in.Info, &out.Info
		*out = make([]InfoItem, len(*in))
		copy(*out, *in)
	}
	if in.NetworkingInfo != nil {
		in, out := &in.NetworkingInfo, &out.NetworkingInfo
		*out = new(ResourceNetworkingInfo)
		(*in).DeepCopyInto(*out)
	}
	if in.Images != nil {
		in, out := &in.Images, &out.Images
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Health != nil {
		in, out := &in.Health, &out.Health
		*out = new(HealthStatus)
		**out = **in
	}
	if in.CreatedAt != nil {
		in, out := &in.CreatedAt, &out.CreatedAt
		*out = (*in).DeepCopy()
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RevisionHistory) DeepCopyInto(out *RevisionHistory) {
	*out = *in
	in.DeployedAt.DeepCopyInto(&out.DeployedAt)
	in.Source.DeepCopyInto(&out.Source)
	if in.DeployStartedAt != nil {
		in, out := &in.DeployStartedAt, &out.DeployStartedAt
		*out = (*in).DeepCopy()
	}
	if in.Sources != nil {
		in, out := &in.Sources, &out.Sources
		*out = make(ApplicationSources, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Revisions != nil {
		in, out := &in.Revisions, &out.Revisions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SCMProviderGenerator) DeepCopyInto(out *SCMProviderGenerator) {
	*out = *in
	if in.Github != nil {
		in, out := &in.Github, &out.Github
		*out = new(SCMProviderGeneratorGithub)
		(*in).DeepCopyInto(*out)
	}
	if in.Gitlab != nil {
		in, out := &in.Gitlab, &out.Gitlab
		*out = new(SCMProviderGeneratorGitlab)
		(*in).DeepCopyInto(*out)
	}
	if in.Bitbucket != nil {
		in, out := &in.Bitbucket, &out.Bitbucket
		*out = new(SCMProviderGeneratorBitbucket)
		(*in).DeepCopyInto(*out)
	}
	if in.BitbucketServer != nil {
		in, out := &in.BitbucketServer, &out.BitbucketServer
		*out = new(SCMProviderGeneratorBitbucketServer)
		(*in).DeepCopyInto(*out)
	}
	if in.Gitea != nil {
		in, out := &in.Gitea, &out.Gitea
		*out = new(SCMProviderGeneratorGitea)
		(*in).DeepCopyInto(*out)
	}
	if in.AzureDevOps != nil {
		in, out := &in.AzureDevOps, &out.AzureDevOps
		*out = new(SCMProviderGeneratorAzureDevOps)
		(*in).DeepCopyInto(*out)
	}
	if in.Filters != nil {
		in, out := &in.Filters, &out.Filters
		*out = make([]SCMProviderGeneratorFilter, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.RequeueAfterSeconds != nil {
		in, out := &in.RequeueAfterSeconds, &out.RequeueAfterSeconds
		*out = new(int64)
		**out = **in
	}
	in.Template.DeepCopyInto(&out.Template)
	return
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SCMProviderGeneratorFilter) DeepCopyInto(out *SCMProviderGeneratorFilter) {
	*out = *in
	if in.RepositoryMatch != nil {
		in, out := &in.RepositoryMatch, &out.RepositoryMatch
		*out = new(string)
		**out = **in
	}
	if in.PathsExist != nil {
		in, out := &in.PathsExist, &out.PathsExist
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.PathsDoNotExist != nil {
		in, out := &in.PathsDoNotExist, &out.PathsDoNotExist
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LabelMatch != nil {
		in, out := &in.LabelMatch, &out.LabelMatch
		*out = new(string)
		**out = **in
	}
	if in.BranchMatch != nil {
		in, out := &in.BranchMatch, &out.BranchMatch
		*out = new(string)
		**out = **in
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncOperation) DeepCopyInto(out *SyncOperation) {
	*out = *in
	if in.SyncStrategy != nil {
		in, out := &in.SyncStrategy, &out.SyncStrategy
		*out = new(SyncStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = make([]SyncOperationResource, len(*in))
		copy(*out, *in)
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(ApplicationSource)
		(*in).DeepCopyInto(*out)
	}
	if in.Manifests != nil {
		in, out := &in.Manifests, &out.Manifests
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.SyncOptions != nil {
		in, out := &in.SyncOptions, &out.SyncOptions
		*out = make(SyncOptions, len(*in))
		copy(*out, *in)
	}
	if in.Sources != nil {
		in, out := &in.Sources, &out.Sources
		*out = make(ApplicationSources, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Revisions != nil {
		in, out := &in.Revisions, &out.Revisions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncOperationResult) DeepCopyInto(out *SyncOperationResult) {
	*out = *in
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = make(ResourceResults, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ResourceResult)
				**out = **in
			}
		}
	}
	in.Source.DeepCopyInto(&out.Source)
	if in.Sources != nil {
		in, out := &in.Sources, &out.Sources
		*out = make(ApplicationSources, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Revisions != nil {
		in, out := &in.Revisions, &out.Revisions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in SyncOptions) DeepCopyInto(out *SyncOptions) {
	{
		in := &in
		*out = make(SyncOptions, len(*in))
		copy(*out, *in)
		return
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncPolicy) DeepCopyInto(out *SyncPolicy) {
	*out = *in
	if in.Automated != nil {
		in, out := &in.Automated, &out.Automated
		*out = new(SyncPolicyAutomated)
		**out = **in
	}
	if in.SyncOptions != nil {
		in, out := &in.SyncOptions, &out.SyncOptions
		*out = make(SyncOptions, len(*in))
		copy(*out, *in)
	}
	if in.Retry != nil {
		in, out := &in.Retry, &out.Retry
		*out = new(RetryStrategy)
		(*in).DeepCopyInto(*out)
	}
	if in.ManagedNamespaceMetadata != nil {
		in, out := &in.ManagedNamespaceMetadata, &out.ManagedNamespaceMetadata
		*out = new(ManagedNamespaceMetadata)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SyncStrategy) DeepCopyInto(out *SyncStrategy) {
	*out = *in
	if in.Apply != nil {
		in, out := &in.Apply, &out.Apply
		*out = new(SyncStrategyApply)
		**out = **in
	}
	if in.Hook != nil {
		in, out := &in.Hook, &out.Hook
		*out = new(SyncStrategyHook)
		**out = **in
	}
	return
}

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

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

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

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

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

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

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

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

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

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

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