func (in *FluentdDrainConfig) DeepCopy() *FluentdDrainConfig {
	if in == nil {
		return nil
	}
	out := new(FluentdDrainConfig)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FluentdDrainConfig.
package v1beta1
import (
	"github.com/banzaicloud/logging-operator/pkg/sdk/model/filter"
	"github.com/banzaicloud/logging-operator/pkg/sdk/model/input"
	"github.com/banzaicloud/logging-operator/pkg/sdk/model/output"
	"github.com/banzaicloud/operator-tools/pkg/typeoverride"
	"github.com/banzaicloud/operator-tools/pkg/volume"
	monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
	"k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/runtime"
)
func (in *BufferStorage) DeepCopyInto(out *BufferStorage) {
	*out = *in
}
func (in *BufferStorage) DeepCopy() *BufferStorage {
	if in == nil {
		return nil
	}
	out := new(BufferStorage)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterExclude) DeepCopyInto(out *ClusterExclude) {
	*out = *in
	if in.Namespaces != nil {
		in, out := &in.Namespaces, &out.Namespaces
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ContainerNames != nil {
		in, out := &in.ContainerNames, &out.ContainerNames
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *ClusterExclude) DeepCopy() *ClusterExclude {
	if in == nil {
		return nil
	}
	out := new(ClusterExclude)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterFlow) DeepCopyInto(out *ClusterFlow) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ClusterFlow) DeepCopy() *ClusterFlow {
	if in == nil {
		return nil
	}
	out := new(ClusterFlow)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterFlow) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterFlowList) DeepCopyInto(out *ClusterFlowList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterFlow, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClusterFlowList) DeepCopy() *ClusterFlowList {
	if in == nil {
		return nil
	}
	out := new(ClusterFlowList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterFlowList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterFlowSpec) DeepCopyInto(out *ClusterFlowSpec) {
	*out = *in
	if in.Selectors != nil {
		in, out := &in.Selectors, &out.Selectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Match != nil {
		in, out := &in.Match, &out.Match
		*out = make([]ClusterMatch, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Filters != nil {
		in, out := &in.Filters, &out.Filters
		*out = make([]Filter, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OutputRefs != nil {
		in, out := &in.OutputRefs, &out.OutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.GlobalOutputRefs != nil {
		in, out := &in.GlobalOutputRefs, &out.GlobalOutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *ClusterFlowSpec) DeepCopy() *ClusterFlowSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterFlowSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterMatch) DeepCopyInto(out *ClusterMatch) {
	*out = *in
	if in.ClusterSelect != nil {
		in, out := &in.ClusterSelect, &out.ClusterSelect
		*out = new(ClusterSelect)
		(*in).DeepCopyInto(*out)
	}
	if in.ClusterExclude != nil {
		in, out := &in.ClusterExclude, &out.ClusterExclude
		*out = new(ClusterExclude)
		(*in).DeepCopyInto(*out)
	}
}
func (in *ClusterMatch) DeepCopy() *ClusterMatch {
	if in == nil {
		return nil
	}
	out := new(ClusterMatch)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterOutput) DeepCopyInto(out *ClusterOutput) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ClusterOutput) DeepCopy() *ClusterOutput {
	if in == nil {
		return nil
	}
	out := new(ClusterOutput)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterOutput) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterOutputList) DeepCopyInto(out *ClusterOutputList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterOutput, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ClusterOutputList) DeepCopy() *ClusterOutputList {
	if in == nil {
		return nil
	}
	out := new(ClusterOutputList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterOutputList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterOutputSpec) DeepCopyInto(out *ClusterOutputSpec) {
	*out = *in
	in.OutputSpec.DeepCopyInto(&out.OutputSpec)
	if in.EnabledNamespaces != nil {
		in, out := &in.EnabledNamespaces, &out.EnabledNamespaces
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *ClusterOutputSpec) DeepCopy() *ClusterOutputSpec {
	if in == nil {
		return nil
	}
	out := new(ClusterOutputSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterSelect) DeepCopyInto(out *ClusterSelect) {
	*out = *in
	if in.Namespaces != nil {
		in, out := &in.Namespaces, &out.Namespaces
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ContainerNames != nil {
		in, out := &in.ContainerNames, &out.ContainerNames
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *ClusterSelect) DeepCopy() *ClusterSelect {
	if in == nil {
		return nil
	}
	out := new(ClusterSelect)
	in.DeepCopyInto(out)
	return out
}
func (in *DefaultFlowSpec) DeepCopyInto(out *DefaultFlowSpec) {
	*out = *in
	if in.Filters != nil {
		in, out := &in.Filters, &out.Filters
		*out = make([]Filter, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OutputRefs != nil {
		in, out := &in.OutputRefs, &out.OutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.GlobalOutputRefs != nil {
		in, out := &in.GlobalOutputRefs, &out.GlobalOutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *DefaultFlowSpec) DeepCopy() *DefaultFlowSpec {
	if in == nil {
		return nil
	}
	out := new(DefaultFlowSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Exclude) DeepCopyInto(out *Exclude) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Hosts != nil {
		in, out := &in.Hosts, &out.Hosts
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ContainerNames != nil {
		in, out := &in.ContainerNames, &out.ContainerNames
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *Exclude) DeepCopy() *Exclude {
	if in == nil {
		return nil
	}
	out := new(Exclude)
	in.DeepCopyInto(out)
	return out
}
func (in *Filter) DeepCopyInto(out *Filter) {
	*out = *in
	if in.StdOut != nil {
		in, out := &in.StdOut, &out.StdOut
		*out = new(filter.StdOutFilterConfig)
		**out = **in
	}
	if in.Parser != nil {
		in, out := &in.Parser, &out.Parser
		*out = new(filter.ParserConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.TagNormaliser != nil {
		in, out := &in.TagNormaliser, &out.TagNormaliser
		*out = new(filter.TagNormaliser)
		**out = **in
	}
	if in.Dedot != nil {
		in, out := &in.Dedot, &out.Dedot
		*out = new(filter.DedotFilterConfig)
		**out = **in
	}
	if in.RecordTransformer != nil {
		in, out := &in.RecordTransformer, &out.RecordTransformer
		*out = new(filter.RecordTransformer)
		(*in).DeepCopyInto(*out)
	}
	if in.RecordModifier != nil {
		in, out := &in.RecordModifier, &out.RecordModifier
		*out = new(filter.RecordModifier)
		(*in).DeepCopyInto(*out)
	}
	if in.GeoIP != nil {
		in, out := &in.GeoIP, &out.GeoIP
		*out = new(filter.GeoIP)
		(*in).DeepCopyInto(*out)
	}
	if in.Concat != nil {
		in, out := &in.Concat, &out.Concat
		*out = new(filter.Concat)
		**out = **in
	}
	if in.DetectExceptions != nil {
		in, out := &in.DetectExceptions, &out.DetectExceptions
		*out = new(filter.DetectExceptions)
		(*in).DeepCopyInto(*out)
	}
	if in.Grep != nil {
		in, out := &in.Grep, &out.Grep
		*out = new(filter.GrepConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Prometheus != nil {
		in, out := &in.Prometheus, &out.Prometheus
		*out = new(filter.PrometheusConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.Throttle != nil {
		in, out := &in.Throttle, &out.Throttle
		*out = new(filter.Throttle)
		**out = **in
	}
	if in.SumoLogic != nil {
		in, out := &in.SumoLogic, &out.SumoLogic
		*out = new(filter.SumoLogic)
		(*in).DeepCopyInto(*out)
	}
	if in.EnhanceK8s != nil {
		in, out := &in.EnhanceK8s, &out.EnhanceK8s
		*out = new(filter.EnhanceK8s)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeEventsTimestamp != nil {
		in, out := &in.KubeEventsTimestamp, &out.KubeEventsTimestamp
		*out = new(filter.KubeEventsTimestampConfig)
		(*in).DeepCopyInto(*out)
	}
}
func (in *Filter) DeepCopy() *Filter {
	if in == nil {
		return nil
	}
	out := new(Filter)
	in.DeepCopyInto(out)
	return out
}
func (in *FilterAws) DeepCopyInto(out *FilterAws) {
	*out = *in
	if in.AZ != nil {
		in, out := &in.AZ, &out.AZ
		*out = new(bool)
		**out = **in
	}
	if in.Ec2InstanceID != nil {
		in, out := &in.Ec2InstanceID, &out.Ec2InstanceID
		*out = new(bool)
		**out = **in
	}
	if in.Ec2InstanceType != nil {
		in, out := &in.Ec2InstanceType, &out.Ec2InstanceType
		*out = new(bool)
		**out = **in
	}
	if in.PrivateIP != nil {
		in, out := &in.PrivateIP, &out.PrivateIP
		*out = new(bool)
		**out = **in
	}
	if in.AmiID != nil {
		in, out := &in.AmiID, &out.AmiID
		*out = new(bool)
		**out = **in
	}
	if in.AccountID != nil {
		in, out := &in.AccountID, &out.AccountID
		*out = new(bool)
		**out = **in
	}
	if in.Hostname != nil {
		in, out := &in.Hostname, &out.Hostname
		*out = new(bool)
		**out = **in
	}
	if in.VpcID != nil {
		in, out := &in.VpcID, &out.VpcID
		*out = new(bool)
		**out = **in
	}
}
func (in *FilterAws) DeepCopy() *FilterAws {
	if in == nil {
		return nil
	}
	out := new(FilterAws)
	in.DeepCopyInto(out)
	return out
}
func (in *FilterKubernetes) DeepCopyInto(out *FilterKubernetes) {
	*out = *in
}
func (in *FilterKubernetes) DeepCopy() *FilterKubernetes {
	if in == nil {
		return nil
	}
	out := new(FilterKubernetes)
	in.DeepCopyInto(out)
	return out
}
func (in *Flow) DeepCopyInto(out *Flow) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *Flow) DeepCopy() *Flow {
	if in == nil {
		return nil
	}
	out := new(Flow)
	in.DeepCopyInto(out)
	return out
}
func (in *Flow) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *FlowList) DeepCopyInto(out *FlowList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Flow, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *FlowList) DeepCopy() *FlowList {
	if in == nil {
		return nil
	}
	out := new(FlowList)
	in.DeepCopyInto(out)
	return out
}
func (in *FlowList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *FlowSpec) DeepCopyInto(out *FlowSpec) {
	*out = *in
	if in.Selectors != nil {
		in, out := &in.Selectors, &out.Selectors
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Match != nil {
		in, out := &in.Match, &out.Match
		*out = make([]Match, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Filters != nil {
		in, out := &in.Filters, &out.Filters
		*out = make([]Filter, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OutputRefs != nil {
		in, out := &in.OutputRefs, &out.OutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.GlobalOutputRefs != nil {
		in, out := &in.GlobalOutputRefs, &out.GlobalOutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LocalOutputRefs != nil {
		in, out := &in.LocalOutputRefs, &out.LocalOutputRefs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *FlowSpec) DeepCopy() *FlowSpec {
	if in == nil {
		return nil
	}
	out := new(FlowSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *FlowStatus) DeepCopyInto(out *FlowStatus) {
	*out = *in
	if in.Active != nil {
		in, out := &in.Active, &out.Active
		*out = new(bool)
		**out = **in
	}
	if in.Problems != nil {
		in, out := &in.Problems, &out.Problems
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *FlowStatus) DeepCopy() *FlowStatus {
	if in == nil {
		return nil
	}
	out := new(FlowStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *FluentOutLogrotate) DeepCopyInto(out *FluentOutLogrotate) {
	*out = *in
}
func (in *FluentOutLogrotate) DeepCopy() *FluentOutLogrotate {
	if in == nil {
		return nil
	}
	out := new(FluentOutLogrotate)
	in.DeepCopyInto(out)
	return out
}
func (in *FluentbitNetwork) DeepCopyInto(out *FluentbitNetwork) {
	*out = *in
	if in.ConnectTimeout != nil {
		in, out := &in.ConnectTimeout, &out.ConnectTimeout
		*out = new(uint32)
		**out = **in
	}
	if in.Keepalive != nil {
		in, out := &in.Keepalive, &out.Keepalive
		*out = new(bool)
		**out = **in
	}
	if in.KeepaliveIdleTimeout != nil {
		in, out := &in.KeepaliveIdleTimeout, &out.KeepaliveIdleTimeout
		*out = new(uint32)
		**out = **in
	}
	if in.KeepaliveMaxRecycle != nil {
		in, out := &in.KeepaliveMaxRecycle, &out.KeepaliveMaxRecycle
		*out = new(uint32)
		**out = **in
	}
}
func (in *FluentbitNetwork) DeepCopy() *FluentbitNetwork {
	if in == nil {
		return nil
	}
	out := new(FluentbitNetwork)
	in.DeepCopyInto(out)
	return out
}
func (in *FluentbitSpec) DeepCopyInto(out *FluentbitSpec) {
	*out = *in
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.EnvVars != nil {
		in, out := &in.EnvVars, &out.EnvVars
		*out = make([]v1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.Image.DeepCopyInto(&out.Image)
	if in.TLS != nil {
		in, out := &in.TLS, &out.TLS
		*out = new(FluentbitTLS)
		(*in).DeepCopyInto(*out)
	}
	in.Resources.DeepCopyInto(&out.Resources)
	if in.Tolerations != nil {
		in, out := &in.Tolerations, &out.Tolerations
		*out = make([]v1.Toleration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.NodeSelector != nil {
		in, out := &in.NodeSelector, &out.NodeSelector
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Affinity != nil {
		in, out := &in.Affinity, &out.Affinity
		*out = new(v1.Affinity)
		(*in).DeepCopyInto(*out)
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(Metrics)
		(*in).DeepCopyInto(*out)
	}
	if in.Security != nil {
		in, out := &in.Security, &out.Security
		*out = new(Security)
		(*in).DeepCopyInto(*out)
	}
	in.PositionDB.DeepCopyInto(&out.PositionDB)
	if in.PosisionDBLegacy != nil {
		in, out := &in.PosisionDBLegacy, &out.PosisionDBLegacy
		*out = new(volume.KubernetesVolume)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtraVolumeMounts != nil {
		in, out := &in.ExtraVolumeMounts, &out.ExtraVolumeMounts
		*out = make([]*VolumeMount, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(VolumeMount)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	in.InputTail.DeepCopyInto(&out.InputTail)
	if in.FilterAws != nil {
		in, out := &in.FilterAws, &out.FilterAws
		*out = new(FilterAws)
		(*in).DeepCopyInto(*out)
	}
	out.FilterKubernetes = in.FilterKubernetes
	if in.DisableKubernetesFilter != nil {
		in, out := &in.DisableKubernetesFilter, &out.DisableKubernetesFilter
		*out = new(bool)
		**out = **in
	}
	out.BufferStorage = in.BufferStorage
	in.BufferStorageVolume.DeepCopyInto(&out.BufferStorageVolume)
	if in.LivenessProbe != nil {
		in, out := &in.LivenessProbe, &out.LivenessProbe
		*out = new(v1.Probe)
		(*in).DeepCopyInto(*out)
	}
	if in.ReadinessProbe != nil {
		in, out := &in.ReadinessProbe, &out.ReadinessProbe
		*out = new(v1.Probe)
		(*in).DeepCopyInto(*out)
	}
	if in.Network != nil {
		in, out := &in.Network, &out.Network
		*out = new(FluentbitNetwork)
		(*in).DeepCopyInto(*out)
	}
	if in.ForwardOptions != nil {
		in, out := &in.ForwardOptions, &out.ForwardOptions
		*out = new(ForwardOptions)
		**out = **in
	}
	if in.ServiceAccountOverrides != nil {
		in, out := &in.ServiceAccountOverrides, &out.ServiceAccountOverrides
		*out = new(typeoverride.ServiceAccount)
		(*in).DeepCopyInto(*out)
	}
	if in.DNSConfig != nil {
		in, out := &in.DNSConfig, &out.DNSConfig
		*out = new(v1.PodDNSConfig)
		(*in).DeepCopyInto(*out)
	}
}
func (in *FluentbitSpec) DeepCopy() *FluentbitSpec {
	if in == nil {
		return nil
	}
	out := new(FluentbitSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *FluentbitTLS) DeepCopyInto(out *FluentbitTLS) {
	*out = *in
	if in.Enabled != nil {
		in, out := &in.Enabled, &out.Enabled
		*out = new(bool)
		**out = **in
	}
}
func (in *FluentbitTLS) DeepCopy() *FluentbitTLS {
	if in == nil {
		return nil
	}
	out := new(FluentbitTLS)
	in.DeepCopyInto(out)
	return out
}
func (in *FluentdDrainConfig) DeepCopyInto(out *FluentdDrainConfig) {
	*out = *in
	in.Image.DeepCopyInto(&out.Image)
}