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

// Copyright Contributors to the Open Cluster Management project
// Code generated by deepcopy-gen. DO NOT EDIT.

package v1beta1

import (
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Placement) 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 *PlacementDecision) DeepCopyInto(out *PlacementDecision) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Status.DeepCopyInto(&out.Status)
	return
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PlacementList) 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 *PlacementSpec) DeepCopyInto(out *PlacementSpec) {
	*out = *in
	if in.ClusterSets != nil {
		in, out := &in.ClusterSets, &out.ClusterSets
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NumberOfClusters != nil {
		in, out := &in.NumberOfClusters, &out.NumberOfClusters
		*out = new(int32)
		**out = **in
	}
	if in.Predicates != nil {
		in, out := &in.Predicates, &out.Predicates
		*out = make([]ClusterPredicate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.PrioritizerPolicy.DeepCopyInto(&out.PrioritizerPolicy)
	in.SpreadPolicy.DeepCopyInto(&out.SpreadPolicy)
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.DecisionStrategy.DeepCopyInto(&out.DecisionStrategy)
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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