//go:build !ignore_autogenerated

// Copyright Chaos Mesh Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

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

package v1alpha1

import (
	"encoding/json"
	"k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"net/http"
)

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AWSChaosList) 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 *AWSChaosSpec) DeepCopyInto(out *AWSChaosSpec) {
	*out = *in
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
	if in.SecretName != nil {
		in, out := &in.SecretName, &out.SecretName
		*out = new(string)
		**out = **in
	}
	in.AWSSelector.DeepCopyInto(&out.AWSSelector)
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AttrOverrideSpec) DeepCopyInto(out *AttrOverrideSpec) {
	*out = *in
	if in.Ino != nil {
		in, out := &in.Ino, &out.Ino
		*out = new(uint64)
		**out = **in
	}
	if in.Size != nil {
		in, out := &in.Size, &out.Size
		*out = new(uint64)
		**out = **in
	}
	if in.Blocks != nil {
		in, out := &in.Blocks, &out.Blocks
		*out = new(uint64)
		**out = **in
	}
	if in.Atime != nil {
		in, out := &in.Atime, &out.Atime
		*out = new(Timespec)
		**out = **in
	}
	if in.Mtime != nil {
		in, out := &in.Mtime, &out.Mtime
		*out = new(Timespec)
		**out = **in
	}
	if in.Ctime != nil {
		in, out := &in.Ctime, &out.Ctime
		*out = new(Timespec)
		**out = **in
	}
	if in.Kind != nil {
		in, out := &in.Kind, &out.Kind
		*out = new(FileType)
		**out = **in
	}
	if in.Perm != nil {
		in, out := &in.Perm, &out.Perm
		*out = new(uint16)
		**out = **in
	}
	if in.Nlink != nil {
		in, out := &in.Nlink, &out.Nlink
		*out = new(uint32)
		**out = **in
	}
	if in.UID != nil {
		in, out := &in.UID, &out.UID
		*out = new(uint32)
		**out = **in
	}
	if in.GID != nil {
		in, out := &in.GID, &out.GID
		*out = new(uint32)
		**out = **in
	}
	if in.Rdev != nil {
		in, out := &in.Rdev, &out.Rdev
		*out = new(uint32)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *BlockChaosList) 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 *BlockChaosSpec) DeepCopyInto(out *BlockChaosSpec) {
	*out = *in
	if in.Delay != nil {
		in, out := &in.Delay, &out.Delay
		*out = new(BlockDelaySpec)
		**out = **in
	}
	in.ContainerNodeVolumePathSelector.DeepCopyInto(&out.ContainerNodeVolumePathSelector)
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EmbedChaos) DeepCopyInto(out *EmbedChaos) {
	*out = *in
	if in.AWSChaos != nil {
		in, out := &in.AWSChaos, &out.AWSChaos
		*out = new(AWSChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.AzureChaos != nil {
		in, out := &in.AzureChaos, &out.AzureChaos
		*out = new(AzureChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.BlockChaos != nil {
		in, out := &in.BlockChaos, &out.BlockChaos
		*out = new(BlockChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.DNSChaos != nil {
		in, out := &in.DNSChaos, &out.DNSChaos
		*out = new(DNSChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.GCPChaos != nil {
		in, out := &in.GCPChaos, &out.GCPChaos
		*out = new(GCPChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTPChaos != nil {
		in, out := &in.HTTPChaos, &out.HTTPChaos
		*out = new(HTTPChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.IOChaos != nil {
		in, out := &in.IOChaos, &out.IOChaos
		*out = new(IOChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.JVMChaos != nil {
		in, out := &in.JVMChaos, &out.JVMChaos
		*out = new(JVMChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.KernelChaos != nil {
		in, out := &in.KernelChaos, &out.KernelChaos
		*out = new(KernelChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.NetworkChaos != nil {
		in, out := &in.NetworkChaos, &out.NetworkChaos
		*out = new(NetworkChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.PhysicalMachineChaos != nil {
		in, out := &in.PhysicalMachineChaos, &out.PhysicalMachineChaos
		*out = new(PhysicalMachineChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.PodChaos != nil {
		in, out := &in.PodChaos, &out.PodChaos
		*out = new(PodChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.StressChaos != nil {
		in, out := &in.StressChaos, &out.StressChaos
		*out = new(StressChaosSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.TimeChaos != nil {
		in, out := &in.TimeChaos, &out.TimeChaos
		*out = new(TimeChaosSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExpInfo) DeepCopyInto(out *ExpInfo) {
	*out = *in
	if in.StressCPU != nil {
		in, out := &in.StressCPU, &out.StressCPU
		*out = new(StressCPUSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.StressMemory != nil {
		in, out := &in.StressMemory, &out.StressMemory
		*out = new(StressMemorySpec)
		(*in).DeepCopyInto(*out)
	}
	if in.DiskReadPayload != nil {
		in, out := &in.DiskReadPayload, &out.DiskReadPayload
		*out = new(DiskPayloadSpec)
		**out = **in
	}
	if in.DiskWritePayload != nil {
		in, out := &in.DiskWritePayload, &out.DiskWritePayload
		*out = new(DiskPayloadSpec)
		**out = **in
	}
	if in.DiskFill != nil {
		in, out := &in.DiskFill, &out.DiskFill
		*out = new(DiskFillSpec)
		**out = **in
	}
	if in.NetworkCorrupt != nil {
		in, out := &in.NetworkCorrupt, &out.NetworkCorrupt
		*out = new(NetworkCorruptSpec)
		**out = **in
	}
	if in.NetworkDuplicate != nil {
		in, out := &in.NetworkDuplicate, &out.NetworkDuplicate
		*out = new(NetworkDuplicateSpec)
		**out = **in
	}
	if in.NetworkLoss != nil {
		in, out := &in.NetworkLoss, &out.NetworkLoss
		*out = new(NetworkLossSpec)
		**out = **in
	}
	if in.NetworkDelay != nil {
		in, out := &in.NetworkDelay, &out.NetworkDelay
		*out = new(NetworkDelaySpec)
		**out = **in
	}
	if in.NetworkPartition != nil {
		in, out := &in.NetworkPartition, &out.NetworkPartition
		*out = new(NetworkPartitionSpec)
		**out = **in
	}
	if in.NetworkDNS != nil {
		in, out := &in.NetworkDNS, &out.NetworkDNS
		*out = new(NetworkDNSSpec)
		**out = **in
	}
	if in.NetworkBandwidth != nil {
		in, out := &in.NetworkBandwidth, &out.NetworkBandwidth
		*out = new(NetworkBandwidthSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.NetworkFlood != nil {
		in, out := &in.NetworkFlood, &out.NetworkFlood
		*out = new(NetworkFloodSpec)
		**out = **in
	}
	if in.NetworkDown != nil {
		in, out := &in.NetworkDown, &out.NetworkDown
		*out = new(NetworkDownSpec)
		**out = **in
	}
	if in.Process != nil {
		in, out := &in.Process, &out.Process
		*out = new(ProcessSpec)
		**out = **in
	}
	if in.JVMException != nil {
		in, out := &in.JVMException, &out.JVMException
		*out = new(JVMExceptionSpec)
		**out = **in
	}
	if in.JVMGC != nil {
		in, out := &in.JVMGC, &out.JVMGC
		*out = new(JVMGCSpec)
		**out = **in
	}
	if in.JVMLatency != nil {
		in, out := &in.JVMLatency, &out.JVMLatency
		*out = new(JVMLatencySpec)
		**out = **in
	}
	if in.JVMReturn != nil {
		in, out := &in.JVMReturn, &out.JVMReturn
		*out = new(JVMReturnSpec)
		**out = **in
	}
	if in.JVMStress != nil {
		in, out := &in.JVMStress, &out.JVMStress
		*out = new(JVMStressSpec)
		**out = **in
	}
	if in.JVMRuleData != nil {
		in, out := &in.JVMRuleData, &out.JVMRuleData
		*out = new(JVMRuleDataSpec)
		**out = **in
	}
	if in.JVMMySQL != nil {
		in, out := &in.JVMMySQL, &out.JVMMySQL
		*out = new(PMJVMMySQLSpec)
		**out = **in
	}
	if in.Clock != nil {
		in, out := &in.Clock, &out.Clock
		*out = new(ClockSpec)
		**out = **in
	}
	if in.RedisExpiration != nil {
		in, out := &in.RedisExpiration, &out.RedisExpiration
		*out = new(RedisExpirationSpec)
		**out = **in
	}
	if in.RedisPenetration != nil {
		in, out := &in.RedisPenetration, &out.RedisPenetration
		*out = new(RedisPenetrationSpec)
		**out = **in
	}
	if in.RedisCacheLimit != nil {
		in, out := &in.RedisCacheLimit, &out.RedisCacheLimit
		*out = new(RedisCacheLimitSpec)
		**out = **in
	}
	if in.RedisSentinelRestart != nil {
		in, out := &in.RedisSentinelRestart, &out.RedisSentinelRestart
		*out = new(RedisSentinelRestartSpec)
		**out = **in
	}
	if in.RedisSentinelStop != nil {
		in, out := &in.RedisSentinelStop, &out.RedisSentinelStop
		*out = new(RedisSentinelStopSpec)
		**out = **in
	}
	if in.KafkaFill != nil {
		in, out := &in.KafkaFill, &out.KafkaFill
		*out = new(KafkaFillSpec)
		**out = **in
	}
	if in.KafkaFlood != nil {
		in, out := &in.KafkaFlood, &out.KafkaFlood
		*out = new(KafkaFloodSpec)
		**out = **in
	}
	if in.KafkaIO != nil {
		in, out := &in.KafkaIO, &out.KafkaIO
		*out = new(KafkaIOSpec)
		**out = **in
	}
	if in.HTTPAbort != nil {
		in, out := &in.HTTPAbort, &out.HTTPAbort
		*out = new(HTTPAbortSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTPDelay != nil {
		in, out := &in.HTTPDelay, &out.HTTPDelay
		*out = new(HTTPDelaySpec)
		(*in).DeepCopyInto(*out)
	}
	if in.HTTPConfig != nil {
		in, out := &in.HTTPConfig, &out.HTTPConfig
		*out = new(HTTPConfigSpec)
		**out = **in
	}
	if in.HTTPRequest != nil {
		in, out := &in.HTTPRequest, &out.HTTPRequest
		*out = new(HTTPRequestSpec)
		**out = **in
	}
	if in.FileCreate != nil {
		in, out := &in.FileCreate, &out.FileCreate
		*out = new(FileCreateSpec)
		**out = **in
	}
	if in.FileModifyPrivilege != nil {
		in, out := &in.FileModifyPrivilege, &out.FileModifyPrivilege
		*out = new(FileModifyPrivilegeSpec)
		**out = **in
	}
	if in.FileDelete != nil {
		in, out := &in.FileDelete, &out.FileDelete
		*out = new(FileDeleteSpec)
		**out = **in
	}
	if in.FileRename != nil {
		in, out := &in.FileRename, &out.FileRename
		*out = new(FileRenameSpec)
		**out = **in
	}
	if in.FileAppend != nil {
		in, out := &in.FileAppend, &out.FileAppend
		*out = new(FileAppendSpec)
		**out = **in
	}
	if in.FileReplace != nil {
		in, out := &in.FileReplace, &out.FileReplace
		*out = new(FileReplaceSpec)
		**out = **in
	}
	if in.VM != nil {
		in, out := &in.VM, &out.VM
		*out = new(VMSpec)
		**out = **in
	}
	if in.UserDefined != nil {
		in, out := &in.UserDefined, &out.UserDefined
		*out = new(UserDefinedSpec)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GCPChaosList) 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 *GCPChaosSpec) DeepCopyInto(out *GCPChaosSpec) {
	*out = *in
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
	if in.SecretName != nil {
		in, out := &in.SecretName, &out.SecretName
		*out = new(string)
		**out = **in
	}
	in.GCPSelector.DeepCopyInto(&out.GCPSelector)
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GenericSelectorSpec) DeepCopyInto(out *GenericSelectorSpec) {
	*out = *in
	if in.Namespaces != nil {
		in, out := &in.Namespaces, &out.Namespaces
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.FieldSelectors != nil {
		in, out := &in.FieldSelectors, &out.FieldSelectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.LabelSelectors != nil {
		in, out := &in.LabelSelectors, &out.LabelSelectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ExpressionSelectors != nil {
		in, out := &in.ExpressionSelectors, &out.ExpressionSelectors
		*out = make(LabelSelectorRequirements, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.AnnotationSelectors != nil {
		in, out := &in.AnnotationSelectors, &out.AnnotationSelectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *HTTPChaosList) 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 *HTTPChaosSpec) DeepCopyInto(out *HTTPChaosSpec) {
	*out = *in
	in.PodSelector.DeepCopyInto(&out.PodSelector)
	in.PodHttpChaosActions.DeepCopyInto(&out.PodHttpChaosActions)
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.Method != nil {
		in, out := &in.Method, &out.Method
		*out = new(string)
		**out = **in
	}
	if in.Code != nil {
		in, out := &in.Code, &out.Code
		*out = new(int32)
		**out = **in
	}
	if in.RequestHeaders != nil {
		in, out := &in.RequestHeaders, &out.RequestHeaders
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ResponseHeaders != nil {
		in, out := &in.ResponseHeaders, &out.ResponseHeaders
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(PodHttpChaosTLS)
		(*in).DeepCopyInto(*out)
	}
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPStatusCheck) DeepCopyInto(out *HTTPStatusCheck) {
	*out = *in
	if in.RequestHeaders != nil {
		in, out := &in.RequestHeaders, &out.RequestHeaders
		*out = make(http.Header, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	out.Criteria = in.Criteria
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *IOChaos) 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 *IOChaosAction) DeepCopyInto(out *IOChaosAction) {
	*out = *in
	in.Filter.DeepCopyInto(&out.Filter)
	if in.Faults != nil {
		in, out := &in.Faults, &out.Faults
		*out = make([]IoFault, len(*in))
		copy(*out, *in)
	}
	if in.AttrOverrideSpec != nil {
		in, out := &in.AttrOverrideSpec, &out.AttrOverrideSpec
		*out = new(AttrOverrideSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.MistakeSpec != nil {
		in, out := &in.MistakeSpec, &out.MistakeSpec
		*out = new(MistakeSpec)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *IOChaosList) 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 *IOChaosSpec) DeepCopyInto(out *IOChaosSpec) {
	*out = *in
	in.ContainerSelector.DeepCopyInto(&out.ContainerSelector)
	if in.Attr != nil {
		in, out := &in.Attr, &out.Attr
		*out = new(AttrOverrideSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Mistake != nil {
		in, out := &in.Mistake, &out.Mistake
		*out = new(MistakeSpec)
		**out = **in
	}
	if in.Methods != nil {
		in, out := &in.Methods, &out.Methods
		*out = make([]IoMethod, len(*in))
		copy(*out, *in)
	}
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *JVMChaosList) 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 *JVMChaosSpec) DeepCopyInto(out *JVMChaosSpec) {
	*out = *in
	in.ContainerSelector.DeepCopyInto(&out.ContainerSelector)
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
	out.JVMParameter = in.JVMParameter
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *KernelChaosList) 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 *KernelChaosSpec) DeepCopyInto(out *KernelChaosSpec) {
	*out = *in
	in.ContainerSelector.DeepCopyInto(&out.ContainerSelector)
	in.FailKernRequest.DeepCopyInto(&out.FailKernRequest)
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PhysicalMachineChaosList) 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 *PhysicalMachineChaosSpec) DeepCopyInto(out *PhysicalMachineChaosSpec) {
	*out = *in
	in.PhysicalMachineSelector.DeepCopyInto(&out.PhysicalMachineSelector)
	in.ExpInfo.DeepCopyInto(&out.ExpInfo)
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PhysicalMachineSelectorSpec) DeepCopyInto(out *PhysicalMachineSelectorSpec) {
	*out = *in
	in.GenericSelectorSpec.DeepCopyInto(&out.GenericSelectorSpec)
	if in.PhysicalMachines != nil {
		in, out := &in.PhysicalMachines, &out.PhysicalMachines
		*out = make(map[string][]string, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PodHttpChaos) 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 *PodHttpChaosActions) DeepCopyInto(out *PodHttpChaosActions) {
	*out = *in
	if in.Abort != nil {
		in, out := &in.Abort, &out.Abort
		*out = new(bool)
		**out = **in
	}
	if in.Delay != nil {
		in, out := &in.Delay, &out.Delay
		*out = new(string)
		**out = **in
	}
	if in.Replace != nil {
		in, out := &in.Replace, &out.Replace
		*out = new(PodHttpChaosReplaceActions)
		(*in).DeepCopyInto(*out)
	}
	if in.Patch != nil {
		in, out := &in.Patch, &out.Patch
		*out = new(PodHttpChaosPatchActions)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PodHttpChaosList) 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 *PodHttpChaosPatchActions) DeepCopyInto(out *PodHttpChaosPatchActions) {
	*out = *in
	if in.Body != nil {
		in, out := &in.Body, &out.Body
		*out = new(PodHttpChaosPatchBodyAction)
		**out = **in
	}
	if in.Queries != nil {
		in, out := &in.Queries, &out.Queries
		*out = make([][]string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
		}
	}
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make([][]string, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodHttpChaosReplaceActions) DeepCopyInto(out *PodHttpChaosReplaceActions) {
	*out = *in
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.Method != nil {
		in, out := &in.Method, &out.Method
		*out = new(string)
		**out = **in
	}
	if in.Code != nil {
		in, out := &in.Code, &out.Code
		*out = new(int32)
		**out = **in
	}
	if in.Body != nil {
		in, out := &in.Body, &out.Body
		*out = make([]byte, len(*in))
		copy(*out, *in)
	}
	if in.Queries != nil {
		in, out := &in.Queries, &out.Queries
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Headers != nil {
		in, out := &in.Headers, &out.Headers
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodHttpChaosSelector) DeepCopyInto(out *PodHttpChaosSelector) {
	*out = *in
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int32)
		**out = **in
	}
	if in.Path != nil {
		in, out := &in.Path, &out.Path
		*out = new(string)
		**out = **in
	}
	if in.Method != nil {
		in, out := &in.Method, &out.Method
		*out = new(string)
		**out = **in
	}
	if in.Code != nil {
		in, out := &in.Code, &out.Code
		*out = new(int32)
		**out = **in
	}
	if in.RequestHeaders != nil {
		in, out := &in.RequestHeaders, &out.RequestHeaders
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ResponseHeaders != nil {
		in, out := &in.ResponseHeaders, &out.ResponseHeaders
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PodIOChaosList) 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 *PodIOChaosSpec) DeepCopyInto(out *PodIOChaosSpec) {
	*out = *in
	if in.Container != nil {
		in, out := &in.Container, &out.Container
		*out = new(string)
		**out = **in
	}
	if in.Actions != nil {
		in, out := &in.Actions, &out.Actions
		*out = make([]IOChaosAction, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *PodNetworkChaosList) 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 *PodNetworkChaosSpec) DeepCopyInto(out *PodNetworkChaosSpec) {
	*out = *in
	if in.IPSets != nil {
		in, out := &in.IPSets, &out.IPSets
		*out = make([]RawIPSet, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Iptables != nil {
		in, out := &in.Iptables, &out.Iptables
		*out = make([]RawIptables, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.TrafficControls != nil {
		in, out := &in.TrafficControls, &out.TrafficControls
		*out = make([]RawTrafficControl, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodSelectorSpec) DeepCopyInto(out *PodSelectorSpec) {
	*out = *in
	in.GenericSelectorSpec.DeepCopyInto(&out.GenericSelectorSpec)
	if in.Nodes != nil {
		in, out := &in.Nodes, &out.Nodes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Pods != nil {
		in, out := &in.Pods, &out.Pods
		*out = make(map[string][]string, len(*in))
		for key, val := range *in {
			var outVal []string
			if val == nil {
				(*out)[key] = nil
			} else {
				inVal := (*in)[key]
				in, out := &inVal, &outVal
				*out = make([]string, len(*in))
				copy(*out, *in)
			}
			(*out)[key] = outVal
		}
	}
	if in.NodeSelectors != nil {
		in, out := &in.NodeSelectors, &out.NodeSelectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.PodPhaseSelectors != nil {
		in, out := &in.PodPhaseSelectors, &out.PodPhaseSelectors
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RemoteCluster) 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 *RemoteClusterCondition) DeepCopyInto(out *RemoteClusterCondition) {
	*out = *in
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RemoteClusterList) 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 *RemoteClusterSecretRef) DeepCopyInto(out *RemoteClusterSecretRef) {
	*out = *in
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RemoteClusterSpec) DeepCopyInto(out *RemoteClusterSpec) {
	*out = *in
	out.KubeConfig = in.KubeConfig
	if in.ConfigOverride != nil {
		in, out := &in.ConfigOverride, &out.ConfigOverride
		*out = make(json.RawMessage, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *StressChaosList) 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 *StressChaosSpec) DeepCopyInto(out *StressChaosSpec) {
	*out = *in
	in.ContainerSelector.DeepCopyInto(&out.ContainerSelector)
	if in.Stressors != nil {
		in, out := &in.Stressors, &out.Stressors
		*out = new(Stressors)
		(*in).DeepCopyInto(*out)
	}
	if in.Duration != nil {
		in, out := &in.Duration, &out.Duration
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Task) DeepCopyInto(out *Task) {
	*out = *in
	if in.Container != nil {
		in, out := &in.Container, &out.Container
		*out = new(v1.Container)
		(*in).DeepCopyInto(*out)
	}
	if in.Volumes != nil {
		in, out := &in.Volumes, &out.Volumes
		*out = make([]v1.Volume, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	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
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TcParameter) DeepCopyInto(out *TcParameter) {
	*out = *in
	if in.Delay != nil {
		in, out := &in.Delay, &out.Delay
		*out = new(DelaySpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Loss != nil {
		in, out := &in.Loss, &out.Loss
		*out = new(LossSpec)
		**out = **in
	}
	if in.Duplicate != nil {
		in, out := &in.Duplicate, &out.Duplicate
		*out = new(DuplicateSpec)
		**out = **in
	}
	if in.Corrupt != nil {
		in, out := &in.Corrupt, &out.Corrupt
		*out = new(CorruptSpec)
		**out = **in
	}
	if in.Bandwidth != nil {
		in, out := &in.Bandwidth, &out.Bandwidth
		*out = new(BandwidthSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Rate != nil {
		in, out := &in.Rate, &out.Rate
		*out = new(RateSpec)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Template) DeepCopyInto(out *Template) {
	*out = *in
	if in.Deadline != nil {
		in, out := &in.Deadline, &out.Deadline
		*out = new(string)
		**out = **in
	}
	if in.Task != nil {
		in, out := &in.Task, &out.Task
		*out = new(Task)
		(*in).DeepCopyInto(*out)
	}
	if in.Children != nil {
		in, out := &in.Children, &out.Children
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ConditionalBranches != nil {
		in, out := &in.ConditionalBranches, &out.ConditionalBranches
		*out = make([]ConditionalBranch, len(*in))
		copy(*out, *in)
	}
	if in.EmbedChaos != nil {
		in, out := &in.EmbedChaos, &out.EmbedChaos
		*out = new(EmbedChaos)
		(*in).DeepCopyInto(*out)
	}
	if in.Schedule != nil {
		in, out := &in.Schedule, &out.Schedule
		*out = new(ChaosOnlyScheduleSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.StatusCheck != nil {
		in, out := &in.StatusCheck, &out.StatusCheck
		*out = new(StatusCheckSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *WorkflowNode) 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 *WorkflowNodeCondition) DeepCopyInto(out *WorkflowNodeCondition) {
	*out = *in
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *WorkflowNodeList) 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 *WorkflowNodeSpec) DeepCopyInto(out *WorkflowNodeSpec) {
	*out = *in
	if in.StartTime != nil {
		in, out := &in.StartTime, &out.StartTime
		*out = (*in).DeepCopy()
	}
	if in.Deadline != nil {
		in, out := &in.Deadline, &out.Deadline
		*out = (*in).DeepCopy()
	}
	if in.Task != nil {
		in, out := &in.Task, &out.Task
		*out = new(Task)
		(*in).DeepCopyInto(*out)
	}
	if in.Children != nil {
		in, out := &in.Children, &out.Children
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ConditionalBranches != nil {
		in, out := &in.ConditionalBranches, &out.ConditionalBranches
		*out = make([]ConditionalBranch, len(*in))
		copy(*out, *in)
	}
	if in.EmbedChaos != nil {
		in, out := &in.EmbedChaos, &out.EmbedChaos
		*out = new(EmbedChaos)
		(*in).DeepCopyInto(*out)
	}
	if in.Schedule != nil {
		in, out := &in.Schedule, &out.Schedule
		*out = new(ScheduleSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.StatusCheck != nil {
		in, out := &in.StatusCheck, &out.StatusCheck
		*out = new(StatusCheckSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WorkflowNodeStatus) DeepCopyInto(out *WorkflowNodeStatus) {
	*out = *in
	if in.ChaosResource != nil {
		in, out := &in.ChaosResource, &out.ChaosResource
		*out = new(v1.TypedLocalObjectReference)
		(*in).DeepCopyInto(*out)
	}
	if in.ConditionalBranchesStatus != nil {
		in, out := &in.ConditionalBranchesStatus, &out.ConditionalBranchesStatus
		*out = new(ConditionalBranchesStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.ActiveChildren != nil {
		in, out := &in.ActiveChildren, &out.ActiveChildren
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	if in.FinishedChildren != nil {
		in, out := &in.FinishedChildren, &out.FinishedChildren
		*out = make([]v1.LocalObjectReference, len(*in))
		copy(*out, *in)
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]WorkflowNodeCondition, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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