/*
Copyright 2016 The Kubernetes 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.
*/

// ************************************************************
// DO NOT EDIT.
// THIS FILE IS AUTO-GENERATED BY codecgen.
// ************************************************************

package api

import (
	"errors"
	"fmt"
	codec1978 "github.com/ugorji/go/codec"
	pkg3_resource "k8s.io/client-go/pkg/api/resource"
	pkg2_unversioned "k8s.io/client-go/pkg/api/unversioned"
	pkg6_fields "k8s.io/client-go/pkg/fields"
	pkg5_labels "k8s.io/client-go/pkg/labels"
	pkg7_runtime "k8s.io/client-go/pkg/runtime"
	pkg1_types "k8s.io/client-go/pkg/types"
	pkg4_intstr "k8s.io/client-go/pkg/util/intstr"
	"reflect"
	"runtime"
	time "time"
)

const (
	// ----- content types ----
	codecSelferC_UTF81234 = 1
	codecSelferC_RAW1234  = 0
	// ----- value types used ----
	codecSelferValueTypeArray1234 = 10
	codecSelferValueTypeMap1234   = 9
	// ----- containerStateValues ----
	codecSelfer_containerMapKey1234    = 2
	codecSelfer_containerMapValue1234  = 3
	codecSelfer_containerMapEnd1234    = 4
	codecSelfer_containerArrayElem1234 = 6
	codecSelfer_containerArrayEnd1234  = 7
)

var (
	codecSelferBitsize1234                         = uint8(reflect.TypeOf(uint(0)).Bits())
	codecSelferOnlyMapOrArrayEncodeToStructErr1234 = errors.New(`only encoded map or array can be decoded into a struct`)
)

type codecSelfer1234 struct{}

func init() {
	if codec1978.GenVersion != 5 {
		_, file, _, _ := runtime.Caller(0)
		err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
			5, codec1978.GenVersion, file)
		panic(err)
	}
	if false { // reference the types, but skip this branch at build/run time
		var v0 pkg3_resource.Quantity
		var v1 pkg2_unversioned.Time
		var v2 pkg6_fields.Selector
		var v3 pkg5_labels.Selector
		var v4 pkg7_runtime.Object
		var v5 pkg1_types.UID
		var v6 pkg4_intstr.IntOrString
		var v7 time.Time
		_, _, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6, v7
	}
}

func (x *ObjectMeta) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1 := z.EncBinary()
		_ = yym1
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2 := !z.EncBinary()
			yy2arr2 := z.EncBasicHandle().StructToArray
			var yyq2 [15]bool
			_, _, _ = yysep2, yyq2, yy2arr2
			const yyr2 bool = false
			yyq2[0] = x.Name != ""
			yyq2[1] = x.GenerateName != ""
			yyq2[2] = x.Namespace != ""
			yyq2[3] = x.SelfLink != ""
			yyq2[4] = x.UID != ""
			yyq2[5] = x.ResourceVersion != ""
			yyq2[6] = x.Generation != 0
			yyq2[7] = true
			yyq2[8] = x.DeletionTimestamp != nil
			yyq2[9] = x.DeletionGracePeriodSeconds != nil
			yyq2[10] = len(x.Labels) != 0
			yyq2[11] = len(x.Annotations) != 0
			yyq2[12] = len(x.OwnerReferences) != 0
			yyq2[13] = len(x.Finalizers) != 0
			yyq2[14] = x.ClusterName != ""
			var yynn2 int
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(15)
			} else {
				yynn2 = 0
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
				yynn2 = 0
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[0] {
					yym4 := z.EncBinary()
					_ = yym4
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[1] {
					yym7 := z.EncBinary()
					_ = yym7
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("generateName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym8 := z.EncBinary()
					_ = yym8
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[2] {
					yym10 := z.EncBinary()
					_ = yym10
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym11 := z.EncBinary()
					_ = yym11
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[3] {
					yym13 := z.EncBinary()
					_ = yym13
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selfLink"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym14 := z.EncBinary()
					_ = yym14
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[4] {
					yym16 := z.EncBinary()
					_ = yym16
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym17 := z.EncBinary()
					_ = yym17
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[5] {
					yym19 := z.EncBinary()
					_ = yym19
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym20 := z.EncBinary()
					_ = yym20
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[6] {
					yym22 := z.EncBinary()
					_ = yym22
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("generation"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym23 := z.EncBinary()
					_ = yym23
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[7] {
					yy25 := &x.CreationTimestamp
					yym26 := z.EncBinary()
					_ = yym26
					if false {
					} else if z.HasExtensions() && z.EncExt(yy25) {
					} else if yym26 {
						z.EncBinaryMarshal(yy25)
					} else if !yym26 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy25)
					} else {
						z.EncFallback(yy25)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("creationTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy27 := &x.CreationTimestamp
					yym28 := z.EncBinary()
					_ = yym28
					if false {
					} else if z.HasExtensions() && z.EncExt(yy27) {
					} else if yym28 {
						z.EncBinaryMarshal(yy27)
					} else if !yym28 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy27)
					} else {
						z.EncFallback(yy27)
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[8] {
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym30 := z.EncBinary()
						_ = yym30
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym30 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym30 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deletionTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeletionTimestamp == nil {
						r.EncodeNil()
					} else {
						yym31 := z.EncBinary()
						_ = yym31
						if false {
						} else if z.HasExtensions() && z.EncExt(x.DeletionTimestamp) {
						} else if yym31 {
							z.EncBinaryMarshal(x.DeletionTimestamp)
						} else if !yym31 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.DeletionTimestamp)
						} else {
							z.EncFallback(x.DeletionTimestamp)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[9] {
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy33 := *x.DeletionGracePeriodSeconds
						yym34 := z.EncBinary()
						_ = yym34
						if false {
						} else {
							r.EncodeInt(int64(yy33))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("deletionGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy35 := *x.DeletionGracePeriodSeconds
						yym36 := z.EncBinary()
						_ = yym36
						if false {
						} else {
							r.EncodeInt(int64(yy35))
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[10] {
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym38 := z.EncBinary()
						_ = yym38
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labels"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym39 := z.EncBinary()
						_ = yym39
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[11] {
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym41 := z.EncBinary()
						_ = yym41
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("annotations"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym42 := z.EncBinary()
						_ = yym42
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[12] {
					if x.OwnerReferences == nil {
						r.EncodeNil()
					} else {
						yym44 := z.EncBinary()
						_ = yym44
						if false {
						} else {
							h.encSliceOwnerReference(([]OwnerReference)(x.OwnerReferences), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ownerReferences"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.OwnerReferences == nil {
						r.EncodeNil()
					} else {
						yym45 := z.EncBinary()
						_ = yym45
						if false {
						} else {
							h.encSliceOwnerReference(([]OwnerReference)(x.OwnerReferences), e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[13] {
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym47 := z.EncBinary()
						_ = yym47
						if false {
						} else {
							z.F.EncSliceStringV(x.Finalizers, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finalizers"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Finalizers == nil {
						r.EncodeNil()
					} else {
						yym48 := z.EncBinary()
						_ = yym48
						if false {
						} else {
							z.F.EncSliceStringV(x.Finalizers, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2[14] {
					yym50 := z.EncBinary()
					_ = yym50
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym51 := z.EncBinary()
					_ = yym51
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectMeta) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym52 := z.DecBinary()
	_ = yym52
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct53 := r.ContainerType()
		if yyct53 == codecSelferValueTypeMap1234 {
			yyl53 := r.ReadMapStart()
			if yyl53 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl53, d)
			}
		} else if yyct53 == codecSelferValueTypeArray1234 {
			yyl53 := r.ReadArrayStart()
			if yyl53 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl53, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectMeta) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys54Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys54Slc
	var yyhl54 bool = l >= 0
	for yyj54 := 0; ; yyj54++ {
		if yyhl54 {
			if yyj54 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys54Slc = r.DecodeBytes(yys54Slc, true, true)
		yys54 := string(yys54Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys54 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "generateName":
			if r.TryDecodeAsNil() {
				x.GenerateName = ""
			} else {
				x.GenerateName = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "selfLink":
			if r.TryDecodeAsNil() {
				x.SelfLink = ""
			} else {
				x.SelfLink = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "generation":
			if r.TryDecodeAsNil() {
				x.Generation = 0
			} else {
				x.Generation = int64(r.DecodeInt(64))
			}
		case "creationTimestamp":
			if r.TryDecodeAsNil() {
				x.CreationTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv62 := &x.CreationTimestamp
				yym63 := z.DecBinary()
				_ = yym63
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv62) {
				} else if yym63 {
					z.DecBinaryUnmarshal(yyv62)
				} else if !yym63 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv62)
				} else {
					z.DecFallback(yyv62, false)
				}
			}
		case "deletionTimestamp":
			if r.TryDecodeAsNil() {
				if x.DeletionTimestamp != nil {
					x.DeletionTimestamp = nil
				}
			} else {
				if x.DeletionTimestamp == nil {
					x.DeletionTimestamp = new(pkg2_unversioned.Time)
				}
				yym65 := z.DecBinary()
				_ = yym65
				if false {
				} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
				} else if yym65 {
					z.DecBinaryUnmarshal(x.DeletionTimestamp)
				} else if !yym65 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.DeletionTimestamp)
				} else {
					z.DecFallback(x.DeletionTimestamp, false)
				}
			}
		case "deletionGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.DeletionGracePeriodSeconds != nil {
					x.DeletionGracePeriodSeconds = nil
				}
			} else {
				if x.DeletionGracePeriodSeconds == nil {
					x.DeletionGracePeriodSeconds = new(int64)
				}
				yym67 := z.DecBinary()
				_ = yym67
				if false {
				} else {
					*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "labels":
			if r.TryDecodeAsNil() {
				x.Labels = nil
			} else {
				yyv68 := &x.Labels
				yym69 := z.DecBinary()
				_ = yym69
				if false {
				} else {
					z.F.DecMapStringStringX(yyv68, false, d)
				}
			}
		case "annotations":
			if r.TryDecodeAsNil() {
				x.Annotations = nil
			} else {
				yyv70 := &x.Annotations
				yym71 := z.DecBinary()
				_ = yym71
				if false {
				} else {
					z.F.DecMapStringStringX(yyv70, false, d)
				}
			}
		case "ownerReferences":
			if r.TryDecodeAsNil() {
				x.OwnerReferences = nil
			} else {
				yyv72 := &x.OwnerReferences
				yym73 := z.DecBinary()
				_ = yym73
				if false {
				} else {
					h.decSliceOwnerReference((*[]OwnerReference)(yyv72), d)
				}
			}
		case "finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv74 := &x.Finalizers
				yym75 := z.DecBinary()
				_ = yym75
				if false {
				} else {
					z.F.DecSliceStringX(yyv74, false, d)
				}
			}
		case "clusterName":
			if r.TryDecodeAsNil() {
				x.ClusterName = ""
			} else {
				x.ClusterName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys54)
		} // end switch yys54
	} // end for yyj54
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectMeta) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj77 int
	var yyb77 bool
	var yyhl77 bool = l >= 0
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.GenerateName = ""
	} else {
		x.GenerateName = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SelfLink = ""
	} else {
		x.SelfLink = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Generation = 0
	} else {
		x.Generation = int64(r.DecodeInt(64))
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CreationTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv85 := &x.CreationTimestamp
		yym86 := z.DecBinary()
		_ = yym86
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv85) {
		} else if yym86 {
			z.DecBinaryUnmarshal(yyv85)
		} else if !yym86 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv85)
		} else {
			z.DecFallback(yyv85, false)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DeletionTimestamp != nil {
			x.DeletionTimestamp = nil
		}
	} else {
		if x.DeletionTimestamp == nil {
			x.DeletionTimestamp = new(pkg2_unversioned.Time)
		}
		yym88 := z.DecBinary()
		_ = yym88
		if false {
		} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
		} else if yym88 {
			z.DecBinaryUnmarshal(x.DeletionTimestamp)
		} else if !yym88 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.DeletionTimestamp)
		} else {
			z.DecFallback(x.DeletionTimestamp, false)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DeletionGracePeriodSeconds != nil {
			x.DeletionGracePeriodSeconds = nil
		}
	} else {
		if x.DeletionGracePeriodSeconds == nil {
			x.DeletionGracePeriodSeconds = new(int64)
		}
		yym90 := z.DecBinary()
		_ = yym90
		if false {
		} else {
			*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Labels = nil
	} else {
		yyv91 := &x.Labels
		yym92 := z.DecBinary()
		_ = yym92
		if false {
		} else {
			z.F.DecMapStringStringX(yyv91, false, d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Annotations = nil
	} else {
		yyv93 := &x.Annotations
		yym94 := z.DecBinary()
		_ = yym94
		if false {
		} else {
			z.F.DecMapStringStringX(yyv93, false, d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OwnerReferences = nil
	} else {
		yyv95 := &x.OwnerReferences
		yym96 := z.DecBinary()
		_ = yym96
		if false {
		} else {
			h.decSliceOwnerReference((*[]OwnerReference)(yyv95), d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv97 := &x.Finalizers
		yym98 := z.DecBinary()
		_ = yym98
		if false {
		} else {
			z.F.DecSliceStringX(yyv97, false, d)
		}
	}
	yyj77++
	if yyhl77 {
		yyb77 = yyj77 > l
	} else {
		yyb77 = r.CheckBreak()
	}
	if yyb77 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterName = ""
	} else {
		x.ClusterName = string(r.DecodeString())
	}
	for {
		yyj77++
		if yyhl77 {
			yyb77 = yyj77 > l
		} else {
			yyb77 = r.CheckBreak()
		}
		if yyb77 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj77-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym100 := z.EncBinary()
		_ = yym100
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep101 := !z.EncBinary()
			yy2arr101 := z.EncBasicHandle().StructToArray
			var yyq101 [23]bool
			_, _, _ = yysep101, yyq101, yy2arr101
			const yyr101 bool = false
			yyq101[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil
			yyq101[2] = x.VolumeSource.EmptyDir != nil && x.EmptyDir != nil
			yyq101[3] = x.VolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq101[4] = x.VolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq101[5] = x.VolumeSource.GitRepo != nil && x.GitRepo != nil
			yyq101[6] = x.VolumeSource.Secret != nil && x.Secret != nil
			yyq101[7] = x.VolumeSource.NFS != nil && x.NFS != nil
			yyq101[8] = x.VolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq101[9] = x.VolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq101[10] = x.VolumeSource.PersistentVolumeClaim != nil && x.PersistentVolumeClaim != nil
			yyq101[11] = x.VolumeSource.RBD != nil && x.RBD != nil
			yyq101[12] = x.VolumeSource.Quobyte != nil && x.Quobyte != nil
			yyq101[13] = x.VolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq101[14] = x.VolumeSource.Cinder != nil && x.Cinder != nil
			yyq101[15] = x.VolumeSource.CephFS != nil && x.CephFS != nil
			yyq101[16] = x.VolumeSource.Flocker != nil && x.Flocker != nil
			yyq101[17] = x.VolumeSource.DownwardAPI != nil && x.DownwardAPI != nil
			yyq101[18] = x.VolumeSource.FC != nil && x.FC != nil
			yyq101[19] = x.VolumeSource.AzureFile != nil && x.AzureFile != nil
			yyq101[20] = x.VolumeSource.ConfigMap != nil && x.ConfigMap != nil
			yyq101[21] = x.VolumeSource.VsphereVolume != nil && x.VsphereVolume != nil
			yyq101[22] = x.VolumeSource.AzureDisk != nil && x.AzureDisk != nil
			var yynn101 int
			if yyr101 || yy2arr101 {
				r.EncodeArrayStart(23)
			} else {
				yynn101 = 1
				for _, b := range yyq101 {
					if b {
						yynn101++
					}
				}
				r.EncodeMapStart(yynn101)
				yynn101 = 0
			}
			if yyr101 || yy2arr101 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym103 := z.EncBinary()
				_ = yym103
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym104 := z.EncBinary()
				_ = yym104
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			var yyn105 bool
			if x.VolumeSource.HostPath == nil {
				yyn105 = true
				goto LABEL105
			}
		LABEL105:
			if yyr101 || yy2arr101 {
				if yyn105 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[1] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn105 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn106 bool
			if x.VolumeSource.EmptyDir == nil {
				yyn106 = true
				goto LABEL106
			}
		LABEL106:
			if yyr101 || yy2arr101 {
				if yyn106 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[2] {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn106 {
						r.EncodeNil()
					} else {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn107 bool
			if x.VolumeSource.GCEPersistentDisk == nil {
				yyn107 = true
				goto LABEL107
			}
		LABEL107:
			if yyr101 || yy2arr101 {
				if yyn107 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[3] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn107 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn108 bool
			if x.VolumeSource.AWSElasticBlockStore == nil {
				yyn108 = true
				goto LABEL108
			}
		LABEL108:
			if yyr101 || yy2arr101 {
				if yyn108 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[4] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn108 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn109 bool
			if x.VolumeSource.GitRepo == nil {
				yyn109 = true
				goto LABEL109
			}
		LABEL109:
			if yyr101 || yy2arr101 {
				if yyn109 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[5] {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn109 {
						r.EncodeNil()
					} else {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn110 bool
			if x.VolumeSource.Secret == nil {
				yyn110 = true
				goto LABEL110
			}
		LABEL110:
			if yyr101 || yy2arr101 {
				if yyn110 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[6] {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn110 {
						r.EncodeNil()
					} else {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn111 bool
			if x.VolumeSource.NFS == nil {
				yyn111 = true
				goto LABEL111
			}
		LABEL111:
			if yyr101 || yy2arr101 {
				if yyn111 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[7] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn111 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn112 bool
			if x.VolumeSource.ISCSI == nil {
				yyn112 = true
				goto LABEL112
			}
		LABEL112:
			if yyr101 || yy2arr101 {
				if yyn112 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn112 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn113 bool
			if x.VolumeSource.Glusterfs == nil {
				yyn113 = true
				goto LABEL113
			}
		LABEL113:
			if yyr101 || yy2arr101 {
				if yyn113 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[9] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn113 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn114 bool
			if x.VolumeSource.PersistentVolumeClaim == nil {
				yyn114 = true
				goto LABEL114
			}
		LABEL114:
			if yyr101 || yy2arr101 {
				if yyn114 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[10] {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn114 {
						r.EncodeNil()
					} else {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn115 bool
			if x.VolumeSource.RBD == nil {
				yyn115 = true
				goto LABEL115
			}
		LABEL115:
			if yyr101 || yy2arr101 {
				if yyn115 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[11] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn115 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn116 bool
			if x.VolumeSource.Quobyte == nil {
				yyn116 = true
				goto LABEL116
			}
		LABEL116:
			if yyr101 || yy2arr101 {
				if yyn116 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[12] {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn116 {
						r.EncodeNil()
					} else {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn117 bool
			if x.VolumeSource.FlexVolume == nil {
				yyn117 = true
				goto LABEL117
			}
		LABEL117:
			if yyr101 || yy2arr101 {
				if yyn117 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[13] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn117 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn118 bool
			if x.VolumeSource.Cinder == nil {
				yyn118 = true
				goto LABEL118
			}
		LABEL118:
			if yyr101 || yy2arr101 {
				if yyn118 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[14] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn118 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn119 bool
			if x.VolumeSource.CephFS == nil {
				yyn119 = true
				goto LABEL119
			}
		LABEL119:
			if yyr101 || yy2arr101 {
				if yyn119 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[15] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn119 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn120 bool
			if x.VolumeSource.Flocker == nil {
				yyn120 = true
				goto LABEL120
			}
		LABEL120:
			if yyr101 || yy2arr101 {
				if yyn120 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[16] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn120 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn121 bool
			if x.VolumeSource.DownwardAPI == nil {
				yyn121 = true
				goto LABEL121
			}
		LABEL121:
			if yyr101 || yy2arr101 {
				if yyn121 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[17] {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn121 {
						r.EncodeNil()
					} else {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn122 bool
			if x.VolumeSource.FC == nil {
				yyn122 = true
				goto LABEL122
			}
		LABEL122:
			if yyr101 || yy2arr101 {
				if yyn122 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[18] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[18] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn122 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn123 bool
			if x.VolumeSource.AzureFile == nil {
				yyn123 = true
				goto LABEL123
			}
		LABEL123:
			if yyr101 || yy2arr101 {
				if yyn123 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[19] {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn123 {
						r.EncodeNil()
					} else {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn124 bool
			if x.VolumeSource.ConfigMap == nil {
				yyn124 = true
				goto LABEL124
			}
		LABEL124:
			if yyr101 || yy2arr101 {
				if yyn124 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[20] {
						if x.ConfigMap == nil {
							r.EncodeNil()
						} else {
							x.ConfigMap.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[20] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMap"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn124 {
						r.EncodeNil()
					} else {
						if x.ConfigMap == nil {
							r.EncodeNil()
						} else {
							x.ConfigMap.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn125 bool
			if x.VolumeSource.VsphereVolume == nil {
				yyn125 = true
				goto LABEL125
			}
		LABEL125:
			if yyr101 || yy2arr101 {
				if yyn125 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[21] {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[21] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn125 {
						r.EncodeNil()
					} else {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn126 bool
			if x.VolumeSource.AzureDisk == nil {
				yyn126 = true
				goto LABEL126
			}
		LABEL126:
			if yyr101 || yy2arr101 {
				if yyn126 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq101[22] {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq101[22] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn126 {
						r.EncodeNil()
					} else {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr101 || yy2arr101 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Volume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym127 := z.DecBinary()
	_ = yym127
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct128 := r.ContainerType()
		if yyct128 == codecSelferValueTypeMap1234 {
			yyl128 := r.ReadMapStart()
			if yyl128 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl128, d)
			}
		} else if yyct128 == codecSelferValueTypeArray1234 {
			yyl128 := r.ReadArrayStart()
			if yyl128 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl128, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Volume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys129Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys129Slc
	var yyhl129 bool = l >= 0
	for yyj129 := 0; ; yyj129++ {
		if yyhl129 {
			if yyj129 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys129Slc = r.DecodeBytes(yys129Slc, true, true)
		yys129 := string(yys129Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys129 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPath":
			if x.VolumeSource.HostPath == nil {
				x.VolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if x.VolumeSource.EmptyDir == nil {
				x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.VolumeSource.GCEPersistentDisk == nil {
				x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.VolumeSource.AWSElasticBlockStore == nil {
				x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if x.VolumeSource.GitRepo == nil {
				x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if x.VolumeSource.Secret == nil {
				x.VolumeSource.Secret = new(SecretVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.VolumeSource.NFS == nil {
				x.VolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.VolumeSource.ISCSI == nil {
				x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.VolumeSource.Glusterfs == nil {
				x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if x.VolumeSource.PersistentVolumeClaim == nil {
				x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.VolumeSource.RBD == nil {
				x.VolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if x.VolumeSource.Quobyte == nil {
				x.VolumeSource.Quobyte = new(QuobyteVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if x.VolumeSource.FlexVolume == nil {
				x.VolumeSource.FlexVolume = new(FlexVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.VolumeSource.Cinder == nil {
				x.VolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.VolumeSource.CephFS == nil {
				x.VolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.VolumeSource.Flocker == nil {
				x.VolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if x.VolumeSource.DownwardAPI == nil {
				x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if x.VolumeSource.FC == nil {
				x.VolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "azureFile":
			if x.VolumeSource.AzureFile == nil {
				x.VolumeSource.AzureFile = new(AzureFileVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "configMap":
			if x.VolumeSource.ConfigMap == nil {
				x.VolumeSource.ConfigMap = new(ConfigMapVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ConfigMap != nil {
					x.ConfigMap = nil
				}
			} else {
				if x.ConfigMap == nil {
					x.ConfigMap = new(ConfigMapVolumeSource)
				}
				x.ConfigMap.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if x.VolumeSource.VsphereVolume == nil {
				x.VolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if x.VolumeSource.AzureDisk == nil {
				x.VolumeSource.AzureDisk = new(AzureDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys129)
		} // end switch yys129
	} // end for yyj129
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj153 int
	var yyb153 bool
	var yyhl153 bool = l >= 0
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	if x.VolumeSource.HostPath == nil {
		x.VolumeSource.HostPath = new(HostPathVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	if x.VolumeSource.EmptyDir == nil {
		x.VolumeSource.EmptyDir = new(EmptyDirVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	if x.VolumeSource.GCEPersistentDisk == nil {
		x.VolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AWSElasticBlockStore == nil {
		x.VolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	if x.VolumeSource.GitRepo == nil {
		x.VolumeSource.GitRepo = new(GitRepoVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Secret == nil {
		x.VolumeSource.Secret = new(SecretVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	if x.VolumeSource.NFS == nil {
		x.VolumeSource.NFS = new(NFSVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	if x.VolumeSource.ISCSI == nil {
		x.VolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Glusterfs == nil {
		x.VolumeSource.Glusterfs = new(GlusterfsVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	if x.VolumeSource.PersistentVolumeClaim == nil {
		x.VolumeSource.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	if x.VolumeSource.RBD == nil {
		x.VolumeSource.RBD = new(RBDVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Quobyte == nil {
		x.VolumeSource.Quobyte = new(QuobyteVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	if x.VolumeSource.FlexVolume == nil {
		x.VolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Cinder == nil {
		x.VolumeSource.Cinder = new(CinderVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	if x.VolumeSource.CephFS == nil {
		x.VolumeSource.CephFS = new(CephFSVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	if x.VolumeSource.Flocker == nil {
		x.VolumeSource.Flocker = new(FlockerVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	if x.VolumeSource.DownwardAPI == nil {
		x.VolumeSource.DownwardAPI = new(DownwardAPIVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	if x.VolumeSource.FC == nil {
		x.VolumeSource.FC = new(FCVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AzureFile == nil {
		x.VolumeSource.AzureFile = new(AzureFileVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	if x.VolumeSource.ConfigMap == nil {
		x.VolumeSource.ConfigMap = new(ConfigMapVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMap != nil {
			x.ConfigMap = nil
		}
	} else {
		if x.ConfigMap == nil {
			x.ConfigMap = new(ConfigMapVolumeSource)
		}
		x.ConfigMap.CodecDecodeSelf(d)
	}
	if x.VolumeSource.VsphereVolume == nil {
		x.VolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	if x.VolumeSource.AzureDisk == nil {
		x.VolumeSource.AzureDisk = new(AzureDiskVolumeSource)
	}
	yyj153++
	if yyhl153 {
		yyb153 = yyj153 > l
	} else {
		yyb153 = r.CheckBreak()
	}
	if yyb153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	for {
		yyj153++
		if yyhl153 {
			yyb153 = yyj153 > l
		} else {
			yyb153 = r.CheckBreak()
		}
		if yyb153 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj153-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym177 := z.EncBinary()
		_ = yym177
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep178 := !z.EncBinary()
			yy2arr178 := z.EncBasicHandle().StructToArray
			var yyq178 [22]bool
			_, _, _ = yysep178, yyq178, yy2arr178
			const yyr178 bool = false
			yyq178[0] = x.HostPath != nil
			yyq178[1] = x.EmptyDir != nil
			yyq178[2] = x.GCEPersistentDisk != nil
			yyq178[3] = x.AWSElasticBlockStore != nil
			yyq178[4] = x.GitRepo != nil
			yyq178[5] = x.Secret != nil
			yyq178[6] = x.NFS != nil
			yyq178[7] = x.ISCSI != nil
			yyq178[8] = x.Glusterfs != nil
			yyq178[9] = x.PersistentVolumeClaim != nil
			yyq178[10] = x.RBD != nil
			yyq178[11] = x.Quobyte != nil
			yyq178[12] = x.FlexVolume != nil
			yyq178[13] = x.Cinder != nil
			yyq178[14] = x.CephFS != nil
			yyq178[15] = x.Flocker != nil
			yyq178[16] = x.DownwardAPI != nil
			yyq178[17] = x.FC != nil
			yyq178[18] = x.AzureFile != nil
			yyq178[19] = x.ConfigMap != nil
			yyq178[20] = x.VsphereVolume != nil
			yyq178[21] = x.AzureDisk != nil
			var yynn178 int
			if yyr178 || yy2arr178 {
				r.EncodeArrayStart(22)
			} else {
				yynn178 = 0
				for _, b := range yyq178 {
					if b {
						yynn178++
					}
				}
				r.EncodeMapStart(yynn178)
				yynn178 = 0
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[11] {
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[12] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[13] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[14] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[15] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[16] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[17] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[18] {
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[18] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[19] {
					if x.ConfigMap == nil {
						r.EncodeNil()
					} else {
						x.ConfigMap.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMap"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ConfigMap == nil {
						r.EncodeNil()
					} else {
						x.ConfigMap.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[20] {
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[20] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq178[21] {
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq178[21] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr178 || yy2arr178 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym201 := z.DecBinary()
	_ = yym201
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct202 := r.ContainerType()
		if yyct202 == codecSelferValueTypeMap1234 {
			yyl202 := r.ReadMapStart()
			if yyl202 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl202, d)
			}
		} else if yyct202 == codecSelferValueTypeArray1234 {
			yyl202 := r.ReadArrayStart()
			if yyl202 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl202, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys203Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys203Slc
	var yyhl203 bool = l >= 0
	for yyj203 := 0; ; yyj203++ {
		if yyhl203 {
			if yyj203 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys203Slc = r.DecodeBytes(yys203Slc, true, true)
		yys203 := string(yys203Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys203 {
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "emptyDir":
			if r.TryDecodeAsNil() {
				if x.EmptyDir != nil {
					x.EmptyDir = nil
				}
			} else {
				if x.EmptyDir == nil {
					x.EmptyDir = new(EmptyDirVolumeSource)
				}
				x.EmptyDir.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "gitRepo":
			if r.TryDecodeAsNil() {
				if x.GitRepo != nil {
					x.GitRepo = nil
				}
			} else {
				if x.GitRepo == nil {
					x.GitRepo = new(GitRepoVolumeSource)
				}
				x.GitRepo.CodecDecodeSelf(d)
			}
		case "secret":
			if r.TryDecodeAsNil() {
				if x.Secret != nil {
					x.Secret = nil
				}
			} else {
				if x.Secret == nil {
					x.Secret = new(SecretVolumeSource)
				}
				x.Secret.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "persistentVolumeClaim":
			if r.TryDecodeAsNil() {
				if x.PersistentVolumeClaim != nil {
					x.PersistentVolumeClaim = nil
				}
			} else {
				if x.PersistentVolumeClaim == nil {
					x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
				}
				x.PersistentVolumeClaim.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "downwardAPI":
			if r.TryDecodeAsNil() {
				if x.DownwardAPI != nil {
					x.DownwardAPI = nil
				}
			} else {
				if x.DownwardAPI == nil {
					x.DownwardAPI = new(DownwardAPIVolumeSource)
				}
				x.DownwardAPI.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "azureFile":
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "configMap":
			if r.TryDecodeAsNil() {
				if x.ConfigMap != nil {
					x.ConfigMap = nil
				}
			} else {
				if x.ConfigMap == nil {
					x.ConfigMap = new(ConfigMapVolumeSource)
				}
				x.ConfigMap.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys203)
		} // end switch yys203
	} // end for yyj203
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj226 int
	var yyb226 bool
	var yyhl226 bool = l >= 0
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMap != nil {
			x.ConfigMap = nil
		}
	} else {
		if x.ConfigMap == nil {
			x.ConfigMap = new(ConfigMapVolumeSource)
		}
		x.ConfigMap.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	yyj226++
	if yyhl226 {
		yyb226 = yyj226 > l
	} else {
		yyb226 = r.CheckBreak()
	}
	if yyb226 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	for {
		yyj226++
		if yyhl226 {
			yyb226 = yyj226 > l
		} else {
			yyb226 = r.CheckBreak()
		}
		if yyb226 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj226-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym249 := z.EncBinary()
		_ = yym249
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep250 := !z.EncBinary()
			yy2arr250 := z.EncBasicHandle().StructToArray
			var yyq250 [16]bool
			_, _, _ = yysep250, yyq250, yy2arr250
			const yyr250 bool = false
			yyq250[0] = x.GCEPersistentDisk != nil
			yyq250[1] = x.AWSElasticBlockStore != nil
			yyq250[2] = x.HostPath != nil
			yyq250[3] = x.Glusterfs != nil
			yyq250[4] = x.NFS != nil
			yyq250[5] = x.RBD != nil
			yyq250[6] = x.Quobyte != nil
			yyq250[7] = x.ISCSI != nil
			yyq250[8] = x.FlexVolume != nil
			yyq250[9] = x.Cinder != nil
			yyq250[10] = x.CephFS != nil
			yyq250[11] = x.FC != nil
			yyq250[12] = x.Flocker != nil
			yyq250[13] = x.AzureFile != nil
			yyq250[14] = x.VsphereVolume != nil
			yyq250[15] = x.AzureDisk != nil
			var yynn250 int
			if yyr250 || yy2arr250 {
				r.EncodeArrayStart(16)
			} else {
				yynn250 = 0
				for _, b := range yyq250 {
					if b {
						yynn250++
					}
				}
				r.EncodeMapStart(yynn250)
				yynn250 = 0
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[6] {
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Quobyte == nil {
						r.EncodeNil()
					} else {
						x.Quobyte.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[8] {
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FlexVolume == nil {
						r.EncodeNil()
					} else {
						x.FlexVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[9] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[10] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[11] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[12] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[13] {
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureFile == nil {
						r.EncodeNil()
					} else {
						x.AzureFile.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[14] {
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VsphereVolume == nil {
						r.EncodeNil()
					} else {
						x.VsphereVolume.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq250[15] {
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AzureDisk == nil {
						r.EncodeNil()
					} else {
						x.AzureDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr250 || yy2arr250 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym267 := z.DecBinary()
	_ = yym267
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct268 := r.ContainerType()
		if yyct268 == codecSelferValueTypeMap1234 {
			yyl268 := r.ReadMapStart()
			if yyl268 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl268, d)
			}
		} else if yyct268 == codecSelferValueTypeArray1234 {
			yyl268 := r.ReadArrayStart()
			if yyl268 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl268, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys269Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys269Slc
	var yyhl269 bool = l >= 0
	for yyj269 := 0; ; yyj269++ {
		if yyhl269 {
			if yyj269 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys269Slc = r.DecodeBytes(yys269Slc, true, true)
		yys269 := string(yys269Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys269 {
		case "gcePersistentDisk":
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "iscsi":
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "azureFile":
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys269)
		} // end switch yys269
	} // end for yyj269
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj286 int
	var yyb286 bool
	var yyhl286 bool = l >= 0
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	yyj286++
	if yyhl286 {
		yyb286 = yyj286 > l
	} else {
		yyb286 = r.CheckBreak()
	}
	if yyb286 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	for {
		yyj286++
		if yyhl286 {
			yyb286 = yyj286 > l
		} else {
			yyb286 = r.CheckBreak()
		}
		if yyb286 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj286-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym303 := z.EncBinary()
		_ = yym303
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep304 := !z.EncBinary()
			yy2arr304 := z.EncBasicHandle().StructToArray
			var yyq304 [2]bool
			_, _, _ = yysep304, yyq304, yy2arr304
			const yyr304 bool = false
			yyq304[1] = x.ReadOnly != false
			var yynn304 int
			if yyr304 || yy2arr304 {
				r.EncodeArrayStart(2)
			} else {
				yynn304 = 1
				for _, b := range yyq304 {
					if b {
						yynn304++
					}
				}
				r.EncodeMapStart(yynn304)
				yynn304 = 0
			}
			if yyr304 || yy2arr304 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym306 := z.EncBinary()
				_ = yym306
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("claimName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym307 := z.EncBinary()
				_ = yym307
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr304 || yy2arr304 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq304[1] {
					yym309 := z.EncBinary()
					_ = yym309
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq304[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym310 := z.EncBinary()
					_ = yym310
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr304 || yy2arr304 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym311 := z.DecBinary()
	_ = yym311
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct312 := r.ContainerType()
		if yyct312 == codecSelferValueTypeMap1234 {
			yyl312 := r.ReadMapStart()
			if yyl312 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl312, d)
			}
		} else if yyct312 == codecSelferValueTypeArray1234 {
			yyl312 := r.ReadArrayStart()
			if yyl312 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl312, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys313Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys313Slc
	var yyhl313 bool = l >= 0
	for yyj313 := 0; ; yyj313++ {
		if yyhl313 {
			if yyj313 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys313Slc = r.DecodeBytes(yys313Slc, true, true)
		yys313 := string(yys313Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys313 {
		case "claimName":
			if r.TryDecodeAsNil() {
				x.ClaimName = ""
			} else {
				x.ClaimName = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys313)
		} // end switch yys313
	} // end for yyj313
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj316 int
	var yyb316 bool
	var yyhl316 bool = l >= 0
	yyj316++
	if yyhl316 {
		yyb316 = yyj316 > l
	} else {
		yyb316 = r.CheckBreak()
	}
	if yyb316 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClaimName = ""
	} else {
		x.ClaimName = string(r.DecodeString())
	}
	yyj316++
	if yyhl316 {
		yyb316 = yyj316 > l
	} else {
		yyb316 = r.CheckBreak()
	}
	if yyb316 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj316++
		if yyhl316 {
			yyb316 = yyj316 > l
		} else {
			yyb316 = r.CheckBreak()
		}
		if yyb316 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj316-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym319 := z.EncBinary()
		_ = yym319
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep320 := !z.EncBinary()
			yy2arr320 := z.EncBasicHandle().StructToArray
			var yyq320 [5]bool
			_, _, _ = yysep320, yyq320, yy2arr320
			const yyr320 bool = false
			yyq320[0] = x.Kind != ""
			yyq320[1] = x.APIVersion != ""
			yyq320[2] = true
			yyq320[3] = true
			yyq320[4] = true
			var yynn320 int
			if yyr320 || yy2arr320 {
				r.EncodeArrayStart(5)
			} else {
				yynn320 = 0
				for _, b := range yyq320 {
					if b {
						yynn320++
					}
				}
				r.EncodeMapStart(yynn320)
				yynn320 = 0
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[0] {
					yym322 := z.EncBinary()
					_ = yym322
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq320[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym323 := z.EncBinary()
					_ = yym323
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[1] {
					yym325 := z.EncBinary()
					_ = yym325
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq320[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym326 := z.EncBinary()
					_ = yym326
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[2] {
					yy328 := &x.ObjectMeta
					yy328.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq320[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy329 := &x.ObjectMeta
					yy329.CodecEncodeSelf(e)
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[3] {
					yy331 := &x.Spec
					yy331.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq320[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy332 := &x.Spec
					yy332.CodecEncodeSelf(e)
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq320[4] {
					yy334 := &x.Status
					yy334.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq320[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy335 := &x.Status
					yy335.CodecEncodeSelf(e)
				}
			}
			if yyr320 || yy2arr320 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym336 := z.DecBinary()
	_ = yym336
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct337 := r.ContainerType()
		if yyct337 == codecSelferValueTypeMap1234 {
			yyl337 := r.ReadMapStart()
			if yyl337 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl337, d)
			}
		} else if yyct337 == codecSelferValueTypeArray1234 {
			yyl337 := r.ReadArrayStart()
			if yyl337 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl337, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys338Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys338Slc
	var yyhl338 bool = l >= 0
	for yyj338 := 0; ; yyj338++ {
		if yyhl338 {
			if yyj338 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys338Slc = r.DecodeBytes(yys338Slc, true, true)
		yys338 := string(yys338Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys338 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv341 := &x.ObjectMeta
				yyv341.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv342 := &x.Spec
				yyv342.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv343 := &x.Status
				yyv343.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys338)
		} // end switch yys338
	} // end for yyj338
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj344 int
	var yyb344 bool
	var yyhl344 bool = l >= 0
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv347 := &x.ObjectMeta
		yyv347.CodecDecodeSelf(d)
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv348 := &x.Spec
		yyv348.CodecDecodeSelf(d)
	}
	yyj344++
	if yyhl344 {
		yyb344 = yyj344 > l
	} else {
		yyb344 = r.CheckBreak()
	}
	if yyb344 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv349 := &x.Status
		yyv349.CodecDecodeSelf(d)
	}
	for {
		yyj344++
		if yyhl344 {
			yyb344 = yyj344 > l
		} else {
			yyb344 = r.CheckBreak()
		}
		if yyb344 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj344-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym350 := z.EncBinary()
		_ = yym350
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep351 := !z.EncBinary()
			yy2arr351 := z.EncBasicHandle().StructToArray
			var yyq351 [20]bool
			_, _, _ = yysep351, yyq351, yy2arr351
			const yyr351 bool = false
			yyq351[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq351[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq351[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq351[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq351[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq351[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq351[7] = x.PersistentVolumeSource.Quobyte != nil && x.Quobyte != nil
			yyq351[8] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq351[9] = x.PersistentVolumeSource.FlexVolume != nil && x.FlexVolume != nil
			yyq351[10] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq351[11] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq351[12] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq351[13] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq351[14] = x.PersistentVolumeSource.AzureFile != nil && x.AzureFile != nil
			yyq351[15] = x.PersistentVolumeSource.VsphereVolume != nil && x.VsphereVolume != nil
			yyq351[16] = x.PersistentVolumeSource.AzureDisk != nil && x.AzureDisk != nil
			yyq351[17] = len(x.AccessModes) != 0
			yyq351[18] = x.ClaimRef != nil
			yyq351[19] = x.PersistentVolumeReclaimPolicy != ""
			var yynn351 int
			if yyr351 || yy2arr351 {
				r.EncodeArrayStart(20)
			} else {
				yynn351 = 1
				for _, b := range yyq351 {
					if b {
						yynn351++
					}
				}
				r.EncodeMapStart(yynn351)
				yynn351 = 0
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Capacity == nil {
					r.EncodeNil()
				} else {
					x.Capacity.CodecEncodeSelf(e)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("capacity"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Capacity == nil {
					r.EncodeNil()
				} else {
					x.Capacity.CodecEncodeSelf(e)
				}
			}
			var yyn353 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn353 = true
				goto LABEL353
			}
		LABEL353:
			if yyr351 || yy2arr351 {
				if yyn353 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn353 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn354 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn354 = true
				goto LABEL354
			}
		LABEL354:
			if yyr351 || yy2arr351 {
				if yyn354 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn354 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn355 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn355 = true
				goto LABEL355
			}
		LABEL355:
			if yyr351 || yy2arr351 {
				if yyn355 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn355 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn356 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn356 = true
				goto LABEL356
			}
		LABEL356:
			if yyr351 || yy2arr351 {
				if yyn356 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn356 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn357 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn357 = true
				goto LABEL357
			}
		LABEL357:
			if yyr351 || yy2arr351 {
				if yyn357 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn357 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn358 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn358 = true
				goto LABEL358
			}
		LABEL358:
			if yyr351 || yy2arr351 {
				if yyn358 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn358 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn359 bool
			if x.PersistentVolumeSource.Quobyte == nil {
				yyn359 = true
				goto LABEL359
			}
		LABEL359:
			if yyr351 || yy2arr351 {
				if yyn359 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[7] {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("quobyte"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn359 {
						r.EncodeNil()
					} else {
						if x.Quobyte == nil {
							r.EncodeNil()
						} else {
							x.Quobyte.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn360 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn360 = true
				goto LABEL360
			}
		LABEL360:
			if yyr351 || yy2arr351 {
				if yyn360 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn360 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn361 bool
			if x.PersistentVolumeSource.FlexVolume == nil {
				yyn361 = true
				goto LABEL361
			}
		LABEL361:
			if yyr351 || yy2arr351 {
				if yyn361 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[9] {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flexVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn361 {
						r.EncodeNil()
					} else {
						if x.FlexVolume == nil {
							r.EncodeNil()
						} else {
							x.FlexVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn362 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn362 = true
				goto LABEL362
			}
		LABEL362:
			if yyr351 || yy2arr351 {
				if yyn362 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[10] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn362 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn363 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn363 = true
				goto LABEL363
			}
		LABEL363:
			if yyr351 || yy2arr351 {
				if yyn363 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[11] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn363 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn364 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn364 = true
				goto LABEL364
			}
		LABEL364:
			if yyr351 || yy2arr351 {
				if yyn364 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[12] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn364 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn365 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn365 = true
				goto LABEL365
			}
		LABEL365:
			if yyr351 || yy2arr351 {
				if yyn365 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[13] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[13] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn365 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn366 bool
			if x.PersistentVolumeSource.AzureFile == nil {
				yyn366 = true
				goto LABEL366
			}
		LABEL366:
			if yyr351 || yy2arr351 {
				if yyn366 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[14] {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn366 {
						r.EncodeNil()
					} else {
						if x.AzureFile == nil {
							r.EncodeNil()
						} else {
							x.AzureFile.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn367 bool
			if x.PersistentVolumeSource.VsphereVolume == nil {
				yyn367 = true
				goto LABEL367
			}
		LABEL367:
			if yyr351 || yy2arr351 {
				if yyn367 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[15] {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("vsphereVolume"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn367 {
						r.EncodeNil()
					} else {
						if x.VsphereVolume == nil {
							r.EncodeNil()
						} else {
							x.VsphereVolume.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn368 bool
			if x.PersistentVolumeSource.AzureDisk == nil {
				yyn368 = true
				goto LABEL368
			}
		LABEL368:
			if yyr351 || yy2arr351 {
				if yyn368 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq351[16] {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq351[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("azureDisk"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn368 {
						r.EncodeNil()
					} else {
						if x.AzureDisk == nil {
							r.EncodeNil()
						} else {
							x.AzureDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq351[17] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym370 := z.EncBinary()
						_ = yym370
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq351[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym371 := z.EncBinary()
						_ = yym371
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq351[18] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq351[18] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("claimRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq351[19] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq351[19] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr351 || yy2arr351 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym374 := z.DecBinary()
	_ = yym374
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct375 := r.ContainerType()
		if yyct375 == codecSelferValueTypeMap1234 {
			yyl375 := r.ReadMapStart()
			if yyl375 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl375, d)
			}
		} else if yyct375 == codecSelferValueTypeArray1234 {
			yyl375 := r.ReadArrayStart()
			if yyl375 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl375, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys376Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys376Slc
	var yyhl376 bool = l >= 0
	for yyj376 := 0; ; yyj376++ {
		if yyhl376 {
			if yyj376 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys376Slc = r.DecodeBytes(yys376Slc, true, true)
		yys376 := string(yys376Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys376 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv377 := &x.Capacity
				yyv377.CodecDecodeSelf(d)
			}
		case "gcePersistentDisk":
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.GCEPersistentDisk != nil {
					x.GCEPersistentDisk = nil
				}
			} else {
				if x.GCEPersistentDisk == nil {
					x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
				}
				x.GCEPersistentDisk.CodecDecodeSelf(d)
			}
		case "awsElasticBlockStore":
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AWSElasticBlockStore != nil {
					x.AWSElasticBlockStore = nil
				}
			} else {
				if x.AWSElasticBlockStore == nil {
					x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
				}
				x.AWSElasticBlockStore.CodecDecodeSelf(d)
			}
		case "hostPath":
			if x.PersistentVolumeSource.HostPath == nil {
				x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.HostPath != nil {
					x.HostPath = nil
				}
			} else {
				if x.HostPath == nil {
					x.HostPath = new(HostPathVolumeSource)
				}
				x.HostPath.CodecDecodeSelf(d)
			}
		case "glusterfs":
			if x.PersistentVolumeSource.Glusterfs == nil {
				x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Glusterfs != nil {
					x.Glusterfs = nil
				}
			} else {
				if x.Glusterfs == nil {
					x.Glusterfs = new(GlusterfsVolumeSource)
				}
				x.Glusterfs.CodecDecodeSelf(d)
			}
		case "nfs":
			if x.PersistentVolumeSource.NFS == nil {
				x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.NFS != nil {
					x.NFS = nil
				}
			} else {
				if x.NFS == nil {
					x.NFS = new(NFSVolumeSource)
				}
				x.NFS.CodecDecodeSelf(d)
			}
		case "rbd":
			if x.PersistentVolumeSource.RBD == nil {
				x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.RBD != nil {
					x.RBD = nil
				}
			} else {
				if x.RBD == nil {
					x.RBD = new(RBDVolumeSource)
				}
				x.RBD.CodecDecodeSelf(d)
			}
		case "quobyte":
			if x.PersistentVolumeSource.Quobyte == nil {
				x.PersistentVolumeSource.Quobyte = new(QuobyteVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Quobyte != nil {
					x.Quobyte = nil
				}
			} else {
				if x.Quobyte == nil {
					x.Quobyte = new(QuobyteVolumeSource)
				}
				x.Quobyte.CodecDecodeSelf(d)
			}
		case "iscsi":
			if x.PersistentVolumeSource.ISCSI == nil {
				x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.ISCSI != nil {
					x.ISCSI = nil
				}
			} else {
				if x.ISCSI == nil {
					x.ISCSI = new(ISCSIVolumeSource)
				}
				x.ISCSI.CodecDecodeSelf(d)
			}
		case "flexVolume":
			if x.PersistentVolumeSource.FlexVolume == nil {
				x.PersistentVolumeSource.FlexVolume = new(FlexVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FlexVolume != nil {
					x.FlexVolume = nil
				}
			} else {
				if x.FlexVolume == nil {
					x.FlexVolume = new(FlexVolumeSource)
				}
				x.FlexVolume.CodecDecodeSelf(d)
			}
		case "cinder":
			if x.PersistentVolumeSource.Cinder == nil {
				x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Cinder != nil {
					x.Cinder = nil
				}
			} else {
				if x.Cinder == nil {
					x.Cinder = new(CinderVolumeSource)
				}
				x.Cinder.CodecDecodeSelf(d)
			}
		case "cephfs":
			if x.PersistentVolumeSource.CephFS == nil {
				x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.CephFS != nil {
					x.CephFS = nil
				}
			} else {
				if x.CephFS == nil {
					x.CephFS = new(CephFSVolumeSource)
				}
				x.CephFS.CodecDecodeSelf(d)
			}
		case "fc":
			if x.PersistentVolumeSource.FC == nil {
				x.PersistentVolumeSource.FC = new(FCVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.FC != nil {
					x.FC = nil
				}
			} else {
				if x.FC == nil {
					x.FC = new(FCVolumeSource)
				}
				x.FC.CodecDecodeSelf(d)
			}
		case "flocker":
			if x.PersistentVolumeSource.Flocker == nil {
				x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.Flocker != nil {
					x.Flocker = nil
				}
			} else {
				if x.Flocker == nil {
					x.Flocker = new(FlockerVolumeSource)
				}
				x.Flocker.CodecDecodeSelf(d)
			}
		case "azureFile":
			if x.PersistentVolumeSource.AzureFile == nil {
				x.PersistentVolumeSource.AzureFile = new(AzureFileVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureFile != nil {
					x.AzureFile = nil
				}
			} else {
				if x.AzureFile == nil {
					x.AzureFile = new(AzureFileVolumeSource)
				}
				x.AzureFile.CodecDecodeSelf(d)
			}
		case "vsphereVolume":
			if x.PersistentVolumeSource.VsphereVolume == nil {
				x.PersistentVolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.VsphereVolume != nil {
					x.VsphereVolume = nil
				}
			} else {
				if x.VsphereVolume == nil {
					x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
				}
				x.VsphereVolume.CodecDecodeSelf(d)
			}
		case "azureDisk":
			if x.PersistentVolumeSource.AzureDisk == nil {
				x.PersistentVolumeSource.AzureDisk = new(AzureDiskVolumeSource)
			}
			if r.TryDecodeAsNil() {
				if x.AzureDisk != nil {
					x.AzureDisk = nil
				}
			} else {
				if x.AzureDisk == nil {
					x.AzureDisk = new(AzureDiskVolumeSource)
				}
				x.AzureDisk.CodecDecodeSelf(d)
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv394 := &x.AccessModes
				yym395 := z.DecBinary()
				_ = yym395
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv394), d)
				}
			}
		case "claimRef":
			if r.TryDecodeAsNil() {
				if x.ClaimRef != nil {
					x.ClaimRef = nil
				}
			} else {
				if x.ClaimRef == nil {
					x.ClaimRef = new(ObjectReference)
				}
				x.ClaimRef.CodecDecodeSelf(d)
			}
		case "persistentVolumeReclaimPolicy":
			if r.TryDecodeAsNil() {
				x.PersistentVolumeReclaimPolicy = ""
			} else {
				x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys376)
		} // end switch yys376
	} // end for yyj376
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj398 int
	var yyb398 bool
	var yyhl398 bool = l >= 0
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv399 := &x.Capacity
		yyv399.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.GCEPersistentDisk == nil {
		x.PersistentVolumeSource.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
		x.PersistentVolumeSource.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.HostPath == nil {
		x.PersistentVolumeSource.HostPath = new(HostPathVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Glusterfs == nil {
		x.PersistentVolumeSource.Glusterfs = new(GlusterfsVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.NFS == nil {
		x.PersistentVolumeSource.NFS = new(NFSVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.RBD == nil {
		x.PersistentVolumeSource.RBD = new(RBDVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Quobyte == nil {
		x.PersistentVolumeSource.Quobyte = new(QuobyteVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Quobyte != nil {
			x.Quobyte = nil
		}
	} else {
		if x.Quobyte == nil {
			x.Quobyte = new(QuobyteVolumeSource)
		}
		x.Quobyte.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.ISCSI == nil {
		x.PersistentVolumeSource.ISCSI = new(ISCSIVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.FlexVolume == nil {
		x.PersistentVolumeSource.FlexVolume = new(FlexVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FlexVolume != nil {
			x.FlexVolume = nil
		}
	} else {
		if x.FlexVolume == nil {
			x.FlexVolume = new(FlexVolumeSource)
		}
		x.FlexVolume.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Cinder == nil {
		x.PersistentVolumeSource.Cinder = new(CinderVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.CephFS == nil {
		x.PersistentVolumeSource.CephFS = new(CephFSVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.FC == nil {
		x.PersistentVolumeSource.FC = new(FCVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.Flocker == nil {
		x.PersistentVolumeSource.Flocker = new(FlockerVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AzureFile == nil {
		x.PersistentVolumeSource.AzureFile = new(AzureFileVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureFile != nil {
			x.AzureFile = nil
		}
	} else {
		if x.AzureFile == nil {
			x.AzureFile = new(AzureFileVolumeSource)
		}
		x.AzureFile.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.VsphereVolume == nil {
		x.PersistentVolumeSource.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.VsphereVolume != nil {
			x.VsphereVolume = nil
		}
	} else {
		if x.VsphereVolume == nil {
			x.VsphereVolume = new(VsphereVirtualDiskVolumeSource)
		}
		x.VsphereVolume.CodecDecodeSelf(d)
	}
	if x.PersistentVolumeSource.AzureDisk == nil {
		x.PersistentVolumeSource.AzureDisk = new(AzureDiskVolumeSource)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.AzureDisk != nil {
			x.AzureDisk = nil
		}
	} else {
		if x.AzureDisk == nil {
			x.AzureDisk = new(AzureDiskVolumeSource)
		}
		x.AzureDisk.CodecDecodeSelf(d)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv416 := &x.AccessModes
		yym417 := z.DecBinary()
		_ = yym417
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv416), d)
		}
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ClaimRef != nil {
			x.ClaimRef = nil
		}
	} else {
		if x.ClaimRef == nil {
			x.ClaimRef = new(ObjectReference)
		}
		x.ClaimRef.CodecDecodeSelf(d)
	}
	yyj398++
	if yyhl398 {
		yyb398 = yyj398 > l
	} else {
		yyb398 = r.CheckBreak()
	}
	if yyb398 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj398++
		if yyhl398 {
			yyb398 = yyj398 > l
		} else {
			yyb398 = r.CheckBreak()
		}
		if yyb398 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj398-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym420 := z.EncBinary()
	_ = yym420
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeReclaimPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym421 := z.DecBinary()
	_ = yym421
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PersistentVolumeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym422 := z.EncBinary()
		_ = yym422
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep423 := !z.EncBinary()
			yy2arr423 := z.EncBasicHandle().StructToArray
			var yyq423 [3]bool
			_, _, _ = yysep423, yyq423, yy2arr423
			const yyr423 bool = false
			yyq423[0] = x.Phase != ""
			yyq423[1] = x.Message != ""
			yyq423[2] = x.Reason != ""
			var yynn423 int
			if yyr423 || yy2arr423 {
				r.EncodeArrayStart(3)
			} else {
				yynn423 = 0
				for _, b := range yyq423 {
					if b {
						yynn423++
					}
				}
				r.EncodeMapStart(yynn423)
				yynn423 = 0
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq423[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq423[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq423[1] {
					yym426 := z.EncBinary()
					_ = yym426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq423[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym427 := z.EncBinary()
					_ = yym427
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq423[2] {
					yym429 := z.EncBinary()
					_ = yym429
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq423[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym430 := z.EncBinary()
					_ = yym430
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr423 || yy2arr423 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym431 := z.DecBinary()
	_ = yym431
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct432 := r.ContainerType()
		if yyct432 == codecSelferValueTypeMap1234 {
			yyl432 := r.ReadMapStart()
			if yyl432 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl432, d)
			}
		} else if yyct432 == codecSelferValueTypeArray1234 {
			yyl432 := r.ReadArrayStart()
			if yyl432 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl432, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys433Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys433Slc
	var yyhl433 bool = l >= 0
	for yyj433 := 0; ; yyj433++ {
		if yyhl433 {
			if yyj433 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys433Slc = r.DecodeBytes(yys433Slc, true, true)
		yys433 := string(yys433Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys433 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumePhase(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys433)
		} // end switch yys433
	} // end for yyj433
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj437 int
	var yyb437 bool
	var yyhl437 bool = l >= 0
	yyj437++
	if yyhl437 {
		yyb437 = yyj437 > l
	} else {
		yyb437 = r.CheckBreak()
	}
	if yyb437 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumePhase(r.DecodeString())
	}
	yyj437++
	if yyhl437 {
		yyb437 = yyj437 > l
	} else {
		yyb437 = r.CheckBreak()
	}
	if yyb437 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj437++
	if yyhl437 {
		yyb437 = yyj437 > l
	} else {
		yyb437 = r.CheckBreak()
	}
	if yyb437 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	for {
		yyj437++
		if yyhl437 {
			yyb437 = yyj437 > l
		} else {
			yyb437 = r.CheckBreak()
		}
		if yyb437 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj437-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym441 := z.EncBinary()
		_ = yym441
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep442 := !z.EncBinary()
			yy2arr442 := z.EncBasicHandle().StructToArray
			var yyq442 [4]bool
			_, _, _ = yysep442, yyq442, yy2arr442
			const yyr442 bool = false
			yyq442[0] = x.Kind != ""
			yyq442[1] = x.APIVersion != ""
			yyq442[2] = true
			var yynn442 int
			if yyr442 || yy2arr442 {
				r.EncodeArrayStart(4)
			} else {
				yynn442 = 1
				for _, b := range yyq442 {
					if b {
						yynn442++
					}
				}
				r.EncodeMapStart(yynn442)
				yynn442 = 0
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq442[0] {
					yym444 := z.EncBinary()
					_ = yym444
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq442[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym445 := z.EncBinary()
					_ = yym445
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq442[1] {
					yym447 := z.EncBinary()
					_ = yym447
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq442[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym448 := z.EncBinary()
					_ = yym448
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq442[2] {
					yy450 := &x.ListMeta
					yym451 := z.EncBinary()
					_ = yym451
					if false {
					} else if z.HasExtensions() && z.EncExt(yy450) {
					} else {
						z.EncFallback(yy450)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq442[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy452 := &x.ListMeta
					yym453 := z.EncBinary()
					_ = yym453
					if false {
					} else if z.HasExtensions() && z.EncExt(yy452) {
					} else {
						z.EncFallback(yy452)
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym455 := z.EncBinary()
					_ = yym455
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym456 := z.EncBinary()
					_ = yym456
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yyr442 || yy2arr442 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym457 := z.DecBinary()
	_ = yym457
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct458 := r.ContainerType()
		if yyct458 == codecSelferValueTypeMap1234 {
			yyl458 := r.ReadMapStart()
			if yyl458 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl458, d)
			}
		} else if yyct458 == codecSelferValueTypeArray1234 {
			yyl458 := r.ReadArrayStart()
			if yyl458 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl458, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys459Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys459Slc
	var yyhl459 bool = l >= 0
	for yyj459 := 0; ; yyj459++ {
		if yyhl459 {
			if yyj459 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys459Slc = r.DecodeBytes(yys459Slc, true, true)
		yys459 := string(yys459Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys459 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv462 := &x.ListMeta
				yym463 := z.DecBinary()
				_ = yym463
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv462) {
				} else {
					z.DecFallback(yyv462, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv464 := &x.Items
				yym465 := z.DecBinary()
				_ = yym465
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv464), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys459)
		} // end switch yys459
	} // end for yyj459
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj466 int
	var yyb466 bool
	var yyhl466 bool = l >= 0
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv469 := &x.ListMeta
		yym470 := z.DecBinary()
		_ = yym470
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv469) {
		} else {
			z.DecFallback(yyv469, false)
		}
	}
	yyj466++
	if yyhl466 {
		yyb466 = yyj466 > l
	} else {
		yyb466 = r.CheckBreak()
	}
	if yyb466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv471 := &x.Items
		yym472 := z.DecBinary()
		_ = yym472
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv471), d)
		}
	}
	for {
		yyj466++
		if yyhl466 {
			yyb466 = yyj466 > l
		} else {
			yyb466 = r.CheckBreak()
		}
		if yyb466 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj466-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaim) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym473 := z.EncBinary()
		_ = yym473
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep474 := !z.EncBinary()
			yy2arr474 := z.EncBasicHandle().StructToArray
			var yyq474 [5]bool
			_, _, _ = yysep474, yyq474, yy2arr474
			const yyr474 bool = false
			yyq474[0] = x.Kind != ""
			yyq474[1] = x.APIVersion != ""
			yyq474[2] = true
			yyq474[3] = true
			yyq474[4] = true
			var yynn474 int
			if yyr474 || yy2arr474 {
				r.EncodeArrayStart(5)
			} else {
				yynn474 = 0
				for _, b := range yyq474 {
					if b {
						yynn474++
					}
				}
				r.EncodeMapStart(yynn474)
				yynn474 = 0
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[0] {
					yym476 := z.EncBinary()
					_ = yym476
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq474[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym477 := z.EncBinary()
					_ = yym477
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[1] {
					yym479 := z.EncBinary()
					_ = yym479
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq474[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym480 := z.EncBinary()
					_ = yym480
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[2] {
					yy482 := &x.ObjectMeta
					yy482.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq474[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy483 := &x.ObjectMeta
					yy483.CodecEncodeSelf(e)
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[3] {
					yy485 := &x.Spec
					yy485.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq474[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy486 := &x.Spec
					yy486.CodecEncodeSelf(e)
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq474[4] {
					yy488 := &x.Status
					yy488.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq474[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy489 := &x.Status
					yy489.CodecEncodeSelf(e)
				}
			}
			if yyr474 || yy2arr474 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaim) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym490 := z.DecBinary()
	_ = yym490
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct491 := r.ContainerType()
		if yyct491 == codecSelferValueTypeMap1234 {
			yyl491 := r.ReadMapStart()
			if yyl491 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl491, d)
			}
		} else if yyct491 == codecSelferValueTypeArray1234 {
			yyl491 := r.ReadArrayStart()
			if yyl491 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl491, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys492Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys492Slc
	var yyhl492 bool = l >= 0
	for yyj492 := 0; ; yyj492++ {
		if yyhl492 {
			if yyj492 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys492Slc = r.DecodeBytes(yys492Slc, true, true)
		yys492 := string(yys492Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys492 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv495 := &x.ObjectMeta
				yyv495.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv496 := &x.Spec
				yyv496.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv497 := &x.Status
				yyv497.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys492)
		} // end switch yys492
	} // end for yyj492
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj498 int
	var yyb498 bool
	var yyhl498 bool = l >= 0
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv501 := &x.ObjectMeta
		yyv501.CodecDecodeSelf(d)
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv502 := &x.Spec
		yyv502.CodecDecodeSelf(d)
	}
	yyj498++
	if yyhl498 {
		yyb498 = yyj498 > l
	} else {
		yyb498 = r.CheckBreak()
	}
	if yyb498 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv503 := &x.Status
		yyv503.CodecDecodeSelf(d)
	}
	for {
		yyj498++
		if yyhl498 {
			yyb498 = yyj498 > l
		} else {
			yyb498 = r.CheckBreak()
		}
		if yyb498 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj498-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym504 := z.EncBinary()
		_ = yym504
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep505 := !z.EncBinary()
			yy2arr505 := z.EncBasicHandle().StructToArray
			var yyq505 [4]bool
			_, _, _ = yysep505, yyq505, yy2arr505
			const yyr505 bool = false
			yyq505[0] = x.Kind != ""
			yyq505[1] = x.APIVersion != ""
			yyq505[2] = true
			var yynn505 int
			if yyr505 || yy2arr505 {
				r.EncodeArrayStart(4)
			} else {
				yynn505 = 1
				for _, b := range yyq505 {
					if b {
						yynn505++
					}
				}
				r.EncodeMapStart(yynn505)
				yynn505 = 0
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq505[0] {
					yym507 := z.EncBinary()
					_ = yym507
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq505[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym508 := z.EncBinary()
					_ = yym508
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq505[1] {
					yym510 := z.EncBinary()
					_ = yym510
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq505[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym511 := z.EncBinary()
					_ = yym511
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq505[2] {
					yy513 := &x.ListMeta
					yym514 := z.EncBinary()
					_ = yym514
					if false {
					} else if z.HasExtensions() && z.EncExt(yy513) {
					} else {
						z.EncFallback(yy513)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq505[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy515 := &x.ListMeta
					yym516 := z.EncBinary()
					_ = yym516
					if false {
					} else if z.HasExtensions() && z.EncExt(yy515) {
					} else {
						z.EncFallback(yy515)
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym518 := z.EncBinary()
					_ = yym518
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym519 := z.EncBinary()
					_ = yym519
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yyr505 || yy2arr505 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym520 := z.DecBinary()
	_ = yym520
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct521 := r.ContainerType()
		if yyct521 == codecSelferValueTypeMap1234 {
			yyl521 := r.ReadMapStart()
			if yyl521 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl521, d)
			}
		} else if yyct521 == codecSelferValueTypeArray1234 {
			yyl521 := r.ReadArrayStart()
			if yyl521 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl521, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys522Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys522Slc
	var yyhl522 bool = l >= 0
	for yyj522 := 0; ; yyj522++ {
		if yyhl522 {
			if yyj522 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys522Slc = r.DecodeBytes(yys522Slc, true, true)
		yys522 := string(yys522Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys522 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv525 := &x.ListMeta
				yym526 := z.DecBinary()
				_ = yym526
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv525) {
				} else {
					z.DecFallback(yyv525, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv527 := &x.Items
				yym528 := z.DecBinary()
				_ = yym528
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv527), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys522)
		} // end switch yys522
	} // end for yyj522
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj529 int
	var yyb529 bool
	var yyhl529 bool = l >= 0
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv532 := &x.ListMeta
		yym533 := z.DecBinary()
		_ = yym533
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv532) {
		} else {
			z.DecFallback(yyv532, false)
		}
	}
	yyj529++
	if yyhl529 {
		yyb529 = yyj529 > l
	} else {
		yyb529 = r.CheckBreak()
	}
	if yyb529 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv534 := &x.Items
		yym535 := z.DecBinary()
		_ = yym535
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv534), d)
		}
	}
	for {
		yyj529++
		if yyhl529 {
			yyb529 = yyj529 > l
		} else {
			yyb529 = r.CheckBreak()
		}
		if yyb529 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj529-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym536 := z.EncBinary()
		_ = yym536
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep537 := !z.EncBinary()
			yy2arr537 := z.EncBasicHandle().StructToArray
			var yyq537 [4]bool
			_, _, _ = yysep537, yyq537, yy2arr537
			const yyr537 bool = false
			yyq537[0] = len(x.AccessModes) != 0
			yyq537[1] = x.Selector != nil
			yyq537[2] = true
			yyq537[3] = x.VolumeName != ""
			var yynn537 int
			if yyr537 || yy2arr537 {
				r.EncodeArrayStart(4)
			} else {
				yynn537 = 0
				for _, b := range yyq537 {
					if b {
						yynn537++
					}
				}
				r.EncodeMapStart(yynn537)
				yynn537 = 0
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym539 := z.EncBinary()
						_ = yym539
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq537[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym540 := z.EncBinary()
						_ = yym540
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[1] {
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym542 := z.EncBinary()
						_ = yym542
						if false {
						} else if z.HasExtensions() && z.EncExt(x.Selector) {
						} else {
							z.EncFallback(x.Selector)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq537[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("selector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Selector == nil {
						r.EncodeNil()
					} else {
						yym543 := z.EncBinary()
						_ = yym543
						if false {
						} else if z.HasExtensions() && z.EncExt(x.Selector) {
						} else {
							z.EncFallback(x.Selector)
						}
					}
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[2] {
					yy545 := &x.Resources
					yy545.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq537[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy546 := &x.Resources
					yy546.CodecEncodeSelf(e)
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq537[3] {
					yym548 := z.EncBinary()
					_ = yym548
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq537[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym549 := z.EncBinary()
					_ = yym549
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yyr537 || yy2arr537 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym550 := z.DecBinary()
	_ = yym550
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct551 := r.ContainerType()
		if yyct551 == codecSelferValueTypeMap1234 {
			yyl551 := r.ReadMapStart()
			if yyl551 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl551, d)
			}
		} else if yyct551 == codecSelferValueTypeArray1234 {
			yyl551 := r.ReadArrayStart()
			if yyl551 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl551, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys552Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys552Slc
	var yyhl552 bool = l >= 0
	for yyj552 := 0; ; yyj552++ {
		if yyhl552 {
			if yyj552 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys552Slc = r.DecodeBytes(yys552Slc, true, true)
		yys552 := string(yys552Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys552 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv553 := &x.AccessModes
				yym554 := z.DecBinary()
				_ = yym554
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv553), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				if x.Selector != nil {
					x.Selector = nil
				}
			} else {
				if x.Selector == nil {
					x.Selector = new(pkg2_unversioned.LabelSelector)
				}
				yym556 := z.DecBinary()
				_ = yym556
				if false {
				} else if z.HasExtensions() && z.DecExt(x.Selector) {
				} else {
					z.DecFallback(x.Selector, false)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv557 := &x.Resources
				yyv557.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys552)
		} // end switch yys552
	} // end for yyj552
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj559 int
	var yyb559 bool
	var yyhl559 bool = l >= 0
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv560 := &x.AccessModes
		yym561 := z.DecBinary()
		_ = yym561
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv560), d)
		}
	}
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Selector != nil {
			x.Selector = nil
		}
	} else {
		if x.Selector == nil {
			x.Selector = new(pkg2_unversioned.LabelSelector)
		}
		yym563 := z.DecBinary()
		_ = yym563
		if false {
		} else if z.HasExtensions() && z.DecExt(x.Selector) {
		} else {
			z.DecFallback(x.Selector, false)
		}
	}
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv564 := &x.Resources
		yyv564.CodecDecodeSelf(d)
	}
	yyj559++
	if yyhl559 {
		yyb559 = yyj559 > l
	} else {
		yyb559 = r.CheckBreak()
	}
	if yyb559 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj559++
		if yyhl559 {
			yyb559 = yyj559 > l
		} else {
			yyb559 = r.CheckBreak()
		}
		if yyb559 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj559-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PersistentVolumeClaimStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym566 := z.EncBinary()
		_ = yym566
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep567 := !z.EncBinary()
			yy2arr567 := z.EncBasicHandle().StructToArray
			var yyq567 [3]bool
			_, _, _ = yysep567, yyq567, yy2arr567
			const yyr567 bool = false
			yyq567[0] = x.Phase != ""
			yyq567[1] = len(x.AccessModes) != 0
			yyq567[2] = len(x.Capacity) != 0
			var yynn567 int
			if yyr567 || yy2arr567 {
				r.EncodeArrayStart(3)
			} else {
				yynn567 = 0
				for _, b := range yyq567 {
					if b {
						yynn567++
					}
				}
				r.EncodeMapStart(yynn567)
				yynn567 = 0
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq567[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq567[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq567[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym570 := z.EncBinary()
						_ = yym570
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq567[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym571 := z.EncBinary()
						_ = yym571
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq567[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq567[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr567 || yy2arr567 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PersistentVolumeClaimStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym573 := z.DecBinary()
	_ = yym573
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct574 := r.ContainerType()
		if yyct574 == codecSelferValueTypeMap1234 {
			yyl574 := r.ReadMapStart()
			if yyl574 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl574, d)
			}
		} else if yyct574 == codecSelferValueTypeArray1234 {
			yyl574 := r.ReadArrayStart()
			if yyl574 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl574, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys575Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys575Slc
	var yyhl575 bool = l >= 0
	for yyj575 := 0; ; yyj575++ {
		if yyhl575 {
			if yyj575 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys575Slc = r.DecodeBytes(yys575Slc, true, true)
		yys575 := string(yys575Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys575 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv577 := &x.AccessModes
				yym578 := z.DecBinary()
				_ = yym578
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv577), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv579 := &x.Capacity
				yyv579.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys575)
		} // end switch yys575
	} // end for yyj575
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj580 int
	var yyb580 bool
	var yyhl580 bool = l >= 0
	yyj580++
	if yyhl580 {
		yyb580 = yyj580 > l
	} else {
		yyb580 = r.CheckBreak()
	}
	if yyb580 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj580++
	if yyhl580 {
		yyb580 = yyj580 > l
	} else {
		yyb580 = r.CheckBreak()
	}
	if yyb580 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv582 := &x.AccessModes
		yym583 := z.DecBinary()
		_ = yym583
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv582), d)
		}
	}
	yyj580++
	if yyhl580 {
		yyb580 = yyj580 > l
	} else {
		yyb580 = r.CheckBreak()
	}
	if yyb580 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv584 := &x.Capacity
		yyv584.CodecDecodeSelf(d)
	}
	for {
		yyj580++
		if yyhl580 {
			yyb580 = yyj580 > l
		} else {
			yyb580 = r.CheckBreak()
		}
		if yyb580 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj580-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym585 := z.EncBinary()
	_ = yym585
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeAccessMode) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym586 := z.DecBinary()
	_ = yym586
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym587 := z.EncBinary()
	_ = yym587
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym588 := z.DecBinary()
	_ = yym588
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PersistentVolumeClaimPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym589 := z.EncBinary()
	_ = yym589
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PersistentVolumeClaimPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym590 := z.DecBinary()
	_ = yym590
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *HostPathVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym591 := z.EncBinary()
		_ = yym591
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep592 := !z.EncBinary()
			yy2arr592 := z.EncBasicHandle().StructToArray
			var yyq592 [1]bool
			_, _, _ = yysep592, yyq592, yy2arr592
			const yyr592 bool = false
			var yynn592 int
			if yyr592 || yy2arr592 {
				r.EncodeArrayStart(1)
			} else {
				yynn592 = 1
				for _, b := range yyq592 {
					if b {
						yynn592++
					}
				}
				r.EncodeMapStart(yynn592)
				yynn592 = 0
			}
			if yyr592 || yy2arr592 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym594 := z.EncBinary()
				_ = yym594
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym595 := z.EncBinary()
				_ = yym595
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr592 || yy2arr592 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HostPathVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym596 := z.DecBinary()
	_ = yym596
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct597 := r.ContainerType()
		if yyct597 == codecSelferValueTypeMap1234 {
			yyl597 := r.ReadMapStart()
			if yyl597 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl597, d)
			}
		} else if yyct597 == codecSelferValueTypeArray1234 {
			yyl597 := r.ReadArrayStart()
			if yyl597 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl597, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HostPathVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys598Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys598Slc
	var yyhl598 bool = l >= 0
	for yyj598 := 0; ; yyj598++ {
		if yyhl598 {
			if yyj598 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys598Slc = r.DecodeBytes(yys598Slc, true, true)
		yys598 := string(yys598Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys598 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys598)
		} // end switch yys598
	} // end for yyj598
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HostPathVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj600 int
	var yyb600 bool
	var yyhl600 bool = l >= 0
	yyj600++
	if yyhl600 {
		yyb600 = yyj600 > l
	} else {
		yyb600 = r.CheckBreak()
	}
	if yyb600 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj600++
		if yyhl600 {
			yyb600 = yyj600 > l
		} else {
			yyb600 = r.CheckBreak()
		}
		if yyb600 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj600-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EmptyDirVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym602 := z.EncBinary()
		_ = yym602
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep603 := !z.EncBinary()
			yy2arr603 := z.EncBasicHandle().StructToArray
			var yyq603 [1]bool
			_, _, _ = yysep603, yyq603, yy2arr603
			const yyr603 bool = false
			yyq603[0] = x.Medium != ""
			var yynn603 int
			if yyr603 || yy2arr603 {
				r.EncodeArrayStart(1)
			} else {
				yynn603 = 0
				for _, b := range yyq603 {
					if b {
						yynn603++
					}
				}
				r.EncodeMapStart(yynn603)
				yynn603 = 0
			}
			if yyr603 || yy2arr603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq603[0] {
					x.Medium.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq603[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("medium"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Medium.CodecEncodeSelf(e)
				}
			}
			if yyr603 || yy2arr603 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EmptyDirVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym605 := z.DecBinary()
	_ = yym605
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct606 := r.ContainerType()
		if yyct606 == codecSelferValueTypeMap1234 {
			yyl606 := r.ReadMapStart()
			if yyl606 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl606, d)
			}
		} else if yyct606 == codecSelferValueTypeArray1234 {
			yyl606 := r.ReadArrayStart()
			if yyl606 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl606, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys607Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys607Slc
	var yyhl607 bool = l >= 0
	for yyj607 := 0; ; yyj607++ {
		if yyhl607 {
			if yyj607 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys607Slc = r.DecodeBytes(yys607Slc, true, true)
		yys607 := string(yys607Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys607 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys607)
		} // end switch yys607
	} // end for yyj607
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EmptyDirVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj609 int
	var yyb609 bool
	var yyhl609 bool = l >= 0
	yyj609++
	if yyhl609 {
		yyb609 = yyj609 > l
	} else {
		yyb609 = r.CheckBreak()
	}
	if yyb609 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Medium = ""
	} else {
		x.Medium = StorageMedium(r.DecodeString())
	}
	for {
		yyj609++
		if yyhl609 {
			yyb609 = yyj609 > l
		} else {
			yyb609 = r.CheckBreak()
		}
		if yyb609 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj609-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym611 := z.EncBinary()
	_ = yym611
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *StorageMedium) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym612 := z.DecBinary()
	_ = yym612
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Protocol) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym613 := z.EncBinary()
	_ = yym613
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Protocol) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym614 := z.DecBinary()
	_ = yym614
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym615 := z.EncBinary()
		_ = yym615
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep616 := !z.EncBinary()
			yy2arr616 := z.EncBasicHandle().StructToArray
			var yyq616 [4]bool
			_, _, _ = yysep616, yyq616, yy2arr616
			const yyr616 bool = false
			yyq616[1] = x.FSType != ""
			yyq616[2] = x.Partition != 0
			yyq616[3] = x.ReadOnly != false
			var yynn616 int
			if yyr616 || yy2arr616 {
				r.EncodeArrayStart(4)
			} else {
				yynn616 = 1
				for _, b := range yyq616 {
					if b {
						yynn616++
					}
				}
				r.EncodeMapStart(yynn616)
				yynn616 = 0
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym618 := z.EncBinary()
				_ = yym618
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("pdName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym619 := z.EncBinary()
				_ = yym619
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq616[1] {
					yym621 := z.EncBinary()
					_ = yym621
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq616[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym622 := z.EncBinary()
					_ = yym622
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq616[2] {
					yym624 := z.EncBinary()
					_ = yym624
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq616[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym625 := z.EncBinary()
					_ = yym625
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq616[3] {
					yym627 := z.EncBinary()
					_ = yym627
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq616[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym628 := z.EncBinary()
					_ = yym628
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr616 || yy2arr616 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym629 := z.DecBinary()
	_ = yym629
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct630 := r.ContainerType()
		if yyct630 == codecSelferValueTypeMap1234 {
			yyl630 := r.ReadMapStart()
			if yyl630 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl630, d)
			}
		} else if yyct630 == codecSelferValueTypeArray1234 {
			yyl630 := r.ReadArrayStart()
			if yyl630 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl630, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys631Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys631Slc
	var yyhl631 bool = l >= 0
	for yyj631 := 0; ; yyj631++ {
		if yyhl631 {
			if yyj631 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys631Slc = r.DecodeBytes(yys631Slc, true, true)
		yys631 := string(yys631Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys631 {
		case "pdName":
			if r.TryDecodeAsNil() {
				x.PDName = ""
			} else {
				x.PDName = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int32(r.DecodeInt(32))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys631)
		} // end switch yys631
	} // end for yyj631
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj636 int
	var yyb636 bool
	var yyhl636 bool = l >= 0
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj636++
	if yyhl636 {
		yyb636 = yyj636 > l
	} else {
		yyb636 = r.CheckBreak()
	}
	if yyb636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj636++
		if yyhl636 {
			yyb636 = yyj636 > l
		} else {
			yyb636 = r.CheckBreak()
		}
		if yyb636 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj636-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym641 := z.EncBinary()
		_ = yym641
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep642 := !z.EncBinary()
			yy2arr642 := z.EncBasicHandle().StructToArray
			var yyq642 [6]bool
			_, _, _ = yysep642, yyq642, yy2arr642
			const yyr642 bool = false
			yyq642[0] = x.TargetPortal != ""
			yyq642[1] = x.IQN != ""
			yyq642[2] = x.Lun != 0
			yyq642[3] = x.ISCSIInterface != ""
			yyq642[4] = x.FSType != ""
			yyq642[5] = x.ReadOnly != false
			var yynn642 int
			if yyr642 || yy2arr642 {
				r.EncodeArrayStart(6)
			} else {
				yynn642 = 0
				for _, b := range yyq642 {
					if b {
						yynn642++
					}
				}
				r.EncodeMapStart(yynn642)
				yynn642 = 0
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[0] {
					yym644 := z.EncBinary()
					_ = yym644
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym645 := z.EncBinary()
					_ = yym645
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[1] {
					yym647 := z.EncBinary()
					_ = yym647
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iqn"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym648 := z.EncBinary()
					_ = yym648
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[2] {
					yym650 := z.EncBinary()
					_ = yym650
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq642[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lun"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym651 := z.EncBinary()
					_ = yym651
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[3] {
					yym653 := z.EncBinary()
					_ = yym653
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("iscsiInterface"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym654 := z.EncBinary()
					_ = yym654
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ISCSIInterface))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[4] {
					yym656 := z.EncBinary()
					_ = yym656
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq642[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym657 := z.EncBinary()
					_ = yym657
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq642[5] {
					yym659 := z.EncBinary()
					_ = yym659
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq642[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym660 := z.EncBinary()
					_ = yym660
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr642 || yy2arr642 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ISCSIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym661 := z.DecBinary()
	_ = yym661
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct662 := r.ContainerType()
		if yyct662 == codecSelferValueTypeMap1234 {
			yyl662 := r.ReadMapStart()
			if yyl662 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl662, d)
			}
		} else if yyct662 == codecSelferValueTypeArray1234 {
			yyl662 := r.ReadArrayStart()
			if yyl662 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl662, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys663Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys663Slc
	var yyhl663 bool = l >= 0
	for yyj663 := 0; ; yyj663++ {
		if yyhl663 {
			if yyj663 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys663Slc = r.DecodeBytes(yys663Slc, true, true)
		yys663 := string(yys663Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys663 {
		case "targetPortal":
			if r.TryDecodeAsNil() {
				x.TargetPortal = ""
			} else {
				x.TargetPortal = string(r.DecodeString())
			}
		case "iqn":
			if r.TryDecodeAsNil() {
				x.IQN = ""
			} else {
				x.IQN = string(r.DecodeString())
			}
		case "lun":
			if r.TryDecodeAsNil() {
				x.Lun = 0
			} else {
				x.Lun = int32(r.DecodeInt(32))
			}
		case "iscsiInterface":
			if r.TryDecodeAsNil() {
				x.ISCSIInterface = ""
			} else {
				x.ISCSIInterface = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys663)
		} // end switch yys663
	} // end for yyj663
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj670 int
	var yyb670 bool
	var yyhl670 bool = l >= 0
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int32(r.DecodeInt(32))
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ISCSIInterface = ""
	} else {
		x.ISCSIInterface = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj670++
	if yyhl670 {
		yyb670 = yyj670 > l
	} else {
		yyb670 = r.CheckBreak()
	}
	if yyb670 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj670++
		if yyhl670 {
			yyb670 = yyj670 > l
		} else {
			yyb670 = r.CheckBreak()
		}
		if yyb670 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj670-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FCVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym677 := z.EncBinary()
		_ = yym677
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep678 := !z.EncBinary()
			yy2arr678 := z.EncBasicHandle().StructToArray
			var yyq678 [4]bool
			_, _, _ = yysep678, yyq678, yy2arr678
			const yyr678 bool = false
			yyq678[2] = x.FSType != ""
			yyq678[3] = x.ReadOnly != false
			var yynn678 int
			if yyr678 || yy2arr678 {
				r.EncodeArrayStart(4)
			} else {
				yynn678 = 2
				for _, b := range yyq678 {
					if b {
						yynn678++
					}
				}
				r.EncodeMapStart(yynn678)
				yynn678 = 0
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym680 := z.EncBinary()
					_ = yym680
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetWWNs"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym681 := z.EncBinary()
					_ = yym681
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy683 := *x.Lun
					yym684 := z.EncBinary()
					_ = yym684
					if false {
					} else {
						r.EncodeInt(int64(yy683))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy685 := *x.Lun
					yym686 := z.EncBinary()
					_ = yym686
					if false {
					} else {
						r.EncodeInt(int64(yy685))
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq678[2] {
					yym688 := z.EncBinary()
					_ = yym688
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq678[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym689 := z.EncBinary()
					_ = yym689
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq678[3] {
					yym691 := z.EncBinary()
					_ = yym691
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq678[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym692 := z.EncBinary()
					_ = yym692
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr678 || yy2arr678 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FCVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym693 := z.DecBinary()
	_ = yym693
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct694 := r.ContainerType()
		if yyct694 == codecSelferValueTypeMap1234 {
			yyl694 := r.ReadMapStart()
			if yyl694 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl694, d)
			}
		} else if yyct694 == codecSelferValueTypeArray1234 {
			yyl694 := r.ReadArrayStart()
			if yyl694 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl694, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FCVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys695Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys695Slc
	var yyhl695 bool = l >= 0
	for yyj695 := 0; ; yyj695++ {
		if yyhl695 {
			if yyj695 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys695Slc = r.DecodeBytes(yys695Slc, true, true)
		yys695 := string(yys695Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys695 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv696 := &x.TargetWWNs
				yym697 := z.DecBinary()
				_ = yym697
				if false {
				} else {
					z.F.DecSliceStringX(yyv696, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int32)
				}
				yym699 := z.DecBinary()
				_ = yym699
				if false {
				} else {
					*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
				}
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys695)
		} // end switch yys695
	} // end for yyj695
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FCVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj702 int
	var yyb702 bool
	var yyhl702 bool = l >= 0
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv703 := &x.TargetWWNs
		yym704 := z.DecBinary()
		_ = yym704
		if false {
		} else {
			z.F.DecSliceStringX(yyv703, false, d)
		}
	}
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Lun != nil {
			x.Lun = nil
		}
	} else {
		if x.Lun == nil {
			x.Lun = new(int32)
		}
		yym706 := z.DecBinary()
		_ = yym706
		if false {
		} else {
			*((*int32)(x.Lun)) = int32(r.DecodeInt(32))
		}
	}
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj702++
	if yyhl702 {
		yyb702 = yyj702 > l
	} else {
		yyb702 = r.CheckBreak()
	}
	if yyb702 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj702++
		if yyhl702 {
			yyb702 = yyj702 > l
		} else {
			yyb702 = r.CheckBreak()
		}
		if yyb702 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj702-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FlexVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym709 := z.EncBinary()
		_ = yym709
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep710 := !z.EncBinary()
			yy2arr710 := z.EncBasicHandle().StructToArray
			var yyq710 [5]bool
			_, _, _ = yysep710, yyq710, yy2arr710
			const yyr710 bool = false
			yyq710[1] = x.FSType != ""
			yyq710[2] = x.SecretRef != nil
			yyq710[3] = x.ReadOnly != false
			yyq710[4] = len(x.Options) != 0
			var yynn710 int
			if yyr710 || yy2arr710 {
				r.EncodeArrayStart(5)
			} else {
				yynn710 = 1
				for _, b := range yyq710 {
					if b {
						yynn710++
					}
				}
				r.EncodeMapStart(yynn710)
				yynn710 = 0
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym712 := z.EncBinary()
				_ = yym712
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("driver"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym713 := z.EncBinary()
				_ = yym713
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Driver))
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[1] {
					yym715 := z.EncBinary()
					_ = yym715
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq710[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym716 := z.EncBinary()
					_ = yym716
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[2] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq710[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[3] {
					yym719 := z.EncBinary()
					_ = yym719
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq710[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym720 := z.EncBinary()
					_ = yym720
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq710[4] {
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym722 := z.EncBinary()
						_ = yym722
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq710[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("options"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Options == nil {
						r.EncodeNil()
					} else {
						yym723 := z.EncBinary()
						_ = yym723
						if false {
						} else {
							z.F.EncMapStringStringV(x.Options, false, e)
						}
					}
				}
			}
			if yyr710 || yy2arr710 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FlexVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym724 := z.DecBinary()
	_ = yym724
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct725 := r.ContainerType()
		if yyct725 == codecSelferValueTypeMap1234 {
			yyl725 := r.ReadMapStart()
			if yyl725 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl725, d)
			}
		} else if yyct725 == codecSelferValueTypeArray1234 {
			yyl725 := r.ReadArrayStart()
			if yyl725 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl725, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlexVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys726Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys726Slc
	var yyhl726 bool = l >= 0
	for yyj726 := 0; ; yyj726++ {
		if yyhl726 {
			if yyj726 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys726Slc = r.DecodeBytes(yys726Slc, true, true)
		yys726 := string(yys726Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys726 {
		case "driver":
			if r.TryDecodeAsNil() {
				x.Driver = ""
			} else {
				x.Driver = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "options":
			if r.TryDecodeAsNil() {
				x.Options = nil
			} else {
				yyv731 := &x.Options
				yym732 := z.DecBinary()
				_ = yym732
				if false {
				} else {
					z.F.DecMapStringStringX(yyv731, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys726)
		} // end switch yys726
	} // end for yyj726
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FlexVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj733 int
	var yyb733 bool
	var yyhl733 bool = l >= 0
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Driver = ""
	} else {
		x.Driver = string(r.DecodeString())
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj733++
	if yyhl733 {
		yyb733 = yyj733 > l
	} else {
		yyb733 = r.CheckBreak()
	}
	if yyb733 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Options = nil
	} else {
		yyv738 := &x.Options
		yym739 := z.DecBinary()
		_ = yym739
		if false {
		} else {
			z.F.DecMapStringStringX(yyv738, false, d)
		}
	}
	for {
		yyj733++
		if yyhl733 {
			yyb733 = yyj733 > l
		} else {
			yyb733 = r.CheckBreak()
		}
		if yyb733 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj733-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AWSElasticBlockStoreVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym740 := z.EncBinary()
		_ = yym740
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep741 := !z.EncBinary()
			yy2arr741 := z.EncBasicHandle().StructToArray
			var yyq741 [4]bool
			_, _, _ = yysep741, yyq741, yy2arr741
			const yyr741 bool = false
			yyq741[1] = x.FSType != ""
			yyq741[2] = x.Partition != 0
			yyq741[3] = x.ReadOnly != false
			var yynn741 int
			if yyr741 || yy2arr741 {
				r.EncodeArrayStart(4)
			} else {
				yynn741 = 1
				for _, b := range yyq741 {
					if b {
						yynn741++
					}
				}
				r.EncodeMapStart(yynn741)
				yynn741 = 0
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym743 := z.EncBinary()
				_ = yym743
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym744 := z.EncBinary()
				_ = yym744
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq741[1] {
					yym746 := z.EncBinary()
					_ = yym746
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq741[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym747 := z.EncBinary()
					_ = yym747
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq741[2] {
					yym749 := z.EncBinary()
					_ = yym749
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq741[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym750 := z.EncBinary()
					_ = yym750
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq741[3] {
					yym752 := z.EncBinary()
					_ = yym752
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq741[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym753 := z.EncBinary()
					_ = yym753
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr741 || yy2arr741 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym754 := z.DecBinary()
	_ = yym754
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct755 := r.ContainerType()
		if yyct755 == codecSelferValueTypeMap1234 {
			yyl755 := r.ReadMapStart()
			if yyl755 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl755, d)
			}
		} else if yyct755 == codecSelferValueTypeArray1234 {
			yyl755 := r.ReadArrayStart()
			if yyl755 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl755, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys756Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys756Slc
	var yyhl756 bool = l >= 0
	for yyj756 := 0; ; yyj756++ {
		if yyhl756 {
			if yyj756 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys756Slc = r.DecodeBytes(yys756Slc, true, true)
		yys756 := string(yys756Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys756 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "partition":
			if r.TryDecodeAsNil() {
				x.Partition = 0
			} else {
				x.Partition = int32(r.DecodeInt(32))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys756)
		} // end switch yys756
	} // end for yyj756
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj761 int
	var yyb761 bool
	var yyhl761 bool = l >= 0
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int32(r.DecodeInt(32))
	}
	yyj761++
	if yyhl761 {
		yyb761 = yyj761 > l
	} else {
		yyb761 = r.CheckBreak()
	}
	if yyb761 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj761++
		if yyhl761 {
			yyb761 = yyj761 > l
		} else {
			yyb761 = r.CheckBreak()
		}
		if yyb761 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj761-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *GitRepoVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym766 := z.EncBinary()
		_ = yym766
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep767 := !z.EncBinary()
			yy2arr767 := z.EncBasicHandle().StructToArray
			var yyq767 [3]bool
			_, _, _ = yysep767, yyq767, yy2arr767
			const yyr767 bool = false
			yyq767[1] = x.Revision != ""
			yyq767[2] = x.Directory != ""
			var yynn767 int
			if yyr767 || yy2arr767 {
				r.EncodeArrayStart(3)
			} else {
				yynn767 = 1
				for _, b := range yyq767 {
					if b {
						yynn767++
					}
				}
				r.EncodeMapStart(yynn767)
				yynn767 = 0
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym769 := z.EncBinary()
				_ = yym769
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("repository"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym770 := z.EncBinary()
				_ = yym770
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq767[1] {
					yym772 := z.EncBinary()
					_ = yym772
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq767[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("revision"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym773 := z.EncBinary()
					_ = yym773
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
					}
				}
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq767[2] {
					yym775 := z.EncBinary()
					_ = yym775
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq767[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("directory"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym776 := z.EncBinary()
					_ = yym776
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Directory))
					}
				}
			}
			if yyr767 || yy2arr767 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GitRepoVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym777 := z.DecBinary()
	_ = yym777
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct778 := r.ContainerType()
		if yyct778 == codecSelferValueTypeMap1234 {
			yyl778 := r.ReadMapStart()
			if yyl778 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl778, d)
			}
		} else if yyct778 == codecSelferValueTypeArray1234 {
			yyl778 := r.ReadArrayStart()
			if yyl778 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl778, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys779Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys779Slc
	var yyhl779 bool = l >= 0
	for yyj779 := 0; ; yyj779++ {
		if yyhl779 {
			if yyj779 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys779Slc = r.DecodeBytes(yys779Slc, true, true)
		yys779 := string(yys779Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys779 {
		case "repository":
			if r.TryDecodeAsNil() {
				x.Repository = ""
			} else {
				x.Repository = string(r.DecodeString())
			}
		case "revision":
			if r.TryDecodeAsNil() {
				x.Revision = ""
			} else {
				x.Revision = string(r.DecodeString())
			}
		case "directory":
			if r.TryDecodeAsNil() {
				x.Directory = ""
			} else {
				x.Directory = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys779)
		} // end switch yys779
	} // end for yyj779
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GitRepoVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj783 int
	var yyb783 bool
	var yyhl783 bool = l >= 0
	yyj783++
	if yyhl783 {
		yyb783 = yyj783 > l
	} else {
		yyb783 = r.CheckBreak()
	}
	if yyb783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Repository = ""
	} else {
		x.Repository = string(r.DecodeString())
	}
	yyj783++
	if yyhl783 {
		yyb783 = yyj783 > l
	} else {
		yyb783 = r.CheckBreak()
	}
	if yyb783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Revision = ""
	} else {
		x.Revision = string(r.DecodeString())
	}
	yyj783++
	if yyhl783 {
		yyb783 = yyj783 > l
	} else {
		yyb783 = r.CheckBreak()
	}
	if yyb783 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Directory = ""
	} else {
		x.Directory = string(r.DecodeString())
	}
	for {
		yyj783++
		if yyhl783 {
			yyb783 = yyj783 > l
		} else {
			yyb783 = r.CheckBreak()
		}
		if yyb783 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj783-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym787 := z.EncBinary()
		_ = yym787
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep788 := !z.EncBinary()
			yy2arr788 := z.EncBasicHandle().StructToArray
			var yyq788 [3]bool
			_, _, _ = yysep788, yyq788, yy2arr788
			const yyr788 bool = false
			yyq788[0] = x.SecretName != ""
			yyq788[1] = len(x.Items) != 0
			yyq788[2] = x.DefaultMode != nil
			var yynn788 int
			if yyr788 || yy2arr788 {
				r.EncodeArrayStart(3)
			} else {
				yynn788 = 0
				for _, b := range yyq788 {
					if b {
						yynn788++
					}
				}
				r.EncodeMapStart(yynn788)
				yynn788 = 0
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq788[0] {
					yym790 := z.EncBinary()
					_ = yym790
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq788[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym791 := z.EncBinary()
					_ = yym791
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
					}
				}
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq788[1] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym793 := z.EncBinary()
						_ = yym793
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq788[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym794 := z.EncBinary()
						_ = yym794
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				}
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq788[2] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy796 := *x.DefaultMode
						yym797 := z.EncBinary()
						_ = yym797
						if false {
						} else {
							r.EncodeInt(int64(yy796))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq788[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy798 := *x.DefaultMode
						yym799 := z.EncBinary()
						_ = yym799
						if false {
						} else {
							r.EncodeInt(int64(yy798))
						}
					}
				}
			}
			if yyr788 || yy2arr788 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym800 := z.DecBinary()
	_ = yym800
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct801 := r.ContainerType()
		if yyct801 == codecSelferValueTypeMap1234 {
			yyl801 := r.ReadMapStart()
			if yyl801 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl801, d)
			}
		} else if yyct801 == codecSelferValueTypeArray1234 {
			yyl801 := r.ReadArrayStart()
			if yyl801 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl801, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys802Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys802Slc
	var yyhl802 bool = l >= 0
	for yyj802 := 0; ; yyj802++ {
		if yyhl802 {
			if yyj802 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys802Slc = r.DecodeBytes(yys802Slc, true, true)
		yys802 := string(yys802Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys802 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv804 := &x.Items
				yym805 := z.DecBinary()
				_ = yym805
				if false {
				} else {
					h.decSliceKeyToPath((*[]KeyToPath)(yyv804), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym807 := z.DecBinary()
				_ = yym807
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys802)
		} // end switch yys802
	} // end for yyj802
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj808 int
	var yyb808 bool
	var yyhl808 bool = l >= 0
	yyj808++
	if yyhl808 {
		yyb808 = yyj808 > l
	} else {
		yyb808 = r.CheckBreak()
	}
	if yyb808 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	yyj808++
	if yyhl808 {
		yyb808 = yyj808 > l
	} else {
		yyb808 = r.CheckBreak()
	}
	if yyb808 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv810 := &x.Items
		yym811 := z.DecBinary()
		_ = yym811
		if false {
		} else {
			h.decSliceKeyToPath((*[]KeyToPath)(yyv810), d)
		}
	}
	yyj808++
	if yyhl808 {
		yyb808 = yyj808 > l
	} else {
		yyb808 = r.CheckBreak()
	}
	if yyb808 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DefaultMode != nil {
			x.DefaultMode = nil
		}
	} else {
		if x.DefaultMode == nil {
			x.DefaultMode = new(int32)
		}
		yym813 := z.DecBinary()
		_ = yym813
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj808++
		if yyhl808 {
			yyb808 = yyj808 > l
		} else {
			yyb808 = r.CheckBreak()
		}
		if yyb808 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj808-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym814 := z.EncBinary()
		_ = yym814
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep815 := !z.EncBinary()
			yy2arr815 := z.EncBasicHandle().StructToArray
			var yyq815 [3]bool
			_, _, _ = yysep815, yyq815, yy2arr815
			const yyr815 bool = false
			yyq815[2] = x.ReadOnly != false
			var yynn815 int
			if yyr815 || yy2arr815 {
				r.EncodeArrayStart(3)
			} else {
				yynn815 = 2
				for _, b := range yyq815 {
					if b {
						yynn815++
					}
				}
				r.EncodeMapStart(yynn815)
				yynn815 = 0
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym817 := z.EncBinary()
				_ = yym817
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("server"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym818 := z.EncBinary()
				_ = yym818
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym820 := z.EncBinary()
				_ = yym820
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym821 := z.EncBinary()
				_ = yym821
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq815[2] {
					yym823 := z.EncBinary()
					_ = yym823
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq815[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym824 := z.EncBinary()
					_ = yym824
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr815 || yy2arr815 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym825 := z.DecBinary()
	_ = yym825
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct826 := r.ContainerType()
		if yyct826 == codecSelferValueTypeMap1234 {
			yyl826 := r.ReadMapStart()
			if yyl826 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl826, d)
			}
		} else if yyct826 == codecSelferValueTypeArray1234 {
			yyl826 := r.ReadArrayStart()
			if yyl826 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl826, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys827Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys827Slc
	var yyhl827 bool = l >= 0
	for yyj827 := 0; ; yyj827++ {
		if yyhl827 {
			if yyj827 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys827Slc = r.DecodeBytes(yys827Slc, true, true)
		yys827 := string(yys827Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys827 {
		case "server":
			if r.TryDecodeAsNil() {
				x.Server = ""
			} else {
				x.Server = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys827)
		} // end switch yys827
	} // end for yyj827
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj831 int
	var yyb831 bool
	var yyhl831 bool = l >= 0
	yyj831++
	if yyhl831 {
		yyb831 = yyj831 > l
	} else {
		yyb831 = r.CheckBreak()
	}
	if yyb831 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Server = ""
	} else {
		x.Server = string(r.DecodeString())
	}
	yyj831++
	if yyhl831 {
		yyb831 = yyj831 > l
	} else {
		yyb831 = r.CheckBreak()
	}
	if yyb831 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj831++
	if yyhl831 {
		yyb831 = yyj831 > l
	} else {
		yyb831 = r.CheckBreak()
	}
	if yyb831 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj831++
		if yyhl831 {
			yyb831 = yyj831 > l
		} else {
			yyb831 = r.CheckBreak()
		}
		if yyb831 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj831-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *QuobyteVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym835 := z.EncBinary()
		_ = yym835
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep836 := !z.EncBinary()
			yy2arr836 := z.EncBasicHandle().StructToArray
			var yyq836 [5]bool
			_, _, _ = yysep836, yyq836, yy2arr836
			const yyr836 bool = false
			yyq836[2] = x.ReadOnly != false
			yyq836[3] = x.User != ""
			yyq836[4] = x.Group != ""
			var yynn836 int
			if yyr836 || yy2arr836 {
				r.EncodeArrayStart(5)
			} else {
				yynn836 = 2
				for _, b := range yyq836 {
					if b {
						yynn836++
					}
				}
				r.EncodeMapStart(yynn836)
				yynn836 = 0
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym838 := z.EncBinary()
				_ = yym838
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Registry))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("registry"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym839 := z.EncBinary()
				_ = yym839
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Registry))
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym841 := z.EncBinary()
				_ = yym841
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Volume))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volume"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym842 := z.EncBinary()
				_ = yym842
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Volume))
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq836[2] {
					yym844 := z.EncBinary()
					_ = yym844
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq836[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym845 := z.EncBinary()
					_ = yym845
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq836[3] {
					yym847 := z.EncBinary()
					_ = yym847
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq836[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym848 := z.EncBinary()
					_ = yym848
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq836[4] {
					yym850 := z.EncBinary()
					_ = yym850
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Group))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq836[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("group"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym851 := z.EncBinary()
					_ = yym851
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Group))
					}
				}
			}
			if yyr836 || yy2arr836 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *QuobyteVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym852 := z.DecBinary()
	_ = yym852
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct853 := r.ContainerType()
		if yyct853 == codecSelferValueTypeMap1234 {
			yyl853 := r.ReadMapStart()
			if yyl853 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl853, d)
			}
		} else if yyct853 == codecSelferValueTypeArray1234 {
			yyl853 := r.ReadArrayStart()
			if yyl853 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl853, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *QuobyteVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys854Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys854Slc
	var yyhl854 bool = l >= 0
	for yyj854 := 0; ; yyj854++ {
		if yyhl854 {
			if yyj854 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys854Slc = r.DecodeBytes(yys854Slc, true, true)
		yys854 := string(yys854Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys854 {
		case "registry":
			if r.TryDecodeAsNil() {
				x.Registry = ""
			} else {
				x.Registry = string(r.DecodeString())
			}
		case "volume":
			if r.TryDecodeAsNil() {
				x.Volume = ""
			} else {
				x.Volume = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "group":
			if r.TryDecodeAsNil() {
				x.Group = ""
			} else {
				x.Group = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys854)
		} // end switch yys854
	} // end for yyj854
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *QuobyteVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj860 int
	var yyb860 bool
	var yyhl860 bool = l >= 0
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Registry = ""
	} else {
		x.Registry = string(r.DecodeString())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volume = ""
	} else {
		x.Volume = string(r.DecodeString())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj860++
	if yyhl860 {
		yyb860 = yyj860 > l
	} else {
		yyb860 = r.CheckBreak()
	}
	if yyb860 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Group = ""
	} else {
		x.Group = string(r.DecodeString())
	}
	for {
		yyj860++
		if yyhl860 {
			yyb860 = yyj860 > l
		} else {
			yyb860 = r.CheckBreak()
		}
		if yyb860 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj860-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *GlusterfsVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym866 := z.EncBinary()
		_ = yym866
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep867 := !z.EncBinary()
			yy2arr867 := z.EncBasicHandle().StructToArray
			var yyq867 [3]bool
			_, _, _ = yysep867, yyq867, yy2arr867
			const yyr867 bool = false
			yyq867[2] = x.ReadOnly != false
			var yynn867 int
			if yyr867 || yy2arr867 {
				r.EncodeArrayStart(3)
			} else {
				yynn867 = 2
				for _, b := range yyq867 {
					if b {
						yynn867++
					}
				}
				r.EncodeMapStart(yynn867)
				yynn867 = 0
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym869 := z.EncBinary()
				_ = yym869
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("endpoints"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym870 := z.EncBinary()
				_ = yym870
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym872 := z.EncBinary()
				_ = yym872
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym873 := z.EncBinary()
				_ = yym873
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq867[2] {
					yym875 := z.EncBinary()
					_ = yym875
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq867[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym876 := z.EncBinary()
					_ = yym876
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr867 || yy2arr867 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *GlusterfsVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym877 := z.DecBinary()
	_ = yym877
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct878 := r.ContainerType()
		if yyct878 == codecSelferValueTypeMap1234 {
			yyl878 := r.ReadMapStart()
			if yyl878 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl878, d)
			}
		} else if yyct878 == codecSelferValueTypeArray1234 {
			yyl878 := r.ReadArrayStart()
			if yyl878 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl878, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys879Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys879Slc
	var yyhl879 bool = l >= 0
	for yyj879 := 0; ; yyj879++ {
		if yyhl879 {
			if yyj879 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys879Slc = r.DecodeBytes(yys879Slc, true, true)
		yys879 := string(yys879Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys879 {
		case "endpoints":
			if r.TryDecodeAsNil() {
				x.EndpointsName = ""
			} else {
				x.EndpointsName = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys879)
		} // end switch yys879
	} // end for yyj879
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *GlusterfsVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj883 int
	var yyb883 bool
	var yyhl883 bool = l >= 0
	yyj883++
	if yyhl883 {
		yyb883 = yyj883 > l
	} else {
		yyb883 = r.CheckBreak()
	}
	if yyb883 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EndpointsName = ""
	} else {
		x.EndpointsName = string(r.DecodeString())
	}
	yyj883++
	if yyhl883 {
		yyb883 = yyj883 > l
	} else {
		yyb883 = r.CheckBreak()
	}
	if yyb883 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj883++
	if yyhl883 {
		yyb883 = yyj883 > l
	} else {
		yyb883 = r.CheckBreak()
	}
	if yyb883 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj883++
		if yyhl883 {
			yyb883 = yyj883 > l
		} else {
			yyb883 = r.CheckBreak()
		}
		if yyb883 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj883-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *RBDVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym887 := z.EncBinary()
		_ = yym887
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep888 := !z.EncBinary()
			yy2arr888 := z.EncBasicHandle().StructToArray
			var yyq888 [8]bool
			_, _, _ = yysep888, yyq888, yy2arr888
			const yyr888 bool = false
			yyq888[2] = x.FSType != ""
			yyq888[3] = x.RBDPool != ""
			yyq888[4] = x.RadosUser != ""
			yyq888[5] = x.Keyring != ""
			yyq888[6] = x.SecretRef != nil
			yyq888[7] = x.ReadOnly != false
			var yynn888 int
			if yyr888 || yy2arr888 {
				r.EncodeArrayStart(8)
			} else {
				yynn888 = 2
				for _, b := range yyq888 {
					if b {
						yynn888++
					}
				}
				r.EncodeMapStart(yynn888)
				yynn888 = 0
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym890 := z.EncBinary()
					_ = yym890
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym891 := z.EncBinary()
					_ = yym891
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym893 := z.EncBinary()
				_ = yym893
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym894 := z.EncBinary()
				_ = yym894
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[2] {
					yym896 := z.EncBinary()
					_ = yym896
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym897 := z.EncBinary()
					_ = yym897
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[3] {
					yym899 := z.EncBinary()
					_ = yym899
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("pool"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym900 := z.EncBinary()
					_ = yym900
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[4] {
					yym902 := z.EncBinary()
					_ = yym902
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym903 := z.EncBinary()
					_ = yym903
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[5] {
					yym905 := z.EncBinary()
					_ = yym905
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq888[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("keyring"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym906 := z.EncBinary()
					_ = yym906
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[6] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq888[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq888[7] {
					yym909 := z.EncBinary()
					_ = yym909
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq888[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym910 := z.EncBinary()
					_ = yym910
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr888 || yy2arr888 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *RBDVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym911 := z.DecBinary()
	_ = yym911
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct912 := r.ContainerType()
		if yyct912 == codecSelferValueTypeMap1234 {
			yyl912 := r.ReadMapStart()
			if yyl912 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl912, d)
			}
		} else if yyct912 == codecSelferValueTypeArray1234 {
			yyl912 := r.ReadArrayStart()
			if yyl912 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl912, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RBDVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys913Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys913Slc
	var yyhl913 bool = l >= 0
	for yyj913 := 0; ; yyj913++ {
		if yyhl913 {
			if yyj913 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys913Slc = r.DecodeBytes(yys913Slc, true, true)
		yys913 := string(yys913Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys913 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv914 := &x.CephMonitors
				yym915 := z.DecBinary()
				_ = yym915
				if false {
				} else {
					z.F.DecSliceStringX(yyv914, false, d)
				}
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.RBDImage = ""
			} else {
				x.RBDImage = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "pool":
			if r.TryDecodeAsNil() {
				x.RBDPool = ""
			} else {
				x.RBDPool = string(r.DecodeString())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.RadosUser = ""
			} else {
				x.RadosUser = string(r.DecodeString())
			}
		case "keyring":
			if r.TryDecodeAsNil() {
				x.Keyring = ""
			} else {
				x.Keyring = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys913)
		} // end switch yys913
	} // end for yyj913
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *RBDVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj923 int
	var yyb923 bool
	var yyhl923 bool = l >= 0
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.CephMonitors = nil
	} else {
		yyv924 := &x.CephMonitors
		yym925 := z.DecBinary()
		_ = yym925
		if false {
		} else {
			z.F.DecSliceStringX(yyv924, false, d)
		}
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDImage = ""
	} else {
		x.RBDImage = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RBDPool = ""
	} else {
		x.RBDPool = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RadosUser = ""
	} else {
		x.RadosUser = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Keyring = ""
	} else {
		x.Keyring = string(r.DecodeString())
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj923++
	if yyhl923 {
		yyb923 = yyj923 > l
	} else {
		yyb923 = r.CheckBreak()
	}
	if yyb923 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj923++
		if yyhl923 {
			yyb923 = yyj923 > l
		} else {
			yyb923 = r.CheckBreak()
		}
		if yyb923 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj923-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *CinderVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym933 := z.EncBinary()
		_ = yym933
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep934 := !z.EncBinary()
			yy2arr934 := z.EncBasicHandle().StructToArray
			var yyq934 [3]bool
			_, _, _ = yysep934, yyq934, yy2arr934
			const yyr934 bool = false
			yyq934[1] = x.FSType != ""
			yyq934[2] = x.ReadOnly != false
			var yynn934 int
			if yyr934 || yy2arr934 {
				r.EncodeArrayStart(3)
			} else {
				yynn934 = 1
				for _, b := range yyq934 {
					if b {
						yynn934++
					}
				}
				r.EncodeMapStart(yynn934)
				yynn934 = 0
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym936 := z.EncBinary()
				_ = yym936
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym937 := z.EncBinary()
				_ = yym937
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq934[1] {
					yym939 := z.EncBinary()
					_ = yym939
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq934[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym940 := z.EncBinary()
					_ = yym940
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq934[2] {
					yym942 := z.EncBinary()
					_ = yym942
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq934[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym943 := z.EncBinary()
					_ = yym943
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr934 || yy2arr934 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *CinderVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym944 := z.DecBinary()
	_ = yym944
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct945 := r.ContainerType()
		if yyct945 == codecSelferValueTypeMap1234 {
			yyl945 := r.ReadMapStart()
			if yyl945 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl945, d)
			}
		} else if yyct945 == codecSelferValueTypeArray1234 {
			yyl945 := r.ReadArrayStart()
			if yyl945 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl945, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CinderVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys946Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys946Slc
	var yyhl946 bool = l >= 0
	for yyj946 := 0; ; yyj946++ {
		if yyhl946 {
			if yyj946 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys946Slc = r.DecodeBytes(yys946Slc, true, true)
		yys946 := string(yys946Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys946 {
		case "volumeID":
			if r.TryDecodeAsNil() {
				x.VolumeID = ""
			} else {
				x.VolumeID = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys946)
		} // end switch yys946
	} // end for yyj946
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *CinderVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj950 int
	var yyb950 bool
	var yyhl950 bool = l >= 0
	yyj950++
	if yyhl950 {
		yyb950 = yyj950 > l
	} else {
		yyb950 = r.CheckBreak()
	}
	if yyb950 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj950++
	if yyhl950 {
		yyb950 = yyj950 > l
	} else {
		yyb950 = r.CheckBreak()
	}
	if yyb950 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj950++
	if yyhl950 {
		yyb950 = yyj950 > l
	} else {
		yyb950 = r.CheckBreak()
	}
	if yyb950 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj950++
		if yyhl950 {
			yyb950 = yyj950 > l
		} else {
			yyb950 = r.CheckBreak()
		}
		if yyb950 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj950-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *CephFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym954 := z.EncBinary()
		_ = yym954
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep955 := !z.EncBinary()
			yy2arr955 := z.EncBasicHandle().StructToArray
			var yyq955 [6]bool
			_, _, _ = yysep955, yyq955, yy2arr955
			const yyr955 bool = false
			yyq955[1] = x.Path != ""
			yyq955[2] = x.User != ""
			yyq955[3] = x.SecretFile != ""
			yyq955[4] = x.SecretRef != nil
			yyq955[5] = x.ReadOnly != false
			var yynn955 int
			if yyr955 || yy2arr955 {
				r.EncodeArrayStart(6)
			} else {
				yynn955 = 1
				for _, b := range yyq955 {
					if b {
						yynn955++
					}
				}
				r.EncodeMapStart(yynn955)
				yynn955 = 0
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym957 := z.EncBinary()
					_ = yym957
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym958 := z.EncBinary()
					_ = yym958
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[1] {
					yym960 := z.EncBinary()
					_ = yym960
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq955[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym961 := z.EncBinary()
					_ = yym961
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[2] {
					yym963 := z.EncBinary()
					_ = yym963
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq955[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym964 := z.EncBinary()
					_ = yym964
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[3] {
					yym966 := z.EncBinary()
					_ = yym966
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq955[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym967 := z.EncBinary()
					_ = yym967
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[4] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq955[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq955[5] {
					yym970 := z.EncBinary()
					_ = yym970
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq955[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym971 := z.EncBinary()
					_ = yym971
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr955 || yy2arr955 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *CephFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym972 := z.DecBinary()
	_ = yym972
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct973 := r.ContainerType()
		if yyct973 == codecSelferValueTypeMap1234 {
			yyl973 := r.ReadMapStart()
			if yyl973 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl973, d)
			}
		} else if yyct973 == codecSelferValueTypeArray1234 {
			yyl973 := r.ReadArrayStart()
			if yyl973 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl973, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *CephFSVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys974Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys974Slc
	var yyhl974 bool = l >= 0
	for yyj974 := 0; ; yyj974++ {
		if yyhl974 {
			if yyj974 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys974Slc = r.DecodeBytes(yys974Slc, true, true)
		yys974 := string(yys974Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys974 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv975 := &x.Monitors
				yym976 := z.DecBinary()
				_ = yym976
				if false {
				} else {
					z.F.DecSliceStringX(yyv975, false, d)
				}
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "secretFile":
			if r.TryDecodeAsNil() {
				x.SecretFile = ""
			} else {
				x.SecretFile = string(r.DecodeString())
			}
		case "secretRef":
			if r.TryDecodeAsNil() {
				if x.SecretRef != nil {
					x.SecretRef = nil
				}
			} else {
				if x.SecretRef == nil {
					x.SecretRef = new(LocalObjectReference)
				}
				x.SecretRef.CodecDecodeSelf(d)
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys974)
		} // end switch yys974
	} // end for yyj974
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *CephFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj982 int
	var yyb982 bool
	var yyhl982 bool = l >= 0
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv983 := &x.Monitors
		yym984 := z.DecBinary()
		_ = yym984
		if false {
		} else {
			z.F.DecSliceStringX(yyv983, false, d)
		}
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj982++
	if yyhl982 {
		yyb982 = yyj982 > l
	} else {
		yyb982 = r.CheckBreak()
	}
	if yyb982 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj982++
		if yyhl982 {
			yyb982 = yyj982 > l
		} else {
			yyb982 = r.CheckBreak()
		}
		if yyb982 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj982-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *FlockerVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym990 := z.EncBinary()
		_ = yym990
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep991 := !z.EncBinary()
			yy2arr991 := z.EncBasicHandle().StructToArray
			var yyq991 [2]bool
			_, _, _ = yysep991, yyq991, yy2arr991
			const yyr991 bool = false
			yyq991[0] = x.DatasetName != ""
			yyq991[1] = x.DatasetUUID != ""
			var yynn991 int
			if yyr991 || yy2arr991 {
				r.EncodeArrayStart(2)
			} else {
				yynn991 = 0
				for _, b := range yyq991 {
					if b {
						yynn991++
					}
				}
				r.EncodeMapStart(yynn991)
				yynn991 = 0
			}
			if yyr991 || yy2arr991 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq991[0] {
					yym993 := z.EncBinary()
					_ = yym993
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq991[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym994 := z.EncBinary()
					_ = yym994
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
					}
				}
			}
			if yyr991 || yy2arr991 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq991[1] {
					yym996 := z.EncBinary()
					_ = yym996
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetUUID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq991[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("datasetUUID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym997 := z.EncBinary()
					_ = yym997
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.DatasetUUID))
					}
				}
			}
			if yyr991 || yy2arr991 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *FlockerVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym998 := z.DecBinary()
	_ = yym998
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct999 := r.ContainerType()
		if yyct999 == codecSelferValueTypeMap1234 {
			yyl999 := r.ReadMapStart()
			if yyl999 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl999, d)
			}
		} else if yyct999 == codecSelferValueTypeArray1234 {
			yyl999 := r.ReadArrayStart()
			if yyl999 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl999, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *FlockerVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1000Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1000Slc
	var yyhl1000 bool = l >= 0
	for yyj1000 := 0; ; yyj1000++ {
		if yyhl1000 {
			if yyj1000 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1000Slc = r.DecodeBytes(yys1000Slc, true, true)
		yys1000 := string(yys1000Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1000 {
		case "datasetName":
			if r.TryDecodeAsNil() {
				x.DatasetName = ""
			} else {
				x.DatasetName = string(r.DecodeString())
			}
		case "datasetUUID":
			if r.TryDecodeAsNil() {
				x.DatasetUUID = ""
			} else {
				x.DatasetUUID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1000)
		} // end switch yys1000
	} // end for yyj1000
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *FlockerVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1003 int
	var yyb1003 bool
	var yyhl1003 bool = l >= 0
	yyj1003++
	if yyhl1003 {
		yyb1003 = yyj1003 > l
	} else {
		yyb1003 = r.CheckBreak()
	}
	if yyb1003 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	yyj1003++
	if yyhl1003 {
		yyb1003 = yyj1003 > l
	} else {
		yyb1003 = r.CheckBreak()
	}
	if yyb1003 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DatasetUUID = ""
	} else {
		x.DatasetUUID = string(r.DecodeString())
	}
	for {
		yyj1003++
		if yyhl1003 {
			yyb1003 = yyj1003 > l
		} else {
			yyb1003 = r.CheckBreak()
		}
		if yyb1003 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1003-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DownwardAPIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1006 := z.EncBinary()
		_ = yym1006
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1007 := !z.EncBinary()
			yy2arr1007 := z.EncBasicHandle().StructToArray
			var yyq1007 [2]bool
			_, _, _ = yysep1007, yyq1007, yy2arr1007
			const yyr1007 bool = false
			yyq1007[0] = len(x.Items) != 0
			yyq1007[1] = x.DefaultMode != nil
			var yynn1007 int
			if yyr1007 || yy2arr1007 {
				r.EncodeArrayStart(2)
			} else {
				yynn1007 = 0
				for _, b := range yyq1007 {
					if b {
						yynn1007++
					}
				}
				r.EncodeMapStart(yynn1007)
				yynn1007 = 0
			}
			if yyr1007 || yy2arr1007 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1007[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1009 := z.EncBinary()
						_ = yym1009
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1007[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1010 := z.EncBinary()
						_ = yym1010
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yyr1007 || yy2arr1007 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1007[1] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1012 := *x.DefaultMode
						yym1013 := z.EncBinary()
						_ = yym1013
						if false {
						} else {
							r.EncodeInt(int64(yy1012))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1007[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1014 := *x.DefaultMode
						yym1015 := z.EncBinary()
						_ = yym1015
						if false {
						} else {
							r.EncodeInt(int64(yy1014))
						}
					}
				}
			}
			if yyr1007 || yy2arr1007 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DownwardAPIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1016 := z.DecBinary()
	_ = yym1016
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1017 := r.ContainerType()
		if yyct1017 == codecSelferValueTypeMap1234 {
			yyl1017 := r.ReadMapStart()
			if yyl1017 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1017, d)
			}
		} else if yyct1017 == codecSelferValueTypeArray1234 {
			yyl1017 := r.ReadArrayStart()
			if yyl1017 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1017, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1018Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1018Slc
	var yyhl1018 bool = l >= 0
	for yyj1018 := 0; ; yyj1018++ {
		if yyhl1018 {
			if yyj1018 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1018Slc = r.DecodeBytes(yys1018Slc, true, true)
		yys1018 := string(yys1018Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1018 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1019 := &x.Items
				yym1020 := z.DecBinary()
				_ = yym1020
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv1019), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym1022 := z.DecBinary()
				_ = yym1022
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1018)
		} // end switch yys1018
	} // end for yyj1018
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1023 int
	var yyb1023 bool
	var yyhl1023 bool = l >= 0
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1024 := &x.Items
		yym1025 := z.DecBinary()
		_ = yym1025
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv1024), d)
		}
	}
	yyj1023++
	if yyhl1023 {
		yyb1023 = yyj1023 > l
	} else {
		yyb1023 = r.CheckBreak()
	}
	if yyb1023 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DefaultMode != nil {
			x.DefaultMode = nil
		}
	} else {
		if x.DefaultMode == nil {
			x.DefaultMode = new(int32)
		}
		yym1027 := z.DecBinary()
		_ = yym1027
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1023++
		if yyhl1023 {
			yyb1023 = yyj1023 > l
		} else {
			yyb1023 = r.CheckBreak()
		}
		if yyb1023 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1023-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DownwardAPIVolumeFile) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1028 := z.EncBinary()
		_ = yym1028
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1029 := !z.EncBinary()
			yy2arr1029 := z.EncBasicHandle().StructToArray
			var yyq1029 [4]bool
			_, _, _ = yysep1029, yyq1029, yy2arr1029
			const yyr1029 bool = false
			yyq1029[1] = x.FieldRef != nil
			yyq1029[2] = x.ResourceFieldRef != nil
			yyq1029[3] = x.Mode != nil
			var yynn1029 int
			if yyr1029 || yy2arr1029 {
				r.EncodeArrayStart(4)
			} else {
				yynn1029 = 1
				for _, b := range yyq1029 {
					if b {
						yynn1029++
					}
				}
				r.EncodeMapStart(yynn1029)
				yynn1029 = 0
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1031 := z.EncBinary()
				_ = yym1031
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1032 := z.EncBinary()
				_ = yym1032
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1029[1] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1029[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1029[2] {
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1029[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceFieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1029[3] {
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1036 := *x.Mode
						yym1037 := z.EncBinary()
						_ = yym1037
						if false {
						} else {
							r.EncodeInt(int64(yy1036))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1029[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("mode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1038 := *x.Mode
						yym1039 := z.EncBinary()
						_ = yym1039
						if false {
						} else {
							r.EncodeInt(int64(yy1038))
						}
					}
				}
			}
			if yyr1029 || yy2arr1029 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DownwardAPIVolumeFile) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1040 := z.DecBinary()
	_ = yym1040
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1041 := r.ContainerType()
		if yyct1041 == codecSelferValueTypeMap1234 {
			yyl1041 := r.ReadMapStart()
			if yyl1041 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1041, d)
			}
		} else if yyct1041 == codecSelferValueTypeArray1234 {
			yyl1041 := r.ReadArrayStart()
			if yyl1041 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1041, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1042Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1042Slc
	var yyhl1042 bool = l >= 0
	for yyj1042 := 0; ; yyj1042++ {
		if yyhl1042 {
			if yyj1042 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1042Slc = r.DecodeBytes(yys1042Slc, true, true)
		yys1042 := string(yys1042Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1042 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "fieldRef":
			if r.TryDecodeAsNil() {
				if x.FieldRef != nil {
					x.FieldRef = nil
				}
			} else {
				if x.FieldRef == nil {
					x.FieldRef = new(ObjectFieldSelector)
				}
				x.FieldRef.CodecDecodeSelf(d)
			}
		case "resourceFieldRef":
			if r.TryDecodeAsNil() {
				if x.ResourceFieldRef != nil {
					x.ResourceFieldRef = nil
				}
			} else {
				if x.ResourceFieldRef == nil {
					x.ResourceFieldRef = new(ResourceFieldSelector)
				}
				x.ResourceFieldRef.CodecDecodeSelf(d)
			}
		case "mode":
			if r.TryDecodeAsNil() {
				if x.Mode != nil {
					x.Mode = nil
				}
			} else {
				if x.Mode == nil {
					x.Mode = new(int32)
				}
				yym1047 := z.DecBinary()
				_ = yym1047
				if false {
				} else {
					*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1042)
		} // end switch yys1042
	} // end for yyj1042
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1048 int
	var yyb1048 bool
	var yyhl1048 bool = l >= 0
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ResourceFieldRef != nil {
			x.ResourceFieldRef = nil
		}
	} else {
		if x.ResourceFieldRef == nil {
			x.ResourceFieldRef = new(ResourceFieldSelector)
		}
		x.ResourceFieldRef.CodecDecodeSelf(d)
	}
	yyj1048++
	if yyhl1048 {
		yyb1048 = yyj1048 > l
	} else {
		yyb1048 = r.CheckBreak()
	}
	if yyb1048 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Mode != nil {
			x.Mode = nil
		}
	} else {
		if x.Mode == nil {
			x.Mode = new(int32)
		}
		yym1053 := z.DecBinary()
		_ = yym1053
		if false {
		} else {
			*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1048++
		if yyhl1048 {
			yyb1048 = yyj1048 > l
		} else {
			yyb1048 = r.CheckBreak()
		}
		if yyb1048 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1048-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AzureFileVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1054 := z.EncBinary()
		_ = yym1054
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1055 := !z.EncBinary()
			yy2arr1055 := z.EncBasicHandle().StructToArray
			var yyq1055 [3]bool
			_, _, _ = yysep1055, yyq1055, yy2arr1055
			const yyr1055 bool = false
			yyq1055[2] = x.ReadOnly != false
			var yynn1055 int
			if yyr1055 || yy2arr1055 {
				r.EncodeArrayStart(3)
			} else {
				yynn1055 = 2
				for _, b := range yyq1055 {
					if b {
						yynn1055++
					}
				}
				r.EncodeMapStart(yynn1055)
				yynn1055 = 0
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1057 := z.EncBinary()
				_ = yym1057
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("secretName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1058 := z.EncBinary()
				_ = yym1058
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1060 := z.EncBinary()
				_ = yym1060
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ShareName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("shareName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1061 := z.EncBinary()
				_ = yym1061
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ShareName))
				}
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1055[2] {
					yym1063 := z.EncBinary()
					_ = yym1063
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1055[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1064 := z.EncBinary()
					_ = yym1064
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr1055 || yy2arr1055 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AzureFileVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1065 := z.DecBinary()
	_ = yym1065
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1066 := r.ContainerType()
		if yyct1066 == codecSelferValueTypeMap1234 {
			yyl1066 := r.ReadMapStart()
			if yyl1066 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1066, d)
			}
		} else if yyct1066 == codecSelferValueTypeArray1234 {
			yyl1066 := r.ReadArrayStart()
			if yyl1066 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1066, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AzureFileVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1067Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1067Slc
	var yyhl1067 bool = l >= 0
	for yyj1067 := 0; ; yyj1067++ {
		if yyhl1067 {
			if yyj1067 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1067Slc = r.DecodeBytes(yys1067Slc, true, true)
		yys1067 := string(yys1067Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1067 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		case "shareName":
			if r.TryDecodeAsNil() {
				x.ShareName = ""
			} else {
				x.ShareName = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1067)
		} // end switch yys1067
	} // end for yyj1067
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AzureFileVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1071 int
	var yyb1071 bool
	var yyhl1071 bool = l >= 0
	yyj1071++
	if yyhl1071 {
		yyb1071 = yyj1071 > l
	} else {
		yyb1071 = r.CheckBreak()
	}
	if yyb1071 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	yyj1071++
	if yyhl1071 {
		yyb1071 = yyj1071 > l
	} else {
		yyb1071 = r.CheckBreak()
	}
	if yyb1071 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ShareName = ""
	} else {
		x.ShareName = string(r.DecodeString())
	}
	yyj1071++
	if yyhl1071 {
		yyb1071 = yyj1071 > l
	} else {
		yyb1071 = r.CheckBreak()
	}
	if yyb1071 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj1071++
		if yyhl1071 {
			yyb1071 = yyj1071 > l
		} else {
			yyb1071 = r.CheckBreak()
		}
		if yyb1071 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1071-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VsphereVirtualDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1075 := z.EncBinary()
		_ = yym1075
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1076 := !z.EncBinary()
			yy2arr1076 := z.EncBasicHandle().StructToArray
			var yyq1076 [2]bool
			_, _, _ = yysep1076, yyq1076, yy2arr1076
			const yyr1076 bool = false
			yyq1076[1] = x.FSType != ""
			var yynn1076 int
			if yyr1076 || yy2arr1076 {
				r.EncodeArrayStart(2)
			} else {
				yynn1076 = 1
				for _, b := range yyq1076 {
					if b {
						yynn1076++
					}
				}
				r.EncodeMapStart(yynn1076)
				yynn1076 = 0
			}
			if yyr1076 || yy2arr1076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1078 := z.EncBinary()
				_ = yym1078
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumePath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumePath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1079 := z.EncBinary()
				_ = yym1079
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumePath))
				}
			}
			if yyr1076 || yy2arr1076 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1076[1] {
					yym1081 := z.EncBinary()
					_ = yym1081
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1076[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1082 := z.EncBinary()
					_ = yym1082
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr1076 || yy2arr1076 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VsphereVirtualDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1083 := z.DecBinary()
	_ = yym1083
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1084 := r.ContainerType()
		if yyct1084 == codecSelferValueTypeMap1234 {
			yyl1084 := r.ReadMapStart()
			if yyl1084 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1084, d)
			}
		} else if yyct1084 == codecSelferValueTypeArray1234 {
			yyl1084 := r.ReadArrayStart()
			if yyl1084 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1084, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VsphereVirtualDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1085Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1085Slc
	var yyhl1085 bool = l >= 0
	for yyj1085 := 0; ; yyj1085++ {
		if yyhl1085 {
			if yyj1085 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1085Slc = r.DecodeBytes(yys1085Slc, true, true)
		yys1085 := string(yys1085Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1085 {
		case "volumePath":
			if r.TryDecodeAsNil() {
				x.VolumePath = ""
			} else {
				x.VolumePath = string(r.DecodeString())
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				x.FSType = ""
			} else {
				x.FSType = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1085)
		} // end switch yys1085
	} // end for yyj1085
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VsphereVirtualDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1088 int
	var yyb1088 bool
	var yyhl1088 bool = l >= 0
	yyj1088++
	if yyhl1088 {
		yyb1088 = yyj1088 > l
	} else {
		yyb1088 = r.CheckBreak()
	}
	if yyb1088 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumePath = ""
	} else {
		x.VolumePath = string(r.DecodeString())
	}
	yyj1088++
	if yyhl1088 {
		yyb1088 = yyj1088 > l
	} else {
		yyb1088 = r.CheckBreak()
	}
	if yyb1088 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	for {
		yyj1088++
		if yyhl1088 {
			yyb1088 = yyj1088 > l
		} else {
			yyb1088 = r.CheckBreak()
		}
		if yyb1088 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1088-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x AzureDataDiskCachingMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1091 := z.EncBinary()
	_ = yym1091
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *AzureDataDiskCachingMode) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1092 := z.DecBinary()
	_ = yym1092
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *AzureDiskVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1093 := z.EncBinary()
		_ = yym1093
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1094 := !z.EncBinary()
			yy2arr1094 := z.EncBasicHandle().StructToArray
			var yyq1094 [5]bool
			_, _, _ = yysep1094, yyq1094, yy2arr1094
			const yyr1094 bool = false
			yyq1094[2] = x.CachingMode != nil
			yyq1094[3] = x.FSType != nil
			yyq1094[4] = x.ReadOnly != nil
			var yynn1094 int
			if yyr1094 || yy2arr1094 {
				r.EncodeArrayStart(5)
			} else {
				yynn1094 = 2
				for _, b := range yyq1094 {
					if b {
						yynn1094++
					}
				}
				r.EncodeMapStart(yynn1094)
				yynn1094 = 0
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1096 := z.EncBinary()
				_ = yym1096
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DiskName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("diskName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1097 := z.EncBinary()
				_ = yym1097
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DiskName))
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1099 := z.EncBinary()
				_ = yym1099
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DataDiskURI))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("diskURI"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1100 := z.EncBinary()
				_ = yym1100
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DataDiskURI))
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1094[2] {
					if x.CachingMode == nil {
						r.EncodeNil()
					} else {
						yy1102 := *x.CachingMode
						yy1102.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1094[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("cachingMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.CachingMode == nil {
						r.EncodeNil()
					} else {
						yy1103 := *x.CachingMode
						yy1103.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1094[3] {
					if x.FSType == nil {
						r.EncodeNil()
					} else {
						yy1105 := *x.FSType
						yym1106 := z.EncBinary()
						_ = yym1106
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy1105))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1094[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSType == nil {
						r.EncodeNil()
					} else {
						yy1107 := *x.FSType
						yym1108 := z.EncBinary()
						_ = yym1108
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy1107))
						}
					}
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1094[4] {
					if x.ReadOnly == nil {
						r.EncodeNil()
					} else {
						yy1110 := *x.ReadOnly
						yym1111 := z.EncBinary()
						_ = yym1111
						if false {
						} else {
							r.EncodeBool(bool(yy1110))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1094[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadOnly == nil {
						r.EncodeNil()
					} else {
						yy1112 := *x.ReadOnly
						yym1113 := z.EncBinary()
						_ = yym1113
						if false {
						} else {
							r.EncodeBool(bool(yy1112))
						}
					}
				}
			}
			if yyr1094 || yy2arr1094 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AzureDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1114 := z.DecBinary()
	_ = yym1114
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1115 := r.ContainerType()
		if yyct1115 == codecSelferValueTypeMap1234 {
			yyl1115 := r.ReadMapStart()
			if yyl1115 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1115, d)
			}
		} else if yyct1115 == codecSelferValueTypeArray1234 {
			yyl1115 := r.ReadArrayStart()
			if yyl1115 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1115, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AzureDiskVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1116Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1116Slc
	var yyhl1116 bool = l >= 0
	for yyj1116 := 0; ; yyj1116++ {
		if yyhl1116 {
			if yyj1116 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1116Slc = r.DecodeBytes(yys1116Slc, true, true)
		yys1116 := string(yys1116Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1116 {
		case "diskName":
			if r.TryDecodeAsNil() {
				x.DiskName = ""
			} else {
				x.DiskName = string(r.DecodeString())
			}
		case "diskURI":
			if r.TryDecodeAsNil() {
				x.DataDiskURI = ""
			} else {
				x.DataDiskURI = string(r.DecodeString())
			}
		case "cachingMode":
			if r.TryDecodeAsNil() {
				if x.CachingMode != nil {
					x.CachingMode = nil
				}
			} else {
				if x.CachingMode == nil {
					x.CachingMode = new(AzureDataDiskCachingMode)
				}
				x.CachingMode.CodecDecodeSelf(d)
			}
		case "fsType":
			if r.TryDecodeAsNil() {
				if x.FSType != nil {
					x.FSType = nil
				}
			} else {
				if x.FSType == nil {
					x.FSType = new(string)
				}
				yym1121 := z.DecBinary()
				_ = yym1121
				if false {
				} else {
					*((*string)(x.FSType)) = r.DecodeString()
				}
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				if x.ReadOnly != nil {
					x.ReadOnly = nil
				}
			} else {
				if x.ReadOnly == nil {
					x.ReadOnly = new(bool)
				}
				yym1123 := z.DecBinary()
				_ = yym1123
				if false {
				} else {
					*((*bool)(x.ReadOnly)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1116)
		} // end switch yys1116
	} // end for yyj1116
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AzureDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1124 int
	var yyb1124 bool
	var yyhl1124 bool = l >= 0
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DiskName = ""
	} else {
		x.DiskName = string(r.DecodeString())
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DataDiskURI = ""
	} else {
		x.DataDiskURI = string(r.DecodeString())
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.CachingMode != nil {
			x.CachingMode = nil
		}
	} else {
		if x.CachingMode == nil {
			x.CachingMode = new(AzureDataDiskCachingMode)
		}
		x.CachingMode.CodecDecodeSelf(d)
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FSType != nil {
			x.FSType = nil
		}
	} else {
		if x.FSType == nil {
			x.FSType = new(string)
		}
		yym1129 := z.DecBinary()
		_ = yym1129
		if false {
		} else {
			*((*string)(x.FSType)) = r.DecodeString()
		}
	}
	yyj1124++
	if yyhl1124 {
		yyb1124 = yyj1124 > l
	} else {
		yyb1124 = r.CheckBreak()
	}
	if yyb1124 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadOnly != nil {
			x.ReadOnly = nil
		}
	} else {
		if x.ReadOnly == nil {
			x.ReadOnly = new(bool)
		}
		yym1131 := z.DecBinary()
		_ = yym1131
		if false {
		} else {
			*((*bool)(x.ReadOnly)) = r.DecodeBool()
		}
	}
	for {
		yyj1124++
		if yyhl1124 {
			yyb1124 = yyj1124 > l
		} else {
			yyb1124 = r.CheckBreak()
		}
		if yyb1124 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1124-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1132 := z.EncBinary()
		_ = yym1132
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1133 := !z.EncBinary()
			yy2arr1133 := z.EncBasicHandle().StructToArray
			var yyq1133 [3]bool
			_, _, _ = yysep1133, yyq1133, yy2arr1133
			const yyr1133 bool = false
			yyq1133[1] = len(x.Items) != 0
			yyq1133[2] = x.DefaultMode != nil
			var yynn1133 int
			if yyr1133 || yy2arr1133 {
				r.EncodeArrayStart(3)
			} else {
				yynn1133 = 1
				for _, b := range yyq1133 {
					if b {
						yynn1133++
					}
				}
				r.EncodeMapStart(yynn1133)
				yynn1133 = 0
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1135 := z.EncBinary()
				_ = yym1135
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1136 := z.EncBinary()
				_ = yym1136
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1133[1] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1138 := z.EncBinary()
						_ = yym1138
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1133[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym1139 := z.EncBinary()
						_ = yym1139
						if false {
						} else {
							h.encSliceKeyToPath(([]KeyToPath)(x.Items), e)
						}
					}
				}
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1133[2] {
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1141 := *x.DefaultMode
						yym1142 := z.EncBinary()
						_ = yym1142
						if false {
						} else {
							r.EncodeInt(int64(yy1141))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1133[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultMode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultMode == nil {
						r.EncodeNil()
					} else {
						yy1143 := *x.DefaultMode
						yym1144 := z.EncBinary()
						_ = yym1144
						if false {
						} else {
							r.EncodeInt(int64(yy1143))
						}
					}
				}
			}
			if yyr1133 || yy2arr1133 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1145 := z.DecBinary()
	_ = yym1145
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1146 := r.ContainerType()
		if yyct1146 == codecSelferValueTypeMap1234 {
			yyl1146 := r.ReadMapStart()
			if yyl1146 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1146, d)
			}
		} else if yyct1146 == codecSelferValueTypeArray1234 {
			yyl1146 := r.ReadArrayStart()
			if yyl1146 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1146, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapVolumeSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1147Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1147Slc
	var yyhl1147 bool = l >= 0
	for yyj1147 := 0; ; yyj1147++ {
		if yyhl1147 {
			if yyj1147 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1147Slc = r.DecodeBytes(yys1147Slc, true, true)
		yys1147 := string(yys1147Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1147 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1149 := &x.Items
				yym1150 := z.DecBinary()
				_ = yym1150
				if false {
				} else {
					h.decSliceKeyToPath((*[]KeyToPath)(yyv1149), d)
				}
			}
		case "defaultMode":
			if r.TryDecodeAsNil() {
				if x.DefaultMode != nil {
					x.DefaultMode = nil
				}
			} else {
				if x.DefaultMode == nil {
					x.DefaultMode = new(int32)
				}
				yym1152 := z.DecBinary()
				_ = yym1152
				if false {
				} else {
					*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1147)
		} // end switch yys1147
	} // end for yyj1147
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1153 int
	var yyb1153 bool
	var yyhl1153 bool = l >= 0
	yyj1153++
	if yyhl1153 {
		yyb1153 = yyj1153 > l
	} else {
		yyb1153 = r.CheckBreak()
	}
	if yyb1153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1153++
	if yyhl1153 {
		yyb1153 = yyj1153 > l
	} else {
		yyb1153 = r.CheckBreak()
	}
	if yyb1153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1155 := &x.Items
		yym1156 := z.DecBinary()
		_ = yym1156
		if false {
		} else {
			h.decSliceKeyToPath((*[]KeyToPath)(yyv1155), d)
		}
	}
	yyj1153++
	if yyhl1153 {
		yyb1153 = yyj1153 > l
	} else {
		yyb1153 = r.CheckBreak()
	}
	if yyb1153 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.DefaultMode != nil {
			x.DefaultMode = nil
		}
	} else {
		if x.DefaultMode == nil {
			x.DefaultMode = new(int32)
		}
		yym1158 := z.DecBinary()
		_ = yym1158
		if false {
		} else {
			*((*int32)(x.DefaultMode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1153++
		if yyhl1153 {
			yyb1153 = yyj1153 > l
		} else {
			yyb1153 = r.CheckBreak()
		}
		if yyb1153 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1153-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *KeyToPath) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1159 := z.EncBinary()
		_ = yym1159
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1160 := !z.EncBinary()
			yy2arr1160 := z.EncBasicHandle().StructToArray
			var yyq1160 [3]bool
			_, _, _ = yysep1160, yyq1160, yy2arr1160
			const yyr1160 bool = false
			yyq1160[2] = x.Mode != nil
			var yynn1160 int
			if yyr1160 || yy2arr1160 {
				r.EncodeArrayStart(3)
			} else {
				yynn1160 = 2
				for _, b := range yyq1160 {
					if b {
						yynn1160++
					}
				}
				r.EncodeMapStart(yynn1160)
				yynn1160 = 0
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1162 := z.EncBinary()
				_ = yym1162
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1163 := z.EncBinary()
				_ = yym1163
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1165 := z.EncBinary()
				_ = yym1165
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1166 := z.EncBinary()
				_ = yym1166
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1160[2] {
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1168 := *x.Mode
						yym1169 := z.EncBinary()
						_ = yym1169
						if false {
						} else {
							r.EncodeInt(int64(yy1168))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1160[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("mode"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Mode == nil {
						r.EncodeNil()
					} else {
						yy1170 := *x.Mode
						yym1171 := z.EncBinary()
						_ = yym1171
						if false {
						} else {
							r.EncodeInt(int64(yy1170))
						}
					}
				}
			}
			if yyr1160 || yy2arr1160 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *KeyToPath) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1172 := z.DecBinary()
	_ = yym1172
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1173 := r.ContainerType()
		if yyct1173 == codecSelferValueTypeMap1234 {
			yyl1173 := r.ReadMapStart()
			if yyl1173 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1173, d)
			}
		} else if yyct1173 == codecSelferValueTypeArray1234 {
			yyl1173 := r.ReadArrayStart()
			if yyl1173 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1173, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *KeyToPath) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1174Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1174Slc
	var yyhl1174 bool = l >= 0
	for yyj1174 := 0; ; yyj1174++ {
		if yyhl1174 {
			if yyj1174 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1174Slc = r.DecodeBytes(yys1174Slc, true, true)
		yys1174 := string(yys1174Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1174 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "mode":
			if r.TryDecodeAsNil() {
				if x.Mode != nil {
					x.Mode = nil
				}
			} else {
				if x.Mode == nil {
					x.Mode = new(int32)
				}
				yym1178 := z.DecBinary()
				_ = yym1178
				if false {
				} else {
					*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1174)
		} // end switch yys1174
	} // end for yyj1174
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *KeyToPath) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1179 int
	var yyb1179 bool
	var yyhl1179 bool = l >= 0
	yyj1179++
	if yyhl1179 {
		yyb1179 = yyj1179 > l
	} else {
		yyb1179 = r.CheckBreak()
	}
	if yyb1179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj1179++
	if yyhl1179 {
		yyb1179 = yyj1179 > l
	} else {
		yyb1179 = r.CheckBreak()
	}
	if yyb1179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1179++
	if yyhl1179 {
		yyb1179 = yyj1179 > l
	} else {
		yyb1179 = r.CheckBreak()
	}
	if yyb1179 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Mode != nil {
			x.Mode = nil
		}
	} else {
		if x.Mode == nil {
			x.Mode = new(int32)
		}
		yym1183 := z.DecBinary()
		_ = yym1183
		if false {
		} else {
			*((*int32)(x.Mode)) = int32(r.DecodeInt(32))
		}
	}
	for {
		yyj1179++
		if yyhl1179 {
			yyb1179 = yyj1179 > l
		} else {
			yyb1179 = r.CheckBreak()
		}
		if yyb1179 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1179-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1184 := z.EncBinary()
		_ = yym1184
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1185 := !z.EncBinary()
			yy2arr1185 := z.EncBasicHandle().StructToArray
			var yyq1185 [5]bool
			_, _, _ = yysep1185, yyq1185, yy2arr1185
			const yyr1185 bool = false
			yyq1185[0] = x.Name != ""
			yyq1185[1] = x.HostPort != 0
			yyq1185[3] = x.Protocol != ""
			yyq1185[4] = x.HostIP != ""
			var yynn1185 int
			if yyr1185 || yy2arr1185 {
				r.EncodeArrayStart(5)
			} else {
				yynn1185 = 1
				for _, b := range yyq1185 {
					if b {
						yynn1185++
					}
				}
				r.EncodeMapStart(yynn1185)
				yynn1185 = 0
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[0] {
					yym1187 := z.EncBinary()
					_ = yym1187
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1185[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1188 := z.EncBinary()
					_ = yym1188
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[1] {
					yym1190 := z.EncBinary()
					_ = yym1190
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1185[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1191 := z.EncBinary()
					_ = yym1191
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1193 := z.EncBinary()
				_ = yym1193
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1194 := z.EncBinary()
				_ = yym1194
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1185[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1185[4] {
					yym1197 := z.EncBinary()
					_ = yym1197
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1185[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1198 := z.EncBinary()
					_ = yym1198
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1199 := z.DecBinary()
	_ = yym1199
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1200 := r.ContainerType()
		if yyct1200 == codecSelferValueTypeMap1234 {
			yyl1200 := r.ReadMapStart()
			if yyl1200 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1200, d)
			}
		} else if yyct1200 == codecSelferValueTypeArray1234 {
			yyl1200 := r.ReadArrayStart()
			if yyl1200 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1200, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1201Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1201Slc
	var yyhl1201 bool = l >= 0
	for yyj1201 := 0; ; yyj1201++ {
		if yyhl1201 {
			if yyj1201 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1201Slc = r.DecodeBytes(yys1201Slc, true, true)
		yys1201 := string(yys1201Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1201 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPort":
			if r.TryDecodeAsNil() {
				x.HostPort = 0
			} else {
				x.HostPort = int32(r.DecodeInt(32))
			}
		case "containerPort":
			if r.TryDecodeAsNil() {
				x.ContainerPort = 0
			} else {
				x.ContainerPort = int32(r.DecodeInt(32))
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1201)
		} // end switch yys1201
	} // end for yyj1201
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1207 int
	var yyb1207 bool
	var yyhl1207 bool = l >= 0
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPort = 0
	} else {
		x.HostPort = int32(r.DecodeInt(32))
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerPort = 0
	} else {
		x.ContainerPort = int32(r.DecodeInt(32))
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj1207++
	if yyhl1207 {
		yyb1207 = yyj1207 > l
	} else {
		yyb1207 = r.CheckBreak()
	}
	if yyb1207 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	for {
		yyj1207++
		if yyhl1207 {
			yyb1207 = yyj1207 > l
		} else {
			yyb1207 = r.CheckBreak()
		}
		if yyb1207 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1207-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *VolumeMount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1213 := z.EncBinary()
		_ = yym1213
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1214 := !z.EncBinary()
			yy2arr1214 := z.EncBasicHandle().StructToArray
			var yyq1214 [4]bool
			_, _, _ = yysep1214, yyq1214, yy2arr1214
			const yyr1214 bool = false
			yyq1214[1] = x.ReadOnly != false
			yyq1214[3] = x.SubPath != ""
			var yynn1214 int
			if yyr1214 || yy2arr1214 {
				r.EncodeArrayStart(4)
			} else {
				yynn1214 = 2
				for _, b := range yyq1214 {
					if b {
						yynn1214++
					}
				}
				r.EncodeMapStart(yynn1214)
				yynn1214 = 0
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1216 := z.EncBinary()
				_ = yym1216
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1217 := z.EncBinary()
				_ = yym1217
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1214[1] {
					yym1219 := z.EncBinary()
					_ = yym1219
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1214[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1220 := z.EncBinary()
					_ = yym1220
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1222 := z.EncBinary()
				_ = yym1222
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("mountPath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1223 := z.EncBinary()
				_ = yym1223
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1214[3] {
					yym1225 := z.EncBinary()
					_ = yym1225
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SubPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1214[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("subPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1226 := z.EncBinary()
					_ = yym1226
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SubPath))
					}
				}
			}
			if yyr1214 || yy2arr1214 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *VolumeMount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1227 := z.DecBinary()
	_ = yym1227
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1228 := r.ContainerType()
		if yyct1228 == codecSelferValueTypeMap1234 {
			yyl1228 := r.ReadMapStart()
			if yyl1228 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1228, d)
			}
		} else if yyct1228 == codecSelferValueTypeArray1234 {
			yyl1228 := r.ReadArrayStart()
			if yyl1228 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1228, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *VolumeMount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1229Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1229Slc
	var yyhl1229 bool = l >= 0
	for yyj1229 := 0; ; yyj1229++ {
		if yyhl1229 {
			if yyj1229 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1229Slc = r.DecodeBytes(yys1229Slc, true, true)
		yys1229 := string(yys1229Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1229 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		case "mountPath":
			if r.TryDecodeAsNil() {
				x.MountPath = ""
			} else {
				x.MountPath = string(r.DecodeString())
			}
		case "subPath":
			if r.TryDecodeAsNil() {
				x.SubPath = ""
			} else {
				x.SubPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1229)
		} // end switch yys1229
	} // end for yyj1229
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *VolumeMount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1234 int
	var yyb1234 bool
	var yyhl1234 bool = l >= 0
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MountPath = ""
	} else {
		x.MountPath = string(r.DecodeString())
	}
	yyj1234++
	if yyhl1234 {
		yyb1234 = yyj1234 > l
	} else {
		yyb1234 = r.CheckBreak()
	}
	if yyb1234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SubPath = ""
	} else {
		x.SubPath = string(r.DecodeString())
	}
	for {
		yyj1234++
		if yyhl1234 {
			yyb1234 = yyj1234 > l
		} else {
			yyb1234 = r.CheckBreak()
		}
		if yyb1234 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1234-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EnvVar) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1239 := z.EncBinary()
		_ = yym1239
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1240 := !z.EncBinary()
			yy2arr1240 := z.EncBasicHandle().StructToArray
			var yyq1240 [3]bool
			_, _, _ = yysep1240, yyq1240, yy2arr1240
			const yyr1240 bool = false
			yyq1240[1] = x.Value != ""
			yyq1240[2] = x.ValueFrom != nil
			var yynn1240 int
			if yyr1240 || yy2arr1240 {
				r.EncodeArrayStart(3)
			} else {
				yynn1240 = 1
				for _, b := range yyq1240 {
					if b {
						yynn1240++
					}
				}
				r.EncodeMapStart(yynn1240)
				yynn1240 = 0
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1242 := z.EncBinary()
				_ = yym1242
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1243 := z.EncBinary()
				_ = yym1243
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1240[1] {
					yym1245 := z.EncBinary()
					_ = yym1245
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1240[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1246 := z.EncBinary()
					_ = yym1246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1240[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1240[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("valueFrom"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1240 || yy2arr1240 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EnvVar) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1248 := z.DecBinary()
	_ = yym1248
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1249 := r.ContainerType()
		if yyct1249 == codecSelferValueTypeMap1234 {
			yyl1249 := r.ReadMapStart()
			if yyl1249 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1249, d)
			}
		} else if yyct1249 == codecSelferValueTypeArray1234 {
			yyl1249 := r.ReadArrayStart()
			if yyl1249 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1249, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVar) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1250Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1250Slc
	var yyhl1250 bool = l >= 0
	for yyj1250 := 0; ; yyj1250++ {
		if yyhl1250 {
			if yyj1250 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1250Slc = r.DecodeBytes(yys1250Slc, true, true)
		yys1250 := string(yys1250Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1250 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "valueFrom":
			if r.TryDecodeAsNil() {
				if x.ValueFrom != nil {
					x.ValueFrom = nil
				}
			} else {
				if x.ValueFrom == nil {
					x.ValueFrom = new(EnvVarSource)
				}
				x.ValueFrom.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1250)
		} // end switch yys1250
	} // end for yyj1250
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EnvVar) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1254 int
	var yyb1254 bool
	var yyhl1254 bool = l >= 0
	yyj1254++
	if yyhl1254 {
		yyb1254 = yyj1254 > l
	} else {
		yyb1254 = r.CheckBreak()
	}
	if yyb1254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1254++
	if yyhl1254 {
		yyb1254 = yyj1254 > l
	} else {
		yyb1254 = r.CheckBreak()
	}
	if yyb1254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj1254++
	if yyhl1254 {
		yyb1254 = yyj1254 > l
	} else {
		yyb1254 = r.CheckBreak()
	}
	if yyb1254 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ValueFrom != nil {
			x.ValueFrom = nil
		}
	} else {
		if x.ValueFrom == nil {
			x.ValueFrom = new(EnvVarSource)
		}
		x.ValueFrom.CodecDecodeSelf(d)
	}
	for {
		yyj1254++
		if yyhl1254 {
			yyb1254 = yyj1254 > l
		} else {
			yyb1254 = r.CheckBreak()
		}
		if yyb1254 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1254-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EnvVarSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1258 := z.EncBinary()
		_ = yym1258
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1259 := !z.EncBinary()
			yy2arr1259 := z.EncBasicHandle().StructToArray
			var yyq1259 [4]bool
			_, _, _ = yysep1259, yyq1259, yy2arr1259
			const yyr1259 bool = false
			yyq1259[0] = x.FieldRef != nil
			yyq1259[1] = x.ResourceFieldRef != nil
			yyq1259[2] = x.ConfigMapKeyRef != nil
			yyq1259[3] = x.SecretKeyRef != nil
			var yynn1259 int
			if yyr1259 || yy2arr1259 {
				r.EncodeArrayStart(4)
			} else {
				yynn1259 = 0
				for _, b := range yyq1259 {
					if b {
						yynn1259++
					}
				}
				r.EncodeMapStart(yynn1259)
				yynn1259 = 0
			}
			if yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[0] {
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FieldRef == nil {
						r.EncodeNil()
					} else {
						x.FieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[1] {
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceFieldRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ResourceFieldRef == nil {
						r.EncodeNil()
					} else {
						x.ResourceFieldRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[2] {
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("configMapKeyRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ConfigMapKeyRef == nil {
						r.EncodeNil()
					} else {
						x.ConfigMapKeyRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1259[3] {
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1259[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("secretKeyRef"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecretKeyRef == nil {
						r.EncodeNil()
					} else {
						x.SecretKeyRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1259 || yy2arr1259 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EnvVarSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1264 := z.DecBinary()
	_ = yym1264
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1265 := r.ContainerType()
		if yyct1265 == codecSelferValueTypeMap1234 {
			yyl1265 := r.ReadMapStart()
			if yyl1265 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1265, d)
			}
		} else if yyct1265 == codecSelferValueTypeArray1234 {
			yyl1265 := r.ReadArrayStart()
			if yyl1265 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1265, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EnvVarSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1266Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1266Slc
	var yyhl1266 bool = l >= 0
	for yyj1266 := 0; ; yyj1266++ {
		if yyhl1266 {
			if yyj1266 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1266Slc = r.DecodeBytes(yys1266Slc, true, true)
		yys1266 := string(yys1266Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1266 {
		case "fieldRef":
			if r.TryDecodeAsNil() {
				if x.FieldRef != nil {
					x.FieldRef = nil
				}
			} else {
				if x.FieldRef == nil {
					x.FieldRef = new(ObjectFieldSelector)
				}
				x.FieldRef.CodecDecodeSelf(d)
			}
		case "resourceFieldRef":
			if r.TryDecodeAsNil() {
				if x.ResourceFieldRef != nil {
					x.ResourceFieldRef = nil
				}
			} else {
				if x.ResourceFieldRef == nil {
					x.ResourceFieldRef = new(ResourceFieldSelector)
				}
				x.ResourceFieldRef.CodecDecodeSelf(d)
			}
		case "configMapKeyRef":
			if r.TryDecodeAsNil() {
				if x.ConfigMapKeyRef != nil {
					x.ConfigMapKeyRef = nil
				}
			} else {
				if x.ConfigMapKeyRef == nil {
					x.ConfigMapKeyRef = new(ConfigMapKeySelector)
				}
				x.ConfigMapKeyRef.CodecDecodeSelf(d)
			}
		case "secretKeyRef":
			if r.TryDecodeAsNil() {
				if x.SecretKeyRef != nil {
					x.SecretKeyRef = nil
				}
			} else {
				if x.SecretKeyRef == nil {
					x.SecretKeyRef = new(SecretKeySelector)
				}
				x.SecretKeyRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1266)
		} // end switch yys1266
	} // end for yyj1266
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EnvVarSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1271 int
	var yyb1271 bool
	var yyhl1271 bool = l >= 0
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ResourceFieldRef != nil {
			x.ResourceFieldRef = nil
		}
	} else {
		if x.ResourceFieldRef == nil {
			x.ResourceFieldRef = new(ResourceFieldSelector)
		}
		x.ResourceFieldRef.CodecDecodeSelf(d)
	}
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ConfigMapKeyRef != nil {
			x.ConfigMapKeyRef = nil
		}
	} else {
		if x.ConfigMapKeyRef == nil {
			x.ConfigMapKeyRef = new(ConfigMapKeySelector)
		}
		x.ConfigMapKeyRef.CodecDecodeSelf(d)
	}
	yyj1271++
	if yyhl1271 {
		yyb1271 = yyj1271 > l
	} else {
		yyb1271 = r.CheckBreak()
	}
	if yyb1271 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecretKeyRef != nil {
			x.SecretKeyRef = nil
		}
	} else {
		if x.SecretKeyRef == nil {
			x.SecretKeyRef = new(SecretKeySelector)
		}
		x.SecretKeyRef.CodecDecodeSelf(d)
	}
	for {
		yyj1271++
		if yyhl1271 {
			yyb1271 = yyj1271 > l
		} else {
			yyb1271 = r.CheckBreak()
		}
		if yyb1271 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1271-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ObjectFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1276 := z.EncBinary()
		_ = yym1276
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1277 := !z.EncBinary()
			yy2arr1277 := z.EncBasicHandle().StructToArray
			var yyq1277 [2]bool
			_, _, _ = yysep1277, yyq1277, yy2arr1277
			const yyr1277 bool = false
			var yynn1277 int
			if yyr1277 || yy2arr1277 {
				r.EncodeArrayStart(2)
			} else {
				yynn1277 = 2
				for _, b := range yyq1277 {
					if b {
						yynn1277++
					}
				}
				r.EncodeMapStart(yynn1277)
				yynn1277 = 0
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1279 := z.EncBinary()
				_ = yym1279
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1280 := z.EncBinary()
				_ = yym1280
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1282 := z.EncBinary()
				_ = yym1282
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1283 := z.EncBinary()
				_ = yym1283
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yyr1277 || yy2arr1277 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1284 := z.DecBinary()
	_ = yym1284
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1285 := r.ContainerType()
		if yyct1285 == codecSelferValueTypeMap1234 {
			yyl1285 := r.ReadMapStart()
			if yyl1285 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1285, d)
			}
		} else if yyct1285 == codecSelferValueTypeArray1234 {
			yyl1285 := r.ReadArrayStart()
			if yyl1285 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1285, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectFieldSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1286Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1286Slc
	var yyhl1286 bool = l >= 0
	for yyj1286 := 0; ; yyj1286++ {
		if yyhl1286 {
			if yyj1286 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1286Slc = r.DecodeBytes(yys1286Slc, true, true)
		yys1286 := string(yys1286Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1286 {
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1286)
		} // end switch yys1286
	} // end for yyj1286
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectFieldSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1289 int
	var yyb1289 bool
	var yyhl1289 bool = l >= 0
	yyj1289++
	if yyhl1289 {
		yyb1289 = yyj1289 > l
	} else {
		yyb1289 = r.CheckBreak()
	}
	if yyb1289 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1289++
	if yyhl1289 {
		yyb1289 = yyj1289 > l
	} else {
		yyb1289 = r.CheckBreak()
	}
	if yyb1289 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj1289++
		if yyhl1289 {
			yyb1289 = yyj1289 > l
		} else {
			yyb1289 = r.CheckBreak()
		}
		if yyb1289 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1289-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1292 := z.EncBinary()
		_ = yym1292
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1293 := !z.EncBinary()
			yy2arr1293 := z.EncBasicHandle().StructToArray
			var yyq1293 [3]bool
			_, _, _ = yysep1293, yyq1293, yy2arr1293
			const yyr1293 bool = false
			yyq1293[0] = x.ContainerName != ""
			yyq1293[2] = true
			var yynn1293 int
			if yyr1293 || yy2arr1293 {
				r.EncodeArrayStart(3)
			} else {
				yynn1293 = 1
				for _, b := range yyq1293 {
					if b {
						yynn1293++
					}
				}
				r.EncodeMapStart(yynn1293)
				yynn1293 = 0
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1293[0] {
					yym1295 := z.EncBinary()
					_ = yym1295
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1293[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1296 := z.EncBinary()
					_ = yym1296
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerName))
					}
				}
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1298 := z.EncBinary()
				_ = yym1298
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Resource))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("resource"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1299 := z.EncBinary()
				_ = yym1299
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Resource))
				}
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1293[2] {
					yy1301 := &x.Divisor
					yym1302 := z.EncBinary()
					_ = yym1302
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1301) {
					} else if !yym1302 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1301)
					} else {
						z.EncFallback(yy1301)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1293[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("divisor"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1303 := &x.Divisor
					yym1304 := z.EncBinary()
					_ = yym1304
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1303) {
					} else if !yym1304 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1303)
					} else {
						z.EncFallback(yy1303)
					}
				}
			}
			if yyr1293 || yy2arr1293 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1305 := z.DecBinary()
	_ = yym1305
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1306 := r.ContainerType()
		if yyct1306 == codecSelferValueTypeMap1234 {
			yyl1306 := r.ReadMapStart()
			if yyl1306 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1306, d)
			}
		} else if yyct1306 == codecSelferValueTypeArray1234 {
			yyl1306 := r.ReadArrayStart()
			if yyl1306 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1306, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceFieldSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1307Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1307Slc
	var yyhl1307 bool = l >= 0
	for yyj1307 := 0; ; yyj1307++ {
		if yyhl1307 {
			if yyj1307 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1307Slc = r.DecodeBytes(yys1307Slc, true, true)
		yys1307 := string(yys1307Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1307 {
		case "containerName":
			if r.TryDecodeAsNil() {
				x.ContainerName = ""
			} else {
				x.ContainerName = string(r.DecodeString())
			}
		case "resource":
			if r.TryDecodeAsNil() {
				x.Resource = ""
			} else {
				x.Resource = string(r.DecodeString())
			}
		case "divisor":
			if r.TryDecodeAsNil() {
				x.Divisor = pkg3_resource.Quantity{}
			} else {
				yyv1310 := &x.Divisor
				yym1311 := z.DecBinary()
				_ = yym1311
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1310) {
				} else if !yym1311 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1310)
				} else {
					z.DecFallback(yyv1310, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1307)
		} // end switch yys1307
	} // end for yyj1307
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceFieldSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1312 int
	var yyb1312 bool
	var yyhl1312 bool = l >= 0
	yyj1312++
	if yyhl1312 {
		yyb1312 = yyj1312 > l
	} else {
		yyb1312 = r.CheckBreak()
	}
	if yyb1312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerName = ""
	} else {
		x.ContainerName = string(r.DecodeString())
	}
	yyj1312++
	if yyhl1312 {
		yyb1312 = yyj1312 > l
	} else {
		yyb1312 = r.CheckBreak()
	}
	if yyb1312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resource = ""
	} else {
		x.Resource = string(r.DecodeString())
	}
	yyj1312++
	if yyhl1312 {
		yyb1312 = yyj1312 > l
	} else {
		yyb1312 = r.CheckBreak()
	}
	if yyb1312 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Divisor = pkg3_resource.Quantity{}
	} else {
		yyv1315 := &x.Divisor
		yym1316 := z.DecBinary()
		_ = yym1316
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1315) {
		} else if !yym1316 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1315)
		} else {
			z.DecFallback(yyv1315, false)
		}
	}
	for {
		yyj1312++
		if yyhl1312 {
			yyb1312 = yyj1312 > l
		} else {
			yyb1312 = r.CheckBreak()
		}
		if yyb1312 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1312-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapKeySelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1317 := z.EncBinary()
		_ = yym1317
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1318 := !z.EncBinary()
			yy2arr1318 := z.EncBasicHandle().StructToArray
			var yyq1318 [2]bool
			_, _, _ = yysep1318, yyq1318, yy2arr1318
			const yyr1318 bool = false
			var yynn1318 int
			if yyr1318 || yy2arr1318 {
				r.EncodeArrayStart(2)
			} else {
				yynn1318 = 2
				for _, b := range yyq1318 {
					if b {
						yynn1318++
					}
				}
				r.EncodeMapStart(yynn1318)
				yynn1318 = 0
			}
			if yyr1318 || yy2arr1318 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1320 := z.EncBinary()
				_ = yym1320
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1321 := z.EncBinary()
				_ = yym1321
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1318 || yy2arr1318 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1323 := z.EncBinary()
				_ = yym1323
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1324 := z.EncBinary()
				_ = yym1324
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1318 || yy2arr1318 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapKeySelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1325 := z.DecBinary()
	_ = yym1325
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1326 := r.ContainerType()
		if yyct1326 == codecSelferValueTypeMap1234 {
			yyl1326 := r.ReadMapStart()
			if yyl1326 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1326, d)
			}
		} else if yyct1326 == codecSelferValueTypeArray1234 {
			yyl1326 := r.ReadArrayStart()
			if yyl1326 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1326, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1327Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1327Slc
	var yyhl1327 bool = l >= 0
	for yyj1327 := 0; ; yyj1327++ {
		if yyhl1327 {
			if yyj1327 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1327Slc = r.DecodeBytes(yys1327Slc, true, true)
		yys1327 := string(yys1327Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1327 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1327)
		} // end switch yys1327
	} // end for yyj1327
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1330 int
	var yyb1330 bool
	var yyhl1330 bool = l >= 0
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1330++
		if yyhl1330 {
			yyb1330 = yyj1330 > l
		} else {
			yyb1330 = r.CheckBreak()
		}
		if yyb1330 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1330-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecretKeySelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1333 := z.EncBinary()
		_ = yym1333
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1334 := !z.EncBinary()
			yy2arr1334 := z.EncBasicHandle().StructToArray
			var yyq1334 [2]bool
			_, _, _ = yysep1334, yyq1334, yy2arr1334
			const yyr1334 bool = false
			var yynn1334 int
			if yyr1334 || yy2arr1334 {
				r.EncodeArrayStart(2)
			} else {
				yynn1334 = 2
				for _, b := range yyq1334 {
					if b {
						yynn1334++
					}
				}
				r.EncodeMapStart(yynn1334)
				yynn1334 = 0
			}
			if yyr1334 || yy2arr1334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1336 := z.EncBinary()
				_ = yym1336
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1337 := z.EncBinary()
				_ = yym1337
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1334 || yy2arr1334 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1339 := z.EncBinary()
				_ = yym1339
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1340 := z.EncBinary()
				_ = yym1340
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1334 || yy2arr1334 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretKeySelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1341 := z.DecBinary()
	_ = yym1341
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1342 := r.ContainerType()
		if yyct1342 == codecSelferValueTypeMap1234 {
			yyl1342 := r.ReadMapStart()
			if yyl1342 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1342, d)
			}
		} else if yyct1342 == codecSelferValueTypeArray1234 {
			yyl1342 := r.ReadArrayStart()
			if yyl1342 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1342, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretKeySelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1343Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1343Slc
	var yyhl1343 bool = l >= 0
	for yyj1343 := 0; ; yyj1343++ {
		if yyhl1343 {
			if yyj1343 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1343Slc = r.DecodeBytes(yys1343Slc, true, true)
		yys1343 := string(yys1343Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1343 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1343)
		} // end switch yys1343
	} // end for yyj1343
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretKeySelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1346 int
	var yyb1346 bool
	var yyhl1346 bool = l >= 0
	yyj1346++
	if yyhl1346 {
		yyb1346 = yyj1346 > l
	} else {
		yyb1346 = r.CheckBreak()
	}
	if yyb1346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1346++
	if yyhl1346 {
		yyb1346 = yyj1346 > l
	} else {
		yyb1346 = r.CheckBreak()
	}
	if yyb1346 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	for {
		yyj1346++
		if yyhl1346 {
			yyb1346 = yyj1346 > l
		} else {
			yyb1346 = r.CheckBreak()
		}
		if yyb1346 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1346-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *HTTPHeader) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1349 := z.EncBinary()
		_ = yym1349
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1350 := !z.EncBinary()
			yy2arr1350 := z.EncBasicHandle().StructToArray
			var yyq1350 [2]bool
			_, _, _ = yysep1350, yyq1350, yy2arr1350
			const yyr1350 bool = false
			var yynn1350 int
			if yyr1350 || yy2arr1350 {
				r.EncodeArrayStart(2)
			} else {
				yynn1350 = 2
				for _, b := range yyq1350 {
					if b {
						yynn1350++
					}
				}
				r.EncodeMapStart(yynn1350)
				yynn1350 = 0
			}
			if yyr1350 || yy2arr1350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1352 := z.EncBinary()
				_ = yym1352
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1353 := z.EncBinary()
				_ = yym1353
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1350 || yy2arr1350 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1355 := z.EncBinary()
				_ = yym1355
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("value"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1356 := z.EncBinary()
				_ = yym1356
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			}
			if yyr1350 || yy2arr1350 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HTTPHeader) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1357 := z.DecBinary()
	_ = yym1357
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1358 := r.ContainerType()
		if yyct1358 == codecSelferValueTypeMap1234 {
			yyl1358 := r.ReadMapStart()
			if yyl1358 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1358, d)
			}
		} else if yyct1358 == codecSelferValueTypeArray1234 {
			yyl1358 := r.ReadArrayStart()
			if yyl1358 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1358, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HTTPHeader) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1359Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1359Slc
	var yyhl1359 bool = l >= 0
	for yyj1359 := 0; ; yyj1359++ {
		if yyhl1359 {
			if yyj1359 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1359Slc = r.DecodeBytes(yys1359Slc, true, true)
		yys1359 := string(yys1359Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1359 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1359)
		} // end switch yys1359
	} // end for yyj1359
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HTTPHeader) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1362 int
	var yyb1362 bool
	var yyhl1362 bool = l >= 0
	yyj1362++
	if yyhl1362 {
		yyb1362 = yyj1362 > l
	} else {
		yyb1362 = r.CheckBreak()
	}
	if yyb1362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1362++
	if yyhl1362 {
		yyb1362 = yyj1362 > l
	} else {
		yyb1362 = r.CheckBreak()
	}
	if yyb1362 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	for {
		yyj1362++
		if yyhl1362 {
			yyb1362 = yyj1362 > l
		} else {
			yyb1362 = r.CheckBreak()
		}
		if yyb1362 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1362-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *HTTPGetAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1365 := z.EncBinary()
		_ = yym1365
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1366 := !z.EncBinary()
			yy2arr1366 := z.EncBasicHandle().StructToArray
			var yyq1366 [5]bool
			_, _, _ = yysep1366, yyq1366, yy2arr1366
			const yyr1366 bool = false
			yyq1366[0] = x.Path != ""
			yyq1366[1] = true
			yyq1366[2] = x.Host != ""
			yyq1366[3] = x.Scheme != ""
			yyq1366[4] = len(x.HTTPHeaders) != 0
			var yynn1366 int
			if yyr1366 || yy2arr1366 {
				r.EncodeArrayStart(5)
			} else {
				yynn1366 = 0
				for _, b := range yyq1366 {
					if b {
						yynn1366++
					}
				}
				r.EncodeMapStart(yynn1366)
				yynn1366 = 0
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[0] {
					yym1368 := z.EncBinary()
					_ = yym1368
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1366[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1369 := z.EncBinary()
					_ = yym1369
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[1] {
					yy1371 := &x.Port
					yym1372 := z.EncBinary()
					_ = yym1372
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1371) {
					} else if !yym1372 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1371)
					} else {
						z.EncFallback(yy1371)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1366[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1373 := &x.Port
					yym1374 := z.EncBinary()
					_ = yym1374
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1373) {
					} else if !yym1374 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1373)
					} else {
						z.EncFallback(yy1373)
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[2] {
					yym1376 := z.EncBinary()
					_ = yym1376
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1366[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1377 := z.EncBinary()
					_ = yym1377
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1366[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1366[4] {
					if x.HTTPHeaders == nil {
						r.EncodeNil()
					} else {
						yym1380 := z.EncBinary()
						_ = yym1380
						if false {
						} else {
							h.encSliceHTTPHeader(([]HTTPHeader)(x.HTTPHeaders), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1366[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpHeaders"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HTTPHeaders == nil {
						r.EncodeNil()
					} else {
						yym1381 := z.EncBinary()
						_ = yym1381
						if false {
						} else {
							h.encSliceHTTPHeader(([]HTTPHeader)(x.HTTPHeaders), e)
						}
					}
				}
			}
			if yyr1366 || yy2arr1366 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *HTTPGetAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1382 := z.DecBinary()
	_ = yym1382
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1383 := r.ContainerType()
		if yyct1383 == codecSelferValueTypeMap1234 {
			yyl1383 := r.ReadMapStart()
			if yyl1383 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1383, d)
			}
		} else if yyct1383 == codecSelferValueTypeArray1234 {
			yyl1383 := r.ReadArrayStart()
			if yyl1383 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1383, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *HTTPGetAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1384Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1384Slc
	var yyhl1384 bool = l >= 0
	for yyj1384 := 0; ; yyj1384++ {
		if yyhl1384 {
			if yyj1384 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1384Slc = r.DecodeBytes(yys1384Slc, true, true)
		yys1384 := string(yys1384Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1384 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg4_intstr.IntOrString{}
			} else {
				yyv1386 := &x.Port
				yym1387 := z.DecBinary()
				_ = yym1387
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1386) {
				} else if !yym1387 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1386)
				} else {
					z.DecFallback(yyv1386, false)
				}
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		case "scheme":
			if r.TryDecodeAsNil() {
				x.Scheme = ""
			} else {
				x.Scheme = URIScheme(r.DecodeString())
			}
		case "httpHeaders":
			if r.TryDecodeAsNil() {
				x.HTTPHeaders = nil
			} else {
				yyv1390 := &x.HTTPHeaders
				yym1391 := z.DecBinary()
				_ = yym1391
				if false {
				} else {
					h.decSliceHTTPHeader((*[]HTTPHeader)(yyv1390), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1384)
		} // end switch yys1384
	} // end for yyj1384
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *HTTPGetAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1392 int
	var yyb1392 bool
	var yyhl1392 bool = l >= 0
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg4_intstr.IntOrString{}
	} else {
		yyv1394 := &x.Port
		yym1395 := z.DecBinary()
		_ = yym1395
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1394) {
		} else if !yym1395 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1394)
		} else {
			z.DecFallback(yyv1394, false)
		}
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	yyj1392++
	if yyhl1392 {
		yyb1392 = yyj1392 > l
	} else {
		yyb1392 = r.CheckBreak()
	}
	if yyb1392 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HTTPHeaders = nil
	} else {
		yyv1398 := &x.HTTPHeaders
		yym1399 := z.DecBinary()
		_ = yym1399
		if false {
		} else {
			h.decSliceHTTPHeader((*[]HTTPHeader)(yyv1398), d)
		}
	}
	for {
		yyj1392++
		if yyhl1392 {
			yyb1392 = yyj1392 > l
		} else {
			yyb1392 = r.CheckBreak()
		}
		if yyb1392 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1392-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1400 := z.EncBinary()
	_ = yym1400
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *URIScheme) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1401 := z.DecBinary()
	_ = yym1401
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *TCPSocketAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1402 := z.EncBinary()
		_ = yym1402
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1403 := !z.EncBinary()
			yy2arr1403 := z.EncBasicHandle().StructToArray
			var yyq1403 [1]bool
			_, _, _ = yysep1403, yyq1403, yy2arr1403
			const yyr1403 bool = false
			yyq1403[0] = true
			var yynn1403 int
			if yyr1403 || yy2arr1403 {
				r.EncodeArrayStart(1)
			} else {
				yynn1403 = 0
				for _, b := range yyq1403 {
					if b {
						yynn1403++
					}
				}
				r.EncodeMapStart(yynn1403)
				yynn1403 = 0
			}
			if yyr1403 || yy2arr1403 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1403[0] {
					yy1405 := &x.Port
					yym1406 := z.EncBinary()
					_ = yym1406
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1405) {
					} else if !yym1406 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1405)
					} else {
						z.EncFallback(yy1405)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1403[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1407 := &x.Port
					yym1408 := z.EncBinary()
					_ = yym1408
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1407) {
					} else if !yym1408 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1407)
					} else {
						z.EncFallback(yy1407)
					}
				}
			}
			if yyr1403 || yy2arr1403 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *TCPSocketAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1409 := z.DecBinary()
	_ = yym1409
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1410 := r.ContainerType()
		if yyct1410 == codecSelferValueTypeMap1234 {
			yyl1410 := r.ReadMapStart()
			if yyl1410 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1410, d)
			}
		} else if yyct1410 == codecSelferValueTypeArray1234 {
			yyl1410 := r.ReadArrayStart()
			if yyl1410 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1410, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *TCPSocketAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1411Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1411Slc
	var yyhl1411 bool = l >= 0
	for yyj1411 := 0; ; yyj1411++ {
		if yyhl1411 {
			if yyj1411 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1411Slc = r.DecodeBytes(yys1411Slc, true, true)
		yys1411 := string(yys1411Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1411 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg4_intstr.IntOrString{}
			} else {
				yyv1412 := &x.Port
				yym1413 := z.DecBinary()
				_ = yym1413
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1412) {
				} else if !yym1413 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1412)
				} else {
					z.DecFallback(yyv1412, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1411)
		} // end switch yys1411
	} // end for yyj1411
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *TCPSocketAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1414 int
	var yyb1414 bool
	var yyhl1414 bool = l >= 0
	yyj1414++
	if yyhl1414 {
		yyb1414 = yyj1414 > l
	} else {
		yyb1414 = r.CheckBreak()
	}
	if yyb1414 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = pkg4_intstr.IntOrString{}
	} else {
		yyv1415 := &x.Port
		yym1416 := z.DecBinary()
		_ = yym1416
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1415) {
		} else if !yym1416 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1415)
		} else {
			z.DecFallback(yyv1415, false)
		}
	}
	for {
		yyj1414++
		if yyhl1414 {
			yyb1414 = yyj1414 > l
		} else {
			yyb1414 = r.CheckBreak()
		}
		if yyb1414 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1414-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ExecAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1417 := z.EncBinary()
		_ = yym1417
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1418 := !z.EncBinary()
			yy2arr1418 := z.EncBasicHandle().StructToArray
			var yyq1418 [1]bool
			_, _, _ = yysep1418, yyq1418, yy2arr1418
			const yyr1418 bool = false
			yyq1418[0] = len(x.Command) != 0
			var yynn1418 int
			if yyr1418 || yy2arr1418 {
				r.EncodeArrayStart(1)
			} else {
				yynn1418 = 0
				for _, b := range yyq1418 {
					if b {
						yynn1418++
					}
				}
				r.EncodeMapStart(yynn1418)
				yynn1418 = 0
			}
			if yyr1418 || yy2arr1418 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1418[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1420 := z.EncBinary()
						_ = yym1420
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1418[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1421 := z.EncBinary()
						_ = yym1421
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1418 || yy2arr1418 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ExecAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1422 := z.DecBinary()
	_ = yym1422
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1423 := r.ContainerType()
		if yyct1423 == codecSelferValueTypeMap1234 {
			yyl1423 := r.ReadMapStart()
			if yyl1423 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1423, d)
			}
		} else if yyct1423 == codecSelferValueTypeArray1234 {
			yyl1423 := r.ReadArrayStart()
			if yyl1423 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1423, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ExecAction) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1424Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1424Slc
	var yyhl1424 bool = l >= 0
	for yyj1424 := 0; ; yyj1424++ {
		if yyhl1424 {
			if yyj1424 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1424Slc = r.DecodeBytes(yys1424Slc, true, true)
		yys1424 := string(yys1424Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1424 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1425 := &x.Command
				yym1426 := z.DecBinary()
				_ = yym1426
				if false {
				} else {
					z.F.DecSliceStringX(yyv1425, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1424)
		} // end switch yys1424
	} // end for yyj1424
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ExecAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1427 int
	var yyb1427 bool
	var yyhl1427 bool = l >= 0
	yyj1427++
	if yyhl1427 {
		yyb1427 = yyj1427 > l
	} else {
		yyb1427 = r.CheckBreak()
	}
	if yyb1427 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1428 := &x.Command
		yym1429 := z.DecBinary()
		_ = yym1429
		if false {
		} else {
			z.F.DecSliceStringX(yyv1428, false, d)
		}
	}
	for {
		yyj1427++
		if yyhl1427 {
			yyb1427 = yyj1427 > l
		} else {
			yyb1427 = r.CheckBreak()
		}
		if yyb1427 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1427-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Probe) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1430 := z.EncBinary()
		_ = yym1430
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1431 := !z.EncBinary()
			yy2arr1431 := z.EncBasicHandle().StructToArray
			var yyq1431 [8]bool
			_, _, _ = yysep1431, yyq1431, yy2arr1431
			const yyr1431 bool = false
			yyq1431[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq1431[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq1431[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq1431[3] = x.InitialDelaySeconds != 0
			yyq1431[4] = x.TimeoutSeconds != 0
			yyq1431[5] = x.PeriodSeconds != 0
			yyq1431[6] = x.SuccessThreshold != 0
			yyq1431[7] = x.FailureThreshold != 0
			var yynn1431 int
			if yyr1431 || yy2arr1431 {
				r.EncodeArrayStart(8)
			} else {
				yynn1431 = 0
				for _, b := range yyq1431 {
					if b {
						yynn1431++
					}
				}
				r.EncodeMapStart(yynn1431)
				yynn1431 = 0
			}
			var yyn1432 bool
			if x.Handler.Exec == nil {
				yyn1432 = true
				goto LABEL1432
			}
		LABEL1432:
			if yyr1431 || yy2arr1431 {
				if yyn1432 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1431[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1431[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1432 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1433 bool
			if x.Handler.HTTPGet == nil {
				yyn1433 = true
				goto LABEL1433
			}
		LABEL1433:
			if yyr1431 || yy2arr1431 {
				if yyn1433 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1431[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1431[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1433 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1434 bool
			if x.Handler.TCPSocket == nil {
				yyn1434 = true
				goto LABEL1434
			}
		LABEL1434:
			if yyr1431 || yy2arr1431 {
				if yyn1434 {
					r.EncodeNil()
				} else {
					z.EncSendContainerState(codecSelfer_containerArrayElem1234)
					if yyq1431[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq1431[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if yyn1434 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[3] {
					yym1436 := z.EncBinary()
					_ = yym1436
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1437 := z.EncBinary()
					_ = yym1437
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[4] {
					yym1439 := z.EncBinary()
					_ = yym1439
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1440 := z.EncBinary()
					_ = yym1440
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[5] {
					yym1442 := z.EncBinary()
					_ = yym1442
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1443 := z.EncBinary()
					_ = yym1443
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[6] {
					yym1445 := z.EncBinary()
					_ = yym1445
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1446 := z.EncBinary()
					_ = yym1446
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1431[7] {
					yym1448 := z.EncBinary()
					_ = yym1448
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1431[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1449 := z.EncBinary()
					_ = yym1449
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yyr1431 || yy2arr1431 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Probe) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1450 := z.DecBinary()
	_ = yym1450
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1451 := r.ContainerType()
		if yyct1451 == codecSelferValueTypeMap1234 {
			yyl1451 := r.ReadMapStart()
			if yyl1451 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1451, d)
			}
		} else if yyct1451 == codecSelferValueTypeArray1234 {
			yyl1451 := r.ReadArrayStart()
			if yyl1451 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1451, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Probe) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1452Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1452Slc
	var yyhl1452 bool = l >= 0
	for yyj1452 := 0; ; yyj1452++ {
		if yyhl1452 {
			if yyj1452 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1452Slc = r.DecodeBytes(yys1452Slc, true, true)
		yys1452 := string(yys1452Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1452 {
		case "exec":
			if x.Handler.Exec == nil {
				x.Handler.Exec = new(ExecAction)
			}
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if x.Handler.HTTPGet == nil {
				x.Handler.HTTPGet = new(HTTPGetAction)
			}
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if x.Handler.TCPSocket == nil {
				x.Handler.TCPSocket = new(TCPSocketAction)
			}
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		case "initialDelaySeconds":
			if r.TryDecodeAsNil() {
				x.InitialDelaySeconds = 0
			} else {
				x.InitialDelaySeconds = int32(r.DecodeInt(32))
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				x.TimeoutSeconds = 0
			} else {
				x.TimeoutSeconds = int32(r.DecodeInt(32))
			}
		case "periodSeconds":
			if r.TryDecodeAsNil() {
				x.PeriodSeconds = 0
			} else {
				x.PeriodSeconds = int32(r.DecodeInt(32))
			}
		case "successThreshold":
			if r.TryDecodeAsNil() {
				x.SuccessThreshold = 0
			} else {
				x.SuccessThreshold = int32(r.DecodeInt(32))
			}
		case "failureThreshold":
			if r.TryDecodeAsNil() {
				x.FailureThreshold = 0
			} else {
				x.FailureThreshold = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1452)
		} // end switch yys1452
	} // end for yyj1452
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Probe) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1461 int
	var yyb1461 bool
	var yyhl1461 bool = l >= 0
	if x.Handler.Exec == nil {
		x.Handler.Exec = new(ExecAction)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	if x.Handler.HTTPGet == nil {
		x.Handler.HTTPGet = new(HTTPGetAction)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	if x.Handler.TCPSocket == nil {
		x.Handler.TCPSocket = new(TCPSocketAction)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int32(r.DecodeInt(32))
	}
	yyj1461++
	if yyhl1461 {
		yyb1461 = yyj1461 > l
	} else {
		yyb1461 = r.CheckBreak()
	}
	if yyb1461 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int32(r.DecodeInt(32))
	}
	for {
		yyj1461++
		if yyhl1461 {
			yyb1461 = yyj1461 > l
		} else {
			yyb1461 = r.CheckBreak()
		}
		if yyb1461 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1461-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1470 := z.EncBinary()
	_ = yym1470
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PullPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1471 := z.DecBinary()
	_ = yym1471
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x Capability) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1472 := z.EncBinary()
	_ = yym1472
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *Capability) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1473 := z.DecBinary()
	_ = yym1473
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Capabilities) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1474 := z.EncBinary()
		_ = yym1474
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1475 := !z.EncBinary()
			yy2arr1475 := z.EncBasicHandle().StructToArray
			var yyq1475 [2]bool
			_, _, _ = yysep1475, yyq1475, yy2arr1475
			const yyr1475 bool = false
			yyq1475[0] = len(x.Add) != 0
			yyq1475[1] = len(x.Drop) != 0
			var yynn1475 int
			if yyr1475 || yy2arr1475 {
				r.EncodeArrayStart(2)
			} else {
				yynn1475 = 0
				for _, b := range yyq1475 {
					if b {
						yynn1475++
					}
				}
				r.EncodeMapStart(yynn1475)
				yynn1475 = 0
			}
			if yyr1475 || yy2arr1475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1475[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1477 := z.EncBinary()
						_ = yym1477
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1475[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1478 := z.EncBinary()
						_ = yym1478
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1475 || yy2arr1475 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1475[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1480 := z.EncBinary()
						_ = yym1480
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1475[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1481 := z.EncBinary()
						_ = yym1481
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yyr1475 || yy2arr1475 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Capabilities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1482 := z.DecBinary()
	_ = yym1482
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1483 := r.ContainerType()
		if yyct1483 == codecSelferValueTypeMap1234 {
			yyl1483 := r.ReadMapStart()
			if yyl1483 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1483, d)
			}
		} else if yyct1483 == codecSelferValueTypeArray1234 {
			yyl1483 := r.ReadArrayStart()
			if yyl1483 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1483, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Capabilities) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1484Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1484Slc
	var yyhl1484 bool = l >= 0
	for yyj1484 := 0; ; yyj1484++ {
		if yyhl1484 {
			if yyj1484 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1484Slc = r.DecodeBytes(yys1484Slc, true, true)
		yys1484 := string(yys1484Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1484 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1485 := &x.Add
				yym1486 := z.DecBinary()
				_ = yym1486
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1485), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1487 := &x.Drop
				yym1488 := z.DecBinary()
				_ = yym1488
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1487), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1484)
		} // end switch yys1484
	} // end for yyj1484
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Capabilities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1489 int
	var yyb1489 bool
	var yyhl1489 bool = l >= 0
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Add = nil
	} else {
		yyv1490 := &x.Add
		yym1491 := z.DecBinary()
		_ = yym1491
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1490), d)
		}
	}
	yyj1489++
	if yyhl1489 {
		yyb1489 = yyj1489 > l
	} else {
		yyb1489 = r.CheckBreak()
	}
	if yyb1489 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Drop = nil
	} else {
		yyv1492 := &x.Drop
		yym1493 := z.DecBinary()
		_ = yym1493
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1492), d)
		}
	}
	for {
		yyj1489++
		if yyhl1489 {
			yyb1489 = yyj1489 > l
		} else {
			yyb1489 = r.CheckBreak()
		}
		if yyb1489 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1489-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceRequirements) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1494 := z.EncBinary()
		_ = yym1494
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1495 := !z.EncBinary()
			yy2arr1495 := z.EncBasicHandle().StructToArray
			var yyq1495 [2]bool
			_, _, _ = yysep1495, yyq1495, yy2arr1495
			const yyr1495 bool = false
			yyq1495[0] = len(x.Limits) != 0
			yyq1495[1] = len(x.Requests) != 0
			var yynn1495 int
			if yyr1495 || yy2arr1495 {
				r.EncodeArrayStart(2)
			} else {
				yynn1495 = 0
				for _, b := range yyq1495 {
					if b {
						yynn1495++
					}
				}
				r.EncodeMapStart(yynn1495)
				yynn1495 = 0
			}
			if yyr1495 || yy2arr1495 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1495[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1495[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("limits"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1495 || yy2arr1495 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1495[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1495[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requests"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1495 || yy2arr1495 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceRequirements) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1498 := z.DecBinary()
	_ = yym1498
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1499 := r.ContainerType()
		if yyct1499 == codecSelferValueTypeMap1234 {
			yyl1499 := r.ReadMapStart()
			if yyl1499 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1499, d)
			}
		} else if yyct1499 == codecSelferValueTypeArray1234 {
			yyl1499 := r.ReadArrayStart()
			if yyl1499 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1499, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceRequirements) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1500Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1500Slc
	var yyhl1500 bool = l >= 0
	for yyj1500 := 0; ; yyj1500++ {
		if yyhl1500 {
			if yyj1500 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1500Slc = r.DecodeBytes(yys1500Slc, true, true)
		yys1500 := string(yys1500Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1500 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1501 := &x.Limits
				yyv1501.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1502 := &x.Requests
				yyv1502.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1500)
		} // end switch yys1500
	} // end for yyj1500
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceRequirements) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1503 int
	var yyb1503 bool
	var yyhl1503 bool = l >= 0
	yyj1503++
	if yyhl1503 {
		yyb1503 = yyj1503 > l
	} else {
		yyb1503 = r.CheckBreak()
	}
	if yyb1503 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1504 := &x.Limits
		yyv1504.CodecDecodeSelf(d)
	}
	yyj1503++
	if yyhl1503 {
		yyb1503 = yyj1503 > l
	} else {
		yyb1503 = r.CheckBreak()
	}
	if yyb1503 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1505 := &x.Requests
		yyv1505.CodecDecodeSelf(d)
	}
	for {
		yyj1503++
		if yyhl1503 {
			yyb1503 = yyj1503 > l
		} else {
			yyb1503 = r.CheckBreak()
		}
		if yyb1503 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1503-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Container) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1506 := z.EncBinary()
		_ = yym1506
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1507 := !z.EncBinary()
			yy2arr1507 := z.EncBasicHandle().StructToArray
			var yyq1507 [18]bool
			_, _, _ = yysep1507, yyq1507, yy2arr1507
			const yyr1507 bool = false
			yyq1507[2] = len(x.Command) != 0
			yyq1507[3] = len(x.Args) != 0
			yyq1507[4] = x.WorkingDir != ""
			yyq1507[5] = len(x.Ports) != 0
			yyq1507[6] = len(x.Env) != 0
			yyq1507[7] = true
			yyq1507[8] = len(x.VolumeMounts) != 0
			yyq1507[9] = x.LivenessProbe != nil
			yyq1507[10] = x.ReadinessProbe != nil
			yyq1507[11] = x.Lifecycle != nil
			yyq1507[12] = x.TerminationMessagePath != ""
			yyq1507[14] = x.SecurityContext != nil
			yyq1507[15] = x.Stdin != false
			yyq1507[16] = x.StdinOnce != false
			yyq1507[17] = x.TTY != false
			var yynn1507 int
			if yyr1507 || yy2arr1507 {
				r.EncodeArrayStart(18)
			} else {
				yynn1507 = 3
				for _, b := range yyq1507 {
					if b {
						yynn1507++
					}
				}
				r.EncodeMapStart(yynn1507)
				yynn1507 = 0
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1509 := z.EncBinary()
				_ = yym1509
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1510 := z.EncBinary()
				_ = yym1510
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1512 := z.EncBinary()
				_ = yym1512
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1513 := z.EncBinary()
				_ = yym1513
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1515 := z.EncBinary()
						_ = yym1515
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1516 := z.EncBinary()
						_ = yym1516
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1518 := z.EncBinary()
						_ = yym1518
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1519 := z.EncBinary()
						_ = yym1519
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[4] {
					yym1521 := z.EncBinary()
					_ = yym1521
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1507[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1522 := z.EncBinary()
					_ = yym1522
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1524 := z.EncBinary()
						_ = yym1524
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1525 := z.EncBinary()
						_ = yym1525
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1527 := z.EncBinary()
						_ = yym1527
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1528 := z.EncBinary()
						_ = yym1528
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[7] {
					yy1530 := &x.Resources
					yy1530.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1531 := &x.Resources
					yy1531.CodecEncodeSelf(e)
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1533 := z.EncBinary()
						_ = yym1533
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1534 := z.EncBinary()
						_ = yym1534
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("livenessProbe"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readinessProbe"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lifecycle"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[12] {
					yym1539 := z.EncBinary()
					_ = yym1539
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1507[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1540 := z.EncBinary()
					_ = yym1540
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.ImagePullPolicy.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("imagePullPolicy"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.ImagePullPolicy.CodecEncodeSelf(e)
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1507[14] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[15] {
					yym1544 := z.EncBinary()
					_ = yym1544
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1507[15] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1545 := z.EncBinary()
					_ = yym1545
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[16] {
					yym1547 := z.EncBinary()
					_ = yym1547
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1507[16] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1548 := z.EncBinary()
					_ = yym1548
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1507[17] {
					yym1550 := z.EncBinary()
					_ = yym1550
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1507[17] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1551 := z.EncBinary()
					_ = yym1551
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr1507 || yy2arr1507 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Container) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1552 := z.DecBinary()
	_ = yym1552
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1553 := r.ContainerType()
		if yyct1553 == codecSelferValueTypeMap1234 {
			yyl1553 := r.ReadMapStart()
			if yyl1553 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1553, d)
			}
		} else if yyct1553 == codecSelferValueTypeArray1234 {
			yyl1553 := r.ReadArrayStart()
			if yyl1553 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1553, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Container) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1554Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1554Slc
	var yyhl1554 bool = l >= 0
	for yyj1554 := 0; ; yyj1554++ {
		if yyhl1554 {
			if yyj1554 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1554Slc = r.DecodeBytes(yys1554Slc, true, true)
		yys1554 := string(yys1554Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1554 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv1557 := &x.Command
				yym1558 := z.DecBinary()
				_ = yym1558
				if false {
				} else {
					z.F.DecSliceStringX(yyv1557, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1559 := &x.Args
				yym1560 := z.DecBinary()
				_ = yym1560
				if false {
				} else {
					z.F.DecSliceStringX(yyv1559, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1562 := &x.Ports
				yym1563 := z.DecBinary()
				_ = yym1563
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1562), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1564 := &x.Env
				yym1565 := z.DecBinary()
				_ = yym1565
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1564), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1566 := &x.Resources
				yyv1566.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1567 := &x.VolumeMounts
				yym1568 := z.DecBinary()
				_ = yym1568
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1567), d)
				}
			}
		case "livenessProbe":
			if r.TryDecodeAsNil() {
				if x.LivenessProbe != nil {
					x.LivenessProbe = nil
				}
			} else {
				if x.LivenessProbe == nil {
					x.LivenessProbe = new(Probe)
				}
				x.LivenessProbe.CodecDecodeSelf(d)
			}
		case "readinessProbe":
			if r.TryDecodeAsNil() {
				if x.ReadinessProbe != nil {
					x.ReadinessProbe = nil
				}
			} else {
				if x.ReadinessProbe == nil {
					x.ReadinessProbe = new(Probe)
				}
				x.ReadinessProbe.CodecDecodeSelf(d)
			}
		case "lifecycle":
			if r.TryDecodeAsNil() {
				if x.Lifecycle != nil {
					x.Lifecycle = nil
				}
			} else {
				if x.Lifecycle == nil {
					x.Lifecycle = new(Lifecycle)
				}
				x.Lifecycle.CodecDecodeSelf(d)
			}
		case "terminationMessagePath":
			if r.TryDecodeAsNil() {
				x.TerminationMessagePath = ""
			} else {
				x.TerminationMessagePath = string(r.DecodeString())
			}
		case "imagePullPolicy":
			if r.TryDecodeAsNil() {
				x.ImagePullPolicy = ""
			} else {
				x.ImagePullPolicy = PullPolicy(r.DecodeString())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(SecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdinOnce":
			if r.TryDecodeAsNil() {
				x.StdinOnce = false
			} else {
				x.StdinOnce = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1554)
		} // end switch yys1554
	} // end for yyj1554
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Container) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1578 int
	var yyb1578 bool
	var yyhl1578 bool = l >= 0
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1581 := &x.Command
		yym1582 := z.DecBinary()
		_ = yym1582
		if false {
		} else {
			z.F.DecSliceStringX(yyv1581, false, d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1583 := &x.Args
		yym1584 := z.DecBinary()
		_ = yym1584
		if false {
		} else {
			z.F.DecSliceStringX(yyv1583, false, d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1586 := &x.Ports
		yym1587 := z.DecBinary()
		_ = yym1587
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1586), d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1588 := &x.Env
		yym1589 := z.DecBinary()
		_ = yym1589
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1588), d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1590 := &x.Resources
		yyv1590.CodecDecodeSelf(d)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1591 := &x.VolumeMounts
		yym1592 := z.DecBinary()
		_ = yym1592
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1591), d)
		}
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LivenessProbe != nil {
			x.LivenessProbe = nil
		}
	} else {
		if x.LivenessProbe == nil {
			x.LivenessProbe = new(Probe)
		}
		x.LivenessProbe.CodecDecodeSelf(d)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadinessProbe != nil {
			x.ReadinessProbe = nil
		}
	} else {
		if x.ReadinessProbe == nil {
			x.ReadinessProbe = new(Probe)
		}
		x.ReadinessProbe.CodecDecodeSelf(d)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Lifecycle != nil {
			x.Lifecycle = nil
		}
	} else {
		if x.Lifecycle == nil {
			x.Lifecycle = new(Lifecycle)
		}
		x.Lifecycle.CodecDecodeSelf(d)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(SecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1578++
	if yyhl1578 {
		yyb1578 = yyj1578 > l
	} else {
		yyb1578 = r.CheckBreak()
	}
	if yyb1578 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1578++
		if yyhl1578 {
			yyb1578 = yyj1578 > l
		} else {
			yyb1578 = r.CheckBreak()
		}
		if yyb1578 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1578-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Handler) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1602 := z.EncBinary()
		_ = yym1602
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1603 := !z.EncBinary()
			yy2arr1603 := z.EncBasicHandle().StructToArray
			var yyq1603 [3]bool
			_, _, _ = yysep1603, yyq1603, yy2arr1603
			const yyr1603 bool = false
			yyq1603[0] = x.Exec != nil
			yyq1603[1] = x.HTTPGet != nil
			yyq1603[2] = x.TCPSocket != nil
			var yynn1603 int
			if yyr1603 || yy2arr1603 {
				r.EncodeArrayStart(3)
			} else {
				yynn1603 = 0
				for _, b := range yyq1603 {
					if b {
						yynn1603++
					}
				}
				r.EncodeMapStart(yynn1603)
				yynn1603 = 0
			}
			if yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1603[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1603[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1603[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1603[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1603[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1603[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1603 || yy2arr1603 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Handler) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1607 := z.DecBinary()
	_ = yym1607
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1608 := r.ContainerType()
		if yyct1608 == codecSelferValueTypeMap1234 {
			yyl1608 := r.ReadMapStart()
			if yyl1608 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1608, d)
			}
		} else if yyct1608 == codecSelferValueTypeArray1234 {
			yyl1608 := r.ReadArrayStart()
			if yyl1608 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1608, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Handler) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1609Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1609Slc
	var yyhl1609 bool = l >= 0
	for yyj1609 := 0; ; yyj1609++ {
		if yyhl1609 {
			if yyj1609 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1609Slc = r.DecodeBytes(yys1609Slc, true, true)
		yys1609 := string(yys1609Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1609 {
		case "exec":
			if r.TryDecodeAsNil() {
				if x.Exec != nil {
					x.Exec = nil
				}
			} else {
				if x.Exec == nil {
					x.Exec = new(ExecAction)
				}
				x.Exec.CodecDecodeSelf(d)
			}
		case "httpGet":
			if r.TryDecodeAsNil() {
				if x.HTTPGet != nil {
					x.HTTPGet = nil
				}
			} else {
				if x.HTTPGet == nil {
					x.HTTPGet = new(HTTPGetAction)
				}
				x.HTTPGet.CodecDecodeSelf(d)
			}
		case "tcpSocket":
			if r.TryDecodeAsNil() {
				if x.TCPSocket != nil {
					x.TCPSocket = nil
				}
			} else {
				if x.TCPSocket == nil {
					x.TCPSocket = new(TCPSocketAction)
				}
				x.TCPSocket.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1609)
		} // end switch yys1609
	} // end for yyj1609
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Handler) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1613 int
	var yyb1613 bool
	var yyhl1613 bool = l >= 0
	yyj1613++
	if yyhl1613 {
		yyb1613 = yyj1613 > l
	} else {
		yyb1613 = r.CheckBreak()
	}
	if yyb1613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	yyj1613++
	if yyhl1613 {
		yyb1613 = yyj1613 > l
	} else {
		yyb1613 = r.CheckBreak()
	}
	if yyb1613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	yyj1613++
	if yyhl1613 {
		yyb1613 = yyj1613 > l
	} else {
		yyb1613 = r.CheckBreak()
	}
	if yyb1613 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	for {
		yyj1613++
		if yyhl1613 {
			yyb1613 = yyj1613 > l
		} else {
			yyb1613 = r.CheckBreak()
		}
		if yyb1613 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1613-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Lifecycle) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1617 := z.EncBinary()
		_ = yym1617
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1618 := !z.EncBinary()
			yy2arr1618 := z.EncBasicHandle().StructToArray
			var yyq1618 [2]bool
			_, _, _ = yysep1618, yyq1618, yy2arr1618
			const yyr1618 bool = false
			yyq1618[0] = x.PostStart != nil
			yyq1618[1] = x.PreStop != nil
			var yynn1618 int
			if yyr1618 || yy2arr1618 {
				r.EncodeArrayStart(2)
			} else {
				yynn1618 = 0
				for _, b := range yyq1618 {
					if b {
						yynn1618++
					}
				}
				r.EncodeMapStart(yynn1618)
				yynn1618 = 0
			}
			if yyr1618 || yy2arr1618 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1618[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1618[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("postStart"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1618 || yy2arr1618 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1618[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1618[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preStop"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1618 || yy2arr1618 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Lifecycle) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1621 := z.DecBinary()
	_ = yym1621
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1622 := r.ContainerType()
		if yyct1622 == codecSelferValueTypeMap1234 {
			yyl1622 := r.ReadMapStart()
			if yyl1622 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1622, d)
			}
		} else if yyct1622 == codecSelferValueTypeArray1234 {
			yyl1622 := r.ReadArrayStart()
			if yyl1622 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1622, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Lifecycle) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1623Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1623Slc
	var yyhl1623 bool = l >= 0
	for yyj1623 := 0; ; yyj1623++ {
		if yyhl1623 {
			if yyj1623 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1623Slc = r.DecodeBytes(yys1623Slc, true, true)
		yys1623 := string(yys1623Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1623 {
		case "postStart":
			if r.TryDecodeAsNil() {
				if x.PostStart != nil {
					x.PostStart = nil
				}
			} else {
				if x.PostStart == nil {
					x.PostStart = new(Handler)
				}
				x.PostStart.CodecDecodeSelf(d)
			}
		case "preStop":
			if r.TryDecodeAsNil() {
				if x.PreStop != nil {
					x.PreStop = nil
				}
			} else {
				if x.PreStop == nil {
					x.PreStop = new(Handler)
				}
				x.PreStop.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1623)
		} // end switch yys1623
	} // end for yyj1623
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Lifecycle) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1626 int
	var yyb1626 bool
	var yyhl1626 bool = l >= 0
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PostStart != nil {
			x.PostStart = nil
		}
	} else {
		if x.PostStart == nil {
			x.PostStart = new(Handler)
		}
		x.PostStart.CodecDecodeSelf(d)
	}
	yyj1626++
	if yyhl1626 {
		yyb1626 = yyj1626 > l
	} else {
		yyb1626 = r.CheckBreak()
	}
	if yyb1626 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PreStop != nil {
			x.PreStop = nil
		}
	} else {
		if x.PreStop == nil {
			x.PreStop = new(Handler)
		}
		x.PreStop.CodecDecodeSelf(d)
	}
	for {
		yyj1626++
		if yyhl1626 {
			yyb1626 = yyj1626 > l
		} else {
			yyb1626 = r.CheckBreak()
		}
		if yyb1626 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1626-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1629 := z.EncBinary()
	_ = yym1629
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ConditionStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1630 := z.DecBinary()
	_ = yym1630
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ContainerStateWaiting) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1631 := z.EncBinary()
		_ = yym1631
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1632 := !z.EncBinary()
			yy2arr1632 := z.EncBasicHandle().StructToArray
			var yyq1632 [2]bool
			_, _, _ = yysep1632, yyq1632, yy2arr1632
			const yyr1632 bool = false
			yyq1632[0] = x.Reason != ""
			yyq1632[1] = x.Message != ""
			var yynn1632 int
			if yyr1632 || yy2arr1632 {
				r.EncodeArrayStart(2)
			} else {
				yynn1632 = 0
				for _, b := range yyq1632 {
					if b {
						yynn1632++
					}
				}
				r.EncodeMapStart(yynn1632)
				yynn1632 = 0
			}
			if yyr1632 || yy2arr1632 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1632[0] {
					yym1634 := z.EncBinary()
					_ = yym1634
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1632[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1635 := z.EncBinary()
					_ = yym1635
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1632 || yy2arr1632 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1632[1] {
					yym1637 := z.EncBinary()
					_ = yym1637
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1632[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1638 := z.EncBinary()
					_ = yym1638
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1632 || yy2arr1632 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateWaiting) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1639 := z.DecBinary()
	_ = yym1639
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1640 := r.ContainerType()
		if yyct1640 == codecSelferValueTypeMap1234 {
			yyl1640 := r.ReadMapStart()
			if yyl1640 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1640, d)
			}
		} else if yyct1640 == codecSelferValueTypeArray1234 {
			yyl1640 := r.ReadArrayStart()
			if yyl1640 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1640, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateWaiting) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1641Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1641Slc
	var yyhl1641 bool = l >= 0
	for yyj1641 := 0; ; yyj1641++ {
		if yyhl1641 {
			if yyj1641 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1641Slc = r.DecodeBytes(yys1641Slc, true, true)
		yys1641 := string(yys1641Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1641 {
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1641)
		} // end switch yys1641
	} // end for yyj1641
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateWaiting) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1644 int
	var yyb1644 bool
	var yyhl1644 bool = l >= 0
	yyj1644++
	if yyhl1644 {
		yyb1644 = yyj1644 > l
	} else {
		yyb1644 = r.CheckBreak()
	}
	if yyb1644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1644++
	if yyhl1644 {
		yyb1644 = yyj1644 > l
	} else {
		yyb1644 = r.CheckBreak()
	}
	if yyb1644 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1644++
		if yyhl1644 {
			yyb1644 = yyj1644 > l
		} else {
			yyb1644 = r.CheckBreak()
		}
		if yyb1644 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1644-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateRunning) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1647 := z.EncBinary()
		_ = yym1647
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1648 := !z.EncBinary()
			yy2arr1648 := z.EncBasicHandle().StructToArray
			var yyq1648 [1]bool
			_, _, _ = yysep1648, yyq1648, yy2arr1648
			const yyr1648 bool = false
			yyq1648[0] = true
			var yynn1648 int
			if yyr1648 || yy2arr1648 {
				r.EncodeArrayStart(1)
			} else {
				yynn1648 = 0
				for _, b := range yyq1648 {
					if b {
						yynn1648++
					}
				}
				r.EncodeMapStart(yynn1648)
				yynn1648 = 0
			}
			if yyr1648 || yy2arr1648 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1648[0] {
					yy1650 := &x.StartedAt
					yym1651 := z.EncBinary()
					_ = yym1651
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1650) {
					} else if yym1651 {
						z.EncBinaryMarshal(yy1650)
					} else if !yym1651 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1650)
					} else {
						z.EncFallback(yy1650)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1648[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1652 := &x.StartedAt
					yym1653 := z.EncBinary()
					_ = yym1653
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1652) {
					} else if yym1653 {
						z.EncBinaryMarshal(yy1652)
					} else if !yym1653 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1652)
					} else {
						z.EncFallback(yy1652)
					}
				}
			}
			if yyr1648 || yy2arr1648 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateRunning) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1654 := z.DecBinary()
	_ = yym1654
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1655 := r.ContainerType()
		if yyct1655 == codecSelferValueTypeMap1234 {
			yyl1655 := r.ReadMapStart()
			if yyl1655 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1655, d)
			}
		} else if yyct1655 == codecSelferValueTypeArray1234 {
			yyl1655 := r.ReadArrayStart()
			if yyl1655 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1655, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1656Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1656Slc
	var yyhl1656 bool = l >= 0
	for yyj1656 := 0; ; yyj1656++ {
		if yyhl1656 {
			if yyj1656 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1656Slc = r.DecodeBytes(yys1656Slc, true, true)
		yys1656 := string(yys1656Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1656 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1657 := &x.StartedAt
				yym1658 := z.DecBinary()
				_ = yym1658
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1657) {
				} else if yym1658 {
					z.DecBinaryUnmarshal(yyv1657)
				} else if !yym1658 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1657)
				} else {
					z.DecFallback(yyv1657, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1656)
		} // end switch yys1656
	} // end for yyj1656
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateRunning) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1659 int
	var yyb1659 bool
	var yyhl1659 bool = l >= 0
	yyj1659++
	if yyhl1659 {
		yyb1659 = yyj1659 > l
	} else {
		yyb1659 = r.CheckBreak()
	}
	if yyb1659 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1660 := &x.StartedAt
		yym1661 := z.DecBinary()
		_ = yym1661
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1660) {
		} else if yym1661 {
			z.DecBinaryUnmarshal(yyv1660)
		} else if !yym1661 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1660)
		} else {
			z.DecFallback(yyv1660, false)
		}
	}
	for {
		yyj1659++
		if yyhl1659 {
			yyb1659 = yyj1659 > l
		} else {
			yyb1659 = r.CheckBreak()
		}
		if yyb1659 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1659-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStateTerminated) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1662 := z.EncBinary()
		_ = yym1662
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1663 := !z.EncBinary()
			yy2arr1663 := z.EncBasicHandle().StructToArray
			var yyq1663 [7]bool
			_, _, _ = yysep1663, yyq1663, yy2arr1663
			const yyr1663 bool = false
			yyq1663[1] = x.Signal != 0
			yyq1663[2] = x.Reason != ""
			yyq1663[3] = x.Message != ""
			yyq1663[4] = true
			yyq1663[5] = true
			yyq1663[6] = x.ContainerID != ""
			var yynn1663 int
			if yyr1663 || yy2arr1663 {
				r.EncodeArrayStart(7)
			} else {
				yynn1663 = 1
				for _, b := range yyq1663 {
					if b {
						yynn1663++
					}
				}
				r.EncodeMapStart(yynn1663)
				yynn1663 = 0
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1665 := z.EncBinary()
				_ = yym1665
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1666 := z.EncBinary()
				_ = yym1666
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[1] {
					yym1668 := z.EncBinary()
					_ = yym1668
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1663[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1669 := z.EncBinary()
					_ = yym1669
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[2] {
					yym1671 := z.EncBinary()
					_ = yym1671
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1663[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1672 := z.EncBinary()
					_ = yym1672
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[3] {
					yym1674 := z.EncBinary()
					_ = yym1674
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1663[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1675 := z.EncBinary()
					_ = yym1675
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[4] {
					yy1677 := &x.StartedAt
					yym1678 := z.EncBinary()
					_ = yym1678
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1677) {
					} else if yym1678 {
						z.EncBinaryMarshal(yy1677)
					} else if !yym1678 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1677)
					} else {
						z.EncFallback(yy1677)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1663[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1679 := &x.StartedAt
					yym1680 := z.EncBinary()
					_ = yym1680
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1679) {
					} else if yym1680 {
						z.EncBinaryMarshal(yy1679)
					} else if !yym1680 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1679)
					} else {
						z.EncFallback(yy1679)
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[5] {
					yy1682 := &x.FinishedAt
					yym1683 := z.EncBinary()
					_ = yym1683
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1682) {
					} else if yym1683 {
						z.EncBinaryMarshal(yy1682)
					} else if !yym1683 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1682)
					} else {
						z.EncFallback(yy1682)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1663[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1684 := &x.FinishedAt
					yym1685 := z.EncBinary()
					_ = yym1685
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1684) {
					} else if yym1685 {
						z.EncBinaryMarshal(yy1684)
					} else if !yym1685 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1684)
					} else {
						z.EncFallback(yy1684)
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1663[6] {
					yym1687 := z.EncBinary()
					_ = yym1687
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1663[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1688 := z.EncBinary()
					_ = yym1688
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1663 || yy2arr1663 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStateTerminated) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1689 := z.DecBinary()
	_ = yym1689
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1690 := r.ContainerType()
		if yyct1690 == codecSelferValueTypeMap1234 {
			yyl1690 := r.ReadMapStart()
			if yyl1690 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1690, d)
			}
		} else if yyct1690 == codecSelferValueTypeArray1234 {
			yyl1690 := r.ReadArrayStart()
			if yyl1690 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1690, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStateTerminated) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1691Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1691Slc
	var yyhl1691 bool = l >= 0
	for yyj1691 := 0; ; yyj1691++ {
		if yyhl1691 {
			if yyj1691 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1691Slc = r.DecodeBytes(yys1691Slc, true, true)
		yys1691 := string(yys1691Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1691 {
		case "exitCode":
			if r.TryDecodeAsNil() {
				x.ExitCode = 0
			} else {
				x.ExitCode = int32(r.DecodeInt(32))
			}
		case "signal":
			if r.TryDecodeAsNil() {
				x.Signal = 0
			} else {
				x.Signal = int32(r.DecodeInt(32))
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1696 := &x.StartedAt
				yym1697 := z.DecBinary()
				_ = yym1697
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1696) {
				} else if yym1697 {
					z.DecBinaryUnmarshal(yyv1696)
				} else if !yym1697 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1696)
				} else {
					z.DecFallback(yyv1696, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_unversioned.Time{}
			} else {
				yyv1698 := &x.FinishedAt
				yym1699 := z.DecBinary()
				_ = yym1699
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1698) {
				} else if yym1699 {
					z.DecBinaryUnmarshal(yyv1698)
				} else if !yym1699 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1698)
				} else {
					z.DecFallback(yyv1698, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1691)
		} // end switch yys1691
	} // end for yyj1691
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStateTerminated) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1701 int
	var yyb1701 bool
	var yyhl1701 bool = l >= 0
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int32(r.DecodeInt(32))
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int32(r.DecodeInt(32))
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1706 := &x.StartedAt
		yym1707 := z.DecBinary()
		_ = yym1707
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1706) {
		} else if yym1707 {
			z.DecBinaryUnmarshal(yyv1706)
		} else if !yym1707 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1706)
		} else {
			z.DecFallback(yyv1706, false)
		}
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_unversioned.Time{}
	} else {
		yyv1708 := &x.FinishedAt
		yym1709 := z.DecBinary()
		_ = yym1709
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1708) {
		} else if yym1709 {
			z.DecBinaryUnmarshal(yyv1708)
		} else if !yym1709 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1708)
		} else {
			z.DecFallback(yyv1708, false)
		}
	}
	yyj1701++
	if yyhl1701 {
		yyb1701 = yyj1701 > l
	} else {
		yyb1701 = r.CheckBreak()
	}
	if yyb1701 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1701++
		if yyhl1701 {
			yyb1701 = yyj1701 > l
		} else {
			yyb1701 = r.CheckBreak()
		}
		if yyb1701 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1701-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerState) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1711 := z.EncBinary()
		_ = yym1711
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1712 := !z.EncBinary()
			yy2arr1712 := z.EncBasicHandle().StructToArray
			var yyq1712 [3]bool
			_, _, _ = yysep1712, yyq1712, yy2arr1712
			const yyr1712 bool = false
			yyq1712[0] = x.Waiting != nil
			yyq1712[1] = x.Running != nil
			yyq1712[2] = x.Terminated != nil
			var yynn1712 int
			if yyr1712 || yy2arr1712 {
				r.EncodeArrayStart(3)
			} else {
				yynn1712 = 0
				for _, b := range yyq1712 {
					if b {
						yynn1712++
					}
				}
				r.EncodeMapStart(yynn1712)
				yynn1712 = 0
			}
			if yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1712[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1712[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("waiting"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1712[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1712[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("running"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1712[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1712[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminated"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1712 || yy2arr1712 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerState) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1716 := z.DecBinary()
	_ = yym1716
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1717 := r.ContainerType()
		if yyct1717 == codecSelferValueTypeMap1234 {
			yyl1717 := r.ReadMapStart()
			if yyl1717 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1717, d)
			}
		} else if yyct1717 == codecSelferValueTypeArray1234 {
			yyl1717 := r.ReadArrayStart()
			if yyl1717 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1717, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerState) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1718Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1718Slc
	var yyhl1718 bool = l >= 0
	for yyj1718 := 0; ; yyj1718++ {
		if yyhl1718 {
			if yyj1718 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1718Slc = r.DecodeBytes(yys1718Slc, true, true)
		yys1718 := string(yys1718Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1718 {
		case "waiting":
			if r.TryDecodeAsNil() {
				if x.Waiting != nil {
					x.Waiting = nil
				}
			} else {
				if x.Waiting == nil {
					x.Waiting = new(ContainerStateWaiting)
				}
				x.Waiting.CodecDecodeSelf(d)
			}
		case "running":
			if r.TryDecodeAsNil() {
				if x.Running != nil {
					x.Running = nil
				}
			} else {
				if x.Running == nil {
					x.Running = new(ContainerStateRunning)
				}
				x.Running.CodecDecodeSelf(d)
			}
		case "terminated":
			if r.TryDecodeAsNil() {
				if x.Terminated != nil {
					x.Terminated = nil
				}
			} else {
				if x.Terminated == nil {
					x.Terminated = new(ContainerStateTerminated)
				}
				x.Terminated.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1718)
		} // end switch yys1718
	} // end for yyj1718
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerState) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1722 int
	var yyb1722 bool
	var yyhl1722 bool = l >= 0
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Waiting != nil {
			x.Waiting = nil
		}
	} else {
		if x.Waiting == nil {
			x.Waiting = new(ContainerStateWaiting)
		}
		x.Waiting.CodecDecodeSelf(d)
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Running != nil {
			x.Running = nil
		}
	} else {
		if x.Running == nil {
			x.Running = new(ContainerStateRunning)
		}
		x.Running.CodecDecodeSelf(d)
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Terminated != nil {
			x.Terminated = nil
		}
	} else {
		if x.Terminated == nil {
			x.Terminated = new(ContainerStateTerminated)
		}
		x.Terminated.CodecDecodeSelf(d)
	}
	for {
		yyj1722++
		if yyhl1722 {
			yyb1722 = yyj1722 > l
		} else {
			yyb1722 = r.CheckBreak()
		}
		if yyb1722 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1722-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1726 := z.EncBinary()
		_ = yym1726
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1727 := !z.EncBinary()
			yy2arr1727 := z.EncBasicHandle().StructToArray
			var yyq1727 [8]bool
			_, _, _ = yysep1727, yyq1727, yy2arr1727
			const yyr1727 bool = false
			yyq1727[1] = true
			yyq1727[2] = true
			yyq1727[7] = x.ContainerID != ""
			var yynn1727 int
			if yyr1727 || yy2arr1727 {
				r.EncodeArrayStart(8)
			} else {
				yynn1727 = 5
				for _, b := range yyq1727 {
					if b {
						yynn1727++
					}
				}
				r.EncodeMapStart(yynn1727)
				yynn1727 = 0
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1729 := z.EncBinary()
				_ = yym1729
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1730 := z.EncBinary()
				_ = yym1730
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1727[1] {
					yy1732 := &x.State
					yy1732.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1727[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1733 := &x.State
					yy1733.CodecEncodeSelf(e)
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1727[2] {
					yy1735 := &x.LastTerminationState
					yy1735.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1727[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1736 := &x.LastTerminationState
					yy1736.CodecEncodeSelf(e)
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1738 := z.EncBinary()
				_ = yym1738
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1739 := z.EncBinary()
				_ = yym1739
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1741 := z.EncBinary()
				_ = yym1741
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1742 := z.EncBinary()
				_ = yym1742
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1744 := z.EncBinary()
				_ = yym1744
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1745 := z.EncBinary()
				_ = yym1745
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1747 := z.EncBinary()
				_ = yym1747
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("imageID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1748 := z.EncBinary()
				_ = yym1748
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1727[7] {
					yym1750 := z.EncBinary()
					_ = yym1750
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1727[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1751 := z.EncBinary()
					_ = yym1751
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yyr1727 || yy2arr1727 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1752 := z.DecBinary()
	_ = yym1752
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1753 := r.ContainerType()
		if yyct1753 == codecSelferValueTypeMap1234 {
			yyl1753 := r.ReadMapStart()
			if yyl1753 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1753, d)
			}
		} else if yyct1753 == codecSelferValueTypeArray1234 {
			yyl1753 := r.ReadArrayStart()
			if yyl1753 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1753, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1754Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1754Slc
	var yyhl1754 bool = l >= 0
	for yyj1754 := 0; ; yyj1754++ {
		if yyhl1754 {
			if yyj1754 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1754Slc = r.DecodeBytes(yys1754Slc, true, true)
		yys1754 := string(yys1754Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1754 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1756 := &x.State
				yyv1756.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1757 := &x.LastTerminationState
				yyv1757.CodecDecodeSelf(d)
			}
		case "ready":
			if r.TryDecodeAsNil() {
				x.Ready = false
			} else {
				x.Ready = bool(r.DecodeBool())
			}
		case "restartCount":
			if r.TryDecodeAsNil() {
				x.RestartCount = 0
			} else {
				x.RestartCount = int32(r.DecodeInt(32))
			}
		case "image":
			if r.TryDecodeAsNil() {
				x.Image = ""
			} else {
				x.Image = string(r.DecodeString())
			}
		case "imageID":
			if r.TryDecodeAsNil() {
				x.ImageID = ""
			} else {
				x.ImageID = string(r.DecodeString())
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1754)
		} // end switch yys1754
	} // end for yyj1754
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1763 int
	var yyb1763 bool
	var yyhl1763 bool = l >= 0
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1765 := &x.State
		yyv1765.CodecDecodeSelf(d)
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1766 := &x.LastTerminationState
		yyv1766.CodecDecodeSelf(d)
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int32(r.DecodeInt(32))
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1763++
		if yyhl1763 {
			yyb1763 = yyj1763 > l
		} else {
			yyb1763 = r.CheckBreak()
		}
		if yyb1763 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1763-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1772 := z.EncBinary()
	_ = yym1772
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodPhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1773 := z.DecBinary()
	_ = yym1773
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x PodConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1774 := z.EncBinary()
	_ = yym1774
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PodConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1775 := z.DecBinary()
	_ = yym1775
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1776 := z.EncBinary()
		_ = yym1776
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1777 := !z.EncBinary()
			yy2arr1777 := z.EncBasicHandle().StructToArray
			var yyq1777 [6]bool
			_, _, _ = yysep1777, yyq1777, yy2arr1777
			const yyr1777 bool = false
			yyq1777[2] = true
			yyq1777[3] = true
			yyq1777[4] = x.Reason != ""
			yyq1777[5] = x.Message != ""
			var yynn1777 int
			if yyr1777 || yy2arr1777 {
				r.EncodeArrayStart(6)
			} else {
				yynn1777 = 2
				for _, b := range yyq1777 {
					if b {
						yynn1777++
					}
				}
				r.EncodeMapStart(yynn1777)
				yynn1777 = 0
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[2] {
					yy1781 := &x.LastProbeTime
					yym1782 := z.EncBinary()
					_ = yym1782
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1781) {
					} else if yym1782 {
						z.EncBinaryMarshal(yy1781)
					} else if !yym1782 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1781)
					} else {
						z.EncFallback(yy1781)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1777[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1783 := &x.LastProbeTime
					yym1784 := z.EncBinary()
					_ = yym1784
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1783) {
					} else if yym1784 {
						z.EncBinaryMarshal(yy1783)
					} else if !yym1784 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1783)
					} else {
						z.EncFallback(yy1783)
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[3] {
					yy1786 := &x.LastTransitionTime
					yym1787 := z.EncBinary()
					_ = yym1787
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1786) {
					} else if yym1787 {
						z.EncBinaryMarshal(yy1786)
					} else if !yym1787 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1786)
					} else {
						z.EncFallback(yy1786)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1777[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1788 := &x.LastTransitionTime
					yym1789 := z.EncBinary()
					_ = yym1789
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1788) {
					} else if yym1789 {
						z.EncBinaryMarshal(yy1788)
					} else if !yym1789 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1788)
					} else {
						z.EncFallback(yy1788)
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[4] {
					yym1791 := z.EncBinary()
					_ = yym1791
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1777[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1792 := z.EncBinary()
					_ = yym1792
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1777[5] {
					yym1794 := z.EncBinary()
					_ = yym1794
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1777[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1795 := z.EncBinary()
					_ = yym1795
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1777 || yy2arr1777 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1796 := z.DecBinary()
	_ = yym1796
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1797 := r.ContainerType()
		if yyct1797 == codecSelferValueTypeMap1234 {
			yyl1797 := r.ReadMapStart()
			if yyl1797 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1797, d)
			}
		} else if yyct1797 == codecSelferValueTypeArray1234 {
			yyl1797 := r.ReadArrayStart()
			if yyl1797 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1797, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1798Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1798Slc
	var yyhl1798 bool = l >= 0
	for yyj1798 := 0; ; yyj1798++ {
		if yyhl1798 {
			if yyj1798 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1798Slc = r.DecodeBytes(yys1798Slc, true, true)
		yys1798 := string(yys1798Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1798 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = PodConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastProbeTime":
			if r.TryDecodeAsNil() {
				x.LastProbeTime = pkg2_unversioned.Time{}
			} else {
				yyv1801 := &x.LastProbeTime
				yym1802 := z.DecBinary()
				_ = yym1802
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1801) {
				} else if yym1802 {
					z.DecBinaryUnmarshal(yyv1801)
				} else if !yym1802 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1801)
				} else {
					z.DecFallback(yyv1801, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv1803 := &x.LastTransitionTime
				yym1804 := z.DecBinary()
				_ = yym1804
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1803) {
				} else if yym1804 {
					z.DecBinaryUnmarshal(yyv1803)
				} else if !yym1804 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1803)
				} else {
					z.DecFallback(yyv1803, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1798)
		} // end switch yys1798
	} // end for yyj1798
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1807 int
	var yyb1807 bool
	var yyhl1807 bool = l >= 0
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv1810 := &x.LastProbeTime
		yym1811 := z.DecBinary()
		_ = yym1811
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1810) {
		} else if yym1811 {
			z.DecBinaryUnmarshal(yyv1810)
		} else if !yym1811 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1810)
		} else {
			z.DecFallback(yyv1810, false)
		}
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv1812 := &x.LastTransitionTime
		yym1813 := z.DecBinary()
		_ = yym1813
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1812) {
		} else if yym1813 {
			z.DecBinaryUnmarshal(yyv1812)
		} else if !yym1813 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1812)
		} else {
			z.DecFallback(yyv1812, false)
		}
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1807++
	if yyhl1807 {
		yyb1807 = yyj1807 > l
	} else {
		yyb1807 = r.CheckBreak()
	}
	if yyb1807 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1807++
		if yyhl1807 {
			yyb1807 = yyj1807 > l
		} else {
			yyb1807 = r.CheckBreak()
		}
		if yyb1807 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1807-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1816 := z.EncBinary()
	_ = yym1816
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *RestartPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1817 := z.DecBinary()
	_ = yym1817
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1818 := z.EncBinary()
		_ = yym1818
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1819 := !z.EncBinary()
			yy2arr1819 := z.EncBasicHandle().StructToArray
			var yyq1819 [4]bool
			_, _, _ = yysep1819, yyq1819, yy2arr1819
			const yyr1819 bool = false
			yyq1819[0] = x.Kind != ""
			yyq1819[1] = x.APIVersion != ""
			yyq1819[2] = true
			var yynn1819 int
			if yyr1819 || yy2arr1819 {
				r.EncodeArrayStart(4)
			} else {
				yynn1819 = 1
				for _, b := range yyq1819 {
					if b {
						yynn1819++
					}
				}
				r.EncodeMapStart(yynn1819)
				yynn1819 = 0
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1819[0] {
					yym1821 := z.EncBinary()
					_ = yym1821
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1819[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1822 := z.EncBinary()
					_ = yym1822
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1819[1] {
					yym1824 := z.EncBinary()
					_ = yym1824
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1819[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1825 := z.EncBinary()
					_ = yym1825
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1819[2] {
					yy1827 := &x.ListMeta
					yym1828 := z.EncBinary()
					_ = yym1828
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1827) {
					} else {
						z.EncFallback(yy1827)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1819[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy1829 := &x.ListMeta
					yym1830 := z.EncBinary()
					_ = yym1830
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1829) {
					} else {
						z.EncFallback(yy1829)
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1832 := z.EncBinary()
					_ = yym1832
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1833 := z.EncBinary()
					_ = yym1833
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yyr1819 || yy2arr1819 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1834 := z.DecBinary()
	_ = yym1834
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1835 := r.ContainerType()
		if yyct1835 == codecSelferValueTypeMap1234 {
			yyl1835 := r.ReadMapStart()
			if yyl1835 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1835, d)
			}
		} else if yyct1835 == codecSelferValueTypeArray1234 {
			yyl1835 := r.ReadArrayStart()
			if yyl1835 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1835, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1836Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1836Slc
	var yyhl1836 bool = l >= 0
	for yyj1836 := 0; ; yyj1836++ {
		if yyhl1836 {
			if yyj1836 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1836Slc = r.DecodeBytes(yys1836Slc, true, true)
		yys1836 := string(yys1836Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1836 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv1839 := &x.ListMeta
				yym1840 := z.DecBinary()
				_ = yym1840
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1839) {
				} else {
					z.DecFallback(yyv1839, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1841 := &x.Items
				yym1842 := z.DecBinary()
				_ = yym1842
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1841), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1836)
		} // end switch yys1836
	} // end for yyj1836
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1843 int
	var yyb1843 bool
	var yyhl1843 bool = l >= 0
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1846 := &x.ListMeta
		yym1847 := z.DecBinary()
		_ = yym1847
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1846) {
		} else {
			z.DecFallback(yyv1846, false)
		}
	}
	yyj1843++
	if yyhl1843 {
		yyb1843 = yyj1843 > l
	} else {
		yyb1843 = r.CheckBreak()
	}
	if yyb1843 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1848 := &x.Items
		yym1849 := z.DecBinary()
		_ = yym1849
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1848), d)
		}
	}
	for {
		yyj1843++
		if yyhl1843 {
			yyb1843 = yyj1843 > l
		} else {
			yyb1843 = r.CheckBreak()
		}
		if yyb1843 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1843-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1850 := z.EncBinary()
	_ = yym1850
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *DNSPolicy) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1851 := z.DecBinary()
	_ = yym1851
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1852 := z.EncBinary()
		_ = yym1852
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1853 := !z.EncBinary()
			yy2arr1853 := z.EncBasicHandle().StructToArray
			var yyq1853 [1]bool
			_, _, _ = yysep1853, yyq1853, yy2arr1853
			const yyr1853 bool = false
			var yynn1853 int
			if yyr1853 || yy2arr1853 {
				r.EncodeArrayStart(1)
			} else {
				yynn1853 = 1
				for _, b := range yyq1853 {
					if b {
						yynn1853++
					}
				}
				r.EncodeMapStart(yynn1853)
				yynn1853 = 0
			}
			if yyr1853 || yy2arr1853 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NodeSelectorTerms == nil {
					r.EncodeNil()
				} else {
					yym1855 := z.EncBinary()
					_ = yym1855
					if false {
					} else {
						h.encSliceNodeSelectorTerm(([]NodeSelectorTerm)(x.NodeSelectorTerms), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("nodeSelectorTerms"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.NodeSelectorTerms == nil {
					r.EncodeNil()
				} else {
					yym1856 := z.EncBinary()
					_ = yym1856
					if false {
					} else {
						h.encSliceNodeSelectorTerm(([]NodeSelectorTerm)(x.NodeSelectorTerms), e)
					}
				}
			}
			if yyr1853 || yy2arr1853 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1857 := z.DecBinary()
	_ = yym1857
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1858 := r.ContainerType()
		if yyct1858 == codecSelferValueTypeMap1234 {
			yyl1858 := r.ReadMapStart()
			if yyl1858 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1858, d)
			}
		} else if yyct1858 == codecSelferValueTypeArray1234 {
			yyl1858 := r.ReadArrayStart()
			if yyl1858 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1858, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSelector) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1859Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1859Slc
	var yyhl1859 bool = l >= 0
	for yyj1859 := 0; ; yyj1859++ {
		if yyhl1859 {
			if yyj1859 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1859Slc = r.DecodeBytes(yys1859Slc, true, true)
		yys1859 := string(yys1859Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1859 {
		case "nodeSelectorTerms":
			if r.TryDecodeAsNil() {
				x.NodeSelectorTerms = nil
			} else {
				yyv1860 := &x.NodeSelectorTerms
				yym1861 := z.DecBinary()
				_ = yym1861
				if false {
				} else {
					h.decSliceNodeSelectorTerm((*[]NodeSelectorTerm)(yyv1860), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1859)
		} // end switch yys1859
	} // end for yyj1859
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSelector) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1862 int
	var yyb1862 bool
	var yyhl1862 bool = l >= 0
	yyj1862++
	if yyhl1862 {
		yyb1862 = yyj1862 > l
	} else {
		yyb1862 = r.CheckBreak()
	}
	if yyb1862 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelectorTerms = nil
	} else {
		yyv1863 := &x.NodeSelectorTerms
		yym1864 := z.DecBinary()
		_ = yym1864
		if false {
		} else {
			h.decSliceNodeSelectorTerm((*[]NodeSelectorTerm)(yyv1863), d)
		}
	}
	for {
		yyj1862++
		if yyhl1862 {
			yyb1862 = yyj1862 > l
		} else {
			yyb1862 = r.CheckBreak()
		}
		if yyb1862 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1862-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSelectorTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1865 := z.EncBinary()
		_ = yym1865
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1866 := !z.EncBinary()
			yy2arr1866 := z.EncBasicHandle().StructToArray
			var yyq1866 [1]bool
			_, _, _ = yysep1866, yyq1866, yy2arr1866
			const yyr1866 bool = false
			var yynn1866 int
			if yyr1866 || yy2arr1866 {
				r.EncodeArrayStart(1)
			} else {
				yynn1866 = 1
				for _, b := range yyq1866 {
					if b {
						yynn1866++
					}
				}
				r.EncodeMapStart(yynn1866)
				yynn1866 = 0
			}
			if yyr1866 || yy2arr1866 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.MatchExpressions == nil {
					r.EncodeNil()
				} else {
					yym1868 := z.EncBinary()
					_ = yym1868
					if false {
					} else {
						h.encSliceNodeSelectorRequirement(([]NodeSelectorRequirement)(x.MatchExpressions), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("matchExpressions"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.MatchExpressions == nil {
					r.EncodeNil()
				} else {
					yym1869 := z.EncBinary()
					_ = yym1869
					if false {
					} else {
						h.encSliceNodeSelectorRequirement(([]NodeSelectorRequirement)(x.MatchExpressions), e)
					}
				}
			}
			if yyr1866 || yy2arr1866 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSelectorTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1870 := z.DecBinary()
	_ = yym1870
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1871 := r.ContainerType()
		if yyct1871 == codecSelferValueTypeMap1234 {
			yyl1871 := r.ReadMapStart()
			if yyl1871 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1871, d)
			}
		} else if yyct1871 == codecSelferValueTypeArray1234 {
			yyl1871 := r.ReadArrayStart()
			if yyl1871 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1871, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSelectorTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1872Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1872Slc
	var yyhl1872 bool = l >= 0
	for yyj1872 := 0; ; yyj1872++ {
		if yyhl1872 {
			if yyj1872 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1872Slc = r.DecodeBytes(yys1872Slc, true, true)
		yys1872 := string(yys1872Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1872 {
		case "matchExpressions":
			if r.TryDecodeAsNil() {
				x.MatchExpressions = nil
			} else {
				yyv1873 := &x.MatchExpressions
				yym1874 := z.DecBinary()
				_ = yym1874
				if false {
				} else {
					h.decSliceNodeSelectorRequirement((*[]NodeSelectorRequirement)(yyv1873), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1872)
		} // end switch yys1872
	} // end for yyj1872
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSelectorTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1875 int
	var yyb1875 bool
	var yyhl1875 bool = l >= 0
	yyj1875++
	if yyhl1875 {
		yyb1875 = yyj1875 > l
	} else {
		yyb1875 = r.CheckBreak()
	}
	if yyb1875 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MatchExpressions = nil
	} else {
		yyv1876 := &x.MatchExpressions
		yym1877 := z.DecBinary()
		_ = yym1877
		if false {
		} else {
			h.decSliceNodeSelectorRequirement((*[]NodeSelectorRequirement)(yyv1876), d)
		}
	}
	for {
		yyj1875++
		if yyhl1875 {
			yyb1875 = yyj1875 > l
		} else {
			yyb1875 = r.CheckBreak()
		}
		if yyb1875 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1875-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSelectorRequirement) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1878 := z.EncBinary()
		_ = yym1878
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1879 := !z.EncBinary()
			yy2arr1879 := z.EncBasicHandle().StructToArray
			var yyq1879 [3]bool
			_, _, _ = yysep1879, yyq1879, yy2arr1879
			const yyr1879 bool = false
			yyq1879[2] = len(x.Values) != 0
			var yynn1879 int
			if yyr1879 || yy2arr1879 {
				r.EncodeArrayStart(3)
			} else {
				yynn1879 = 2
				for _, b := range yyq1879 {
					if b {
						yynn1879++
					}
				}
				r.EncodeMapStart(yynn1879)
				yynn1879 = 0
			}
			if yyr1879 || yy2arr1879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1881 := z.EncBinary()
				_ = yym1881
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1882 := z.EncBinary()
				_ = yym1882
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr1879 || yy2arr1879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Operator.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("operator"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Operator.CodecEncodeSelf(e)
			}
			if yyr1879 || yy2arr1879 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1879[2] {
					if x.Values == nil {
						r.EncodeNil()
					} else {
						yym1885 := z.EncBinary()
						_ = yym1885
						if false {
						} else {
							z.F.EncSliceStringV(x.Values, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1879[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("values"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Values == nil {
						r.EncodeNil()
					} else {
						yym1886 := z.EncBinary()
						_ = yym1886
						if false {
						} else {
							z.F.EncSliceStringV(x.Values, false, e)
						}
					}
				}
			}
			if yyr1879 || yy2arr1879 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSelectorRequirement) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1887 := z.DecBinary()
	_ = yym1887
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1888 := r.ContainerType()
		if yyct1888 == codecSelferValueTypeMap1234 {
			yyl1888 := r.ReadMapStart()
			if yyl1888 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1888, d)
			}
		} else if yyct1888 == codecSelferValueTypeArray1234 {
			yyl1888 := r.ReadArrayStart()
			if yyl1888 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1888, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSelectorRequirement) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1889Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1889Slc
	var yyhl1889 bool = l >= 0
	for yyj1889 := 0; ; yyj1889++ {
		if yyhl1889 {
			if yyj1889 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1889Slc = r.DecodeBytes(yys1889Slc, true, true)
		yys1889 := string(yys1889Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1889 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "operator":
			if r.TryDecodeAsNil() {
				x.Operator = ""
			} else {
				x.Operator = NodeSelectorOperator(r.DecodeString())
			}
		case "values":
			if r.TryDecodeAsNil() {
				x.Values = nil
			} else {
				yyv1892 := &x.Values
				yym1893 := z.DecBinary()
				_ = yym1893
				if false {
				} else {
					z.F.DecSliceStringX(yyv1892, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1889)
		} // end switch yys1889
	} // end for yyj1889
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSelectorRequirement) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1894 int
	var yyb1894 bool
	var yyhl1894 bool = l >= 0
	yyj1894++
	if yyhl1894 {
		yyb1894 = yyj1894 > l
	} else {
		yyb1894 = r.CheckBreak()
	}
	if yyb1894 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj1894++
	if yyhl1894 {
		yyb1894 = yyj1894 > l
	} else {
		yyb1894 = r.CheckBreak()
	}
	if yyb1894 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Operator = ""
	} else {
		x.Operator = NodeSelectorOperator(r.DecodeString())
	}
	yyj1894++
	if yyhl1894 {
		yyb1894 = yyj1894 > l
	} else {
		yyb1894 = r.CheckBreak()
	}
	if yyb1894 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Values = nil
	} else {
		yyv1897 := &x.Values
		yym1898 := z.DecBinary()
		_ = yym1898
		if false {
		} else {
			z.F.DecSliceStringX(yyv1897, false, d)
		}
	}
	for {
		yyj1894++
		if yyhl1894 {
			yyb1894 = yyj1894 > l
		} else {
			yyb1894 = r.CheckBreak()
		}
		if yyb1894 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1894-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeSelectorOperator) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1899 := z.EncBinary()
	_ = yym1899
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeSelectorOperator) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1900 := z.DecBinary()
	_ = yym1900
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Affinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1901 := z.EncBinary()
		_ = yym1901
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1902 := !z.EncBinary()
			yy2arr1902 := z.EncBasicHandle().StructToArray
			var yyq1902 [3]bool
			_, _, _ = yysep1902, yyq1902, yy2arr1902
			const yyr1902 bool = false
			yyq1902[0] = x.NodeAffinity != nil
			yyq1902[1] = x.PodAffinity != nil
			yyq1902[2] = x.PodAntiAffinity != nil
			var yynn1902 int
			if yyr1902 || yy2arr1902 {
				r.EncodeArrayStart(3)
			} else {
				yynn1902 = 0
				for _, b := range yyq1902 {
					if b {
						yynn1902++
					}
				}
				r.EncodeMapStart(yynn1902)
				yynn1902 = 0
			}
			if yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1902[0] {
					if x.NodeAffinity == nil {
						r.EncodeNil()
					} else {
						x.NodeAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1902[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeAffinity == nil {
						r.EncodeNil()
					} else {
						x.NodeAffinity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1902[1] {
					if x.PodAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1902[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAffinity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1902[2] {
					if x.PodAntiAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAntiAffinity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1902[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podAntiAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodAntiAffinity == nil {
						r.EncodeNil()
					} else {
						x.PodAntiAffinity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1902 || yy2arr1902 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Affinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1906 := z.DecBinary()
	_ = yym1906
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1907 := r.ContainerType()
		if yyct1907 == codecSelferValueTypeMap1234 {
			yyl1907 := r.ReadMapStart()
			if yyl1907 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1907, d)
			}
		} else if yyct1907 == codecSelferValueTypeArray1234 {
			yyl1907 := r.ReadArrayStart()
			if yyl1907 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1907, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Affinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1908Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1908Slc
	var yyhl1908 bool = l >= 0
	for yyj1908 := 0; ; yyj1908++ {
		if yyhl1908 {
			if yyj1908 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1908Slc = r.DecodeBytes(yys1908Slc, true, true)
		yys1908 := string(yys1908Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1908 {
		case "nodeAffinity":
			if r.TryDecodeAsNil() {
				if x.NodeAffinity != nil {
					x.NodeAffinity = nil
				}
			} else {
				if x.NodeAffinity == nil {
					x.NodeAffinity = new(NodeAffinity)
				}
				x.NodeAffinity.CodecDecodeSelf(d)
			}
		case "podAffinity":
			if r.TryDecodeAsNil() {
				if x.PodAffinity != nil {
					x.PodAffinity = nil
				}
			} else {
				if x.PodAffinity == nil {
					x.PodAffinity = new(PodAffinity)
				}
				x.PodAffinity.CodecDecodeSelf(d)
			}
		case "podAntiAffinity":
			if r.TryDecodeAsNil() {
				if x.PodAntiAffinity != nil {
					x.PodAntiAffinity = nil
				}
			} else {
				if x.PodAntiAffinity == nil {
					x.PodAntiAffinity = new(PodAntiAffinity)
				}
				x.PodAntiAffinity.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1908)
		} // end switch yys1908
	} // end for yyj1908
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Affinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1912 int
	var yyb1912 bool
	var yyhl1912 bool = l >= 0
	yyj1912++
	if yyhl1912 {
		yyb1912 = yyj1912 > l
	} else {
		yyb1912 = r.CheckBreak()
	}
	if yyb1912 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NodeAffinity != nil {
			x.NodeAffinity = nil
		}
	} else {
		if x.NodeAffinity == nil {
			x.NodeAffinity = new(NodeAffinity)
		}
		x.NodeAffinity.CodecDecodeSelf(d)
	}
	yyj1912++
	if yyhl1912 {
		yyb1912 = yyj1912 > l
	} else {
		yyb1912 = r.CheckBreak()
	}
	if yyb1912 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PodAffinity != nil {
			x.PodAffinity = nil
		}
	} else {
		if x.PodAffinity == nil {
			x.PodAffinity = new(PodAffinity)
		}
		x.PodAffinity.CodecDecodeSelf(d)
	}
	yyj1912++
	if yyhl1912 {
		yyb1912 = yyj1912 > l
	} else {
		yyb1912 = r.CheckBreak()
	}
	if yyb1912 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PodAntiAffinity != nil {
			x.PodAntiAffinity = nil
		}
	} else {
		if x.PodAntiAffinity == nil {
			x.PodAntiAffinity = new(PodAntiAffinity)
		}
		x.PodAntiAffinity.CodecDecodeSelf(d)
	}
	for {
		yyj1912++
		if yyhl1912 {
			yyb1912 = yyj1912 > l
		} else {
			yyb1912 = r.CheckBreak()
		}
		if yyb1912 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1912-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1916 := z.EncBinary()
		_ = yym1916
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1917 := !z.EncBinary()
			yy2arr1917 := z.EncBasicHandle().StructToArray
			var yyq1917 [2]bool
			_, _, _ = yysep1917, yyq1917, yy2arr1917
			const yyr1917 bool = false
			yyq1917[0] = len(x.RequiredDuringSchedulingIgnoredDuringExecution) != 0
			yyq1917[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1917 int
			if yyr1917 || yy2arr1917 {
				r.EncodeArrayStart(2)
			} else {
				yynn1917 = 0
				for _, b := range yyq1917 {
					if b {
						yynn1917++
					}
				}
				r.EncodeMapStart(yynn1917)
				yynn1917 = 0
			}
			if yyr1917 || yy2arr1917 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1917[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1919 := z.EncBinary()
						_ = yym1919
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1917[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1920 := z.EncBinary()
						_ = yym1920
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1917 || yy2arr1917 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1917[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1922 := z.EncBinary()
						_ = yym1922
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1917[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1923 := z.EncBinary()
						_ = yym1923
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1917 || yy2arr1917 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1924 := z.DecBinary()
	_ = yym1924
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1925 := r.ContainerType()
		if yyct1925 == codecSelferValueTypeMap1234 {
			yyl1925 := r.ReadMapStart()
			if yyl1925 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1925, d)
			}
		} else if yyct1925 == codecSelferValueTypeArray1234 {
			yyl1925 := r.ReadArrayStart()
			if yyl1925 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1925, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAffinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1926Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1926Slc
	var yyhl1926 bool = l >= 0
	for yyj1926 := 0; ; yyj1926++ {
		if yyhl1926 {
			if yyj1926 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1926Slc = r.DecodeBytes(yys1926Slc, true, true)
		yys1926 := string(yys1926Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1926 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.RequiredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1927 := &x.RequiredDuringSchedulingIgnoredDuringExecution
				yym1928 := z.DecBinary()
				_ = yym1928
				if false {
				} else {
					h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1927), d)
				}
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1929 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym1930 := z.DecBinary()
				_ = yym1930
				if false {
				} else {
					h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1929), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1926)
		} // end switch yys1926
	} // end for yyj1926
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAffinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1931 int
	var yyb1931 bool
	var yyhl1931 bool = l >= 0
	yyj1931++
	if yyhl1931 {
		yyb1931 = yyj1931 > l
	} else {
		yyb1931 = r.CheckBreak()
	}
	if yyb1931 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RequiredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1932 := &x.RequiredDuringSchedulingIgnoredDuringExecution
		yym1933 := z.DecBinary()
		_ = yym1933
		if false {
		} else {
			h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1932), d)
		}
	}
	yyj1931++
	if yyhl1931 {
		yyb1931 = yyj1931 > l
	} else {
		yyb1931 = r.CheckBreak()
	}
	if yyb1931 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1934 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym1935 := z.DecBinary()
		_ = yym1935
		if false {
		} else {
			h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1934), d)
		}
	}
	for {
		yyj1931++
		if yyhl1931 {
			yyb1931 = yyj1931 > l
		} else {
			yyb1931 = r.CheckBreak()
		}
		if yyb1931 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1931-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAntiAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1936 := z.EncBinary()
		_ = yym1936
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1937 := !z.EncBinary()
			yy2arr1937 := z.EncBasicHandle().StructToArray
			var yyq1937 [2]bool
			_, _, _ = yysep1937, yyq1937, yy2arr1937
			const yyr1937 bool = false
			yyq1937[0] = len(x.RequiredDuringSchedulingIgnoredDuringExecution) != 0
			yyq1937[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1937 int
			if yyr1937 || yy2arr1937 {
				r.EncodeArrayStart(2)
			} else {
				yynn1937 = 0
				for _, b := range yyq1937 {
					if b {
						yynn1937++
					}
				}
				r.EncodeMapStart(yynn1937)
				yynn1937 = 0
			}
			if yyr1937 || yy2arr1937 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1937[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1939 := z.EncBinary()
						_ = yym1939
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1940 := z.EncBinary()
						_ = yym1940
						if false {
						} else {
							h.encSlicePodAffinityTerm(([]PodAffinityTerm)(x.RequiredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1937 || yy2arr1937 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1937[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1942 := z.EncBinary()
						_ = yym1942
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1937[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym1943 := z.EncBinary()
						_ = yym1943
						if false {
						} else {
							h.encSliceWeightedPodAffinityTerm(([]WeightedPodAffinityTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1937 || yy2arr1937 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAntiAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1944 := z.DecBinary()
	_ = yym1944
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1945 := r.ContainerType()
		if yyct1945 == codecSelferValueTypeMap1234 {
			yyl1945 := r.ReadMapStart()
			if yyl1945 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1945, d)
			}
		} else if yyct1945 == codecSelferValueTypeArray1234 {
			yyl1945 := r.ReadArrayStart()
			if yyl1945 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1945, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAntiAffinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1946Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1946Slc
	var yyhl1946 bool = l >= 0
	for yyj1946 := 0; ; yyj1946++ {
		if yyhl1946 {
			if yyj1946 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1946Slc = r.DecodeBytes(yys1946Slc, true, true)
		yys1946 := string(yys1946Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1946 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.RequiredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1947 := &x.RequiredDuringSchedulingIgnoredDuringExecution
				yym1948 := z.DecBinary()
				_ = yym1948
				if false {
				} else {
					h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1947), d)
				}
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv1949 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym1950 := z.DecBinary()
				_ = yym1950
				if false {
				} else {
					h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1949), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1946)
		} // end switch yys1946
	} // end for yyj1946
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAntiAffinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1951 int
	var yyb1951 bool
	var yyhl1951 bool = l >= 0
	yyj1951++
	if yyhl1951 {
		yyb1951 = yyj1951 > l
	} else {
		yyb1951 = r.CheckBreak()
	}
	if yyb1951 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RequiredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1952 := &x.RequiredDuringSchedulingIgnoredDuringExecution
		yym1953 := z.DecBinary()
		_ = yym1953
		if false {
		} else {
			h.decSlicePodAffinityTerm((*[]PodAffinityTerm)(yyv1952), d)
		}
	}
	yyj1951++
	if yyhl1951 {
		yyb1951 = yyj1951 > l
	} else {
		yyb1951 = r.CheckBreak()
	}
	if yyb1951 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv1954 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym1955 := z.DecBinary()
		_ = yym1955
		if false {
		} else {
			h.decSliceWeightedPodAffinityTerm((*[]WeightedPodAffinityTerm)(yyv1954), d)
		}
	}
	for {
		yyj1951++
		if yyhl1951 {
			yyb1951 = yyj1951 > l
		} else {
			yyb1951 = r.CheckBreak()
		}
		if yyb1951 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1951-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *WeightedPodAffinityTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1956 := z.EncBinary()
		_ = yym1956
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1957 := !z.EncBinary()
			yy2arr1957 := z.EncBasicHandle().StructToArray
			var yyq1957 [2]bool
			_, _, _ = yysep1957, yyq1957, yy2arr1957
			const yyr1957 bool = false
			var yynn1957 int
			if yyr1957 || yy2arr1957 {
				r.EncodeArrayStart(2)
			} else {
				yynn1957 = 2
				for _, b := range yyq1957 {
					if b {
						yynn1957++
					}
				}
				r.EncodeMapStart(yynn1957)
				yynn1957 = 0
			}
			if yyr1957 || yy2arr1957 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym1959 := z.EncBinary()
				_ = yym1959
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("weight"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym1960 := z.EncBinary()
				_ = yym1960
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			}
			if yyr1957 || yy2arr1957 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy1962 := &x.PodAffinityTerm
				yy1962.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("podAffinityTerm"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy1963 := &x.PodAffinityTerm
				yy1963.CodecEncodeSelf(e)
			}
			if yyr1957 || yy2arr1957 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *WeightedPodAffinityTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1964 := z.DecBinary()
	_ = yym1964
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1965 := r.ContainerType()
		if yyct1965 == codecSelferValueTypeMap1234 {
			yyl1965 := r.ReadMapStart()
			if yyl1965 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1965, d)
			}
		} else if yyct1965 == codecSelferValueTypeArray1234 {
			yyl1965 := r.ReadArrayStart()
			if yyl1965 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1965, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *WeightedPodAffinityTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1966Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1966Slc
	var yyhl1966 bool = l >= 0
	for yyj1966 := 0; ; yyj1966++ {
		if yyhl1966 {
			if yyj1966 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1966Slc = r.DecodeBytes(yys1966Slc, true, true)
		yys1966 := string(yys1966Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1966 {
		case "weight":
			if r.TryDecodeAsNil() {
				x.Weight = 0
			} else {
				x.Weight = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "podAffinityTerm":
			if r.TryDecodeAsNil() {
				x.PodAffinityTerm = PodAffinityTerm{}
			} else {
				yyv1968 := &x.PodAffinityTerm
				yyv1968.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1966)
		} // end switch yys1966
	} // end for yyj1966
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *WeightedPodAffinityTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1969 int
	var yyb1969 bool
	var yyhl1969 bool = l >= 0
	yyj1969++
	if yyhl1969 {
		yyb1969 = yyj1969 > l
	} else {
		yyb1969 = r.CheckBreak()
	}
	if yyb1969 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Weight = 0
	} else {
		x.Weight = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1969++
	if yyhl1969 {
		yyb1969 = yyj1969 > l
	} else {
		yyb1969 = r.CheckBreak()
	}
	if yyb1969 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodAffinityTerm = PodAffinityTerm{}
	} else {
		yyv1971 := &x.PodAffinityTerm
		yyv1971.CodecDecodeSelf(d)
	}
	for {
		yyj1969++
		if yyhl1969 {
			yyb1969 = yyj1969 > l
		} else {
			yyb1969 = r.CheckBreak()
		}
		if yyb1969 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1969-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAffinityTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1972 := z.EncBinary()
		_ = yym1972
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1973 := !z.EncBinary()
			yy2arr1973 := z.EncBasicHandle().StructToArray
			var yyq1973 [3]bool
			_, _, _ = yysep1973, yyq1973, yy2arr1973
			const yyr1973 bool = false
			yyq1973[0] = x.LabelSelector != nil
			yyq1973[2] = x.TopologyKey != ""
			var yynn1973 int
			if yyr1973 || yy2arr1973 {
				r.EncodeArrayStart(3)
			} else {
				yynn1973 = 1
				for _, b := range yyq1973 {
					if b {
						yynn1973++
					}
				}
				r.EncodeMapStart(yynn1973)
				yynn1973 = 0
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1973[0] {
					if x.LabelSelector == nil {
						r.EncodeNil()
					} else {
						yym1975 := z.EncBinary()
						_ = yym1975
						if false {
						} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
						} else {
							z.EncFallback(x.LabelSelector)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1973[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("labelSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LabelSelector == nil {
						r.EncodeNil()
					} else {
						yym1976 := z.EncBinary()
						_ = yym1976
						if false {
						} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
						} else {
							z.EncFallback(x.LabelSelector)
						}
					}
				}
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Namespaces == nil {
					r.EncodeNil()
				} else {
					yym1978 := z.EncBinary()
					_ = yym1978
					if false {
					} else {
						z.F.EncSliceStringV(x.Namespaces, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("namespaces"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Namespaces == nil {
					r.EncodeNil()
				} else {
					yym1979 := z.EncBinary()
					_ = yym1979
					if false {
					} else {
						z.F.EncSliceStringV(x.Namespaces, false, e)
					}
				}
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1973[2] {
					yym1981 := z.EncBinary()
					_ = yym1981
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TopologyKey))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1973[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("topologyKey"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym1982 := z.EncBinary()
					_ = yym1982
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TopologyKey))
					}
				}
			}
			if yyr1973 || yy2arr1973 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAffinityTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1983 := z.DecBinary()
	_ = yym1983
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct1984 := r.ContainerType()
		if yyct1984 == codecSelferValueTypeMap1234 {
			yyl1984 := r.ReadMapStart()
			if yyl1984 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl1984, d)
			}
		} else if yyct1984 == codecSelferValueTypeArray1234 {
			yyl1984 := r.ReadArrayStart()
			if yyl1984 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl1984, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAffinityTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys1985Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1985Slc
	var yyhl1985 bool = l >= 0
	for yyj1985 := 0; ; yyj1985++ {
		if yyhl1985 {
			if yyj1985 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys1985Slc = r.DecodeBytes(yys1985Slc, true, true)
		yys1985 := string(yys1985Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys1985 {
		case "labelSelector":
			if r.TryDecodeAsNil() {
				if x.LabelSelector != nil {
					x.LabelSelector = nil
				}
			} else {
				if x.LabelSelector == nil {
					x.LabelSelector = new(pkg2_unversioned.LabelSelector)
				}
				yym1987 := z.DecBinary()
				_ = yym1987
				if false {
				} else if z.HasExtensions() && z.DecExt(x.LabelSelector) {
				} else {
					z.DecFallback(x.LabelSelector, false)
				}
			}
		case "namespaces":
			if r.TryDecodeAsNil() {
				x.Namespaces = nil
			} else {
				yyv1988 := &x.Namespaces
				yym1989 := z.DecBinary()
				_ = yym1989
				if false {
				} else {
					z.F.DecSliceStringX(yyv1988, false, d)
				}
			}
		case "topologyKey":
			if r.TryDecodeAsNil() {
				x.TopologyKey = ""
			} else {
				x.TopologyKey = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1985)
		} // end switch yys1985
	} // end for yyj1985
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAffinityTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1991 int
	var yyb1991 bool
	var yyhl1991 bool = l >= 0
	yyj1991++
	if yyhl1991 {
		yyb1991 = yyj1991 > l
	} else {
		yyb1991 = r.CheckBreak()
	}
	if yyb1991 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LabelSelector != nil {
			x.LabelSelector = nil
		}
	} else {
		if x.LabelSelector == nil {
			x.LabelSelector = new(pkg2_unversioned.LabelSelector)
		}
		yym1993 := z.DecBinary()
		_ = yym1993
		if false {
		} else if z.HasExtensions() && z.DecExt(x.LabelSelector) {
		} else {
			z.DecFallback(x.LabelSelector, false)
		}
	}
	yyj1991++
	if yyhl1991 {
		yyb1991 = yyj1991 > l
	} else {
		yyb1991 = r.CheckBreak()
	}
	if yyb1991 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespaces = nil
	} else {
		yyv1994 := &x.Namespaces
		yym1995 := z.DecBinary()
		_ = yym1995
		if false {
		} else {
			z.F.DecSliceStringX(yyv1994, false, d)
		}
	}
	yyj1991++
	if yyhl1991 {
		yyb1991 = yyj1991 > l
	} else {
		yyb1991 = r.CheckBreak()
	}
	if yyb1991 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TopologyKey = ""
	} else {
		x.TopologyKey = string(r.DecodeString())
	}
	for {
		yyj1991++
		if yyhl1991 {
			yyb1991 = yyj1991 > l
		} else {
			yyb1991 = r.CheckBreak()
		}
		if yyb1991 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj1991-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1997 := z.EncBinary()
		_ = yym1997
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1998 := !z.EncBinary()
			yy2arr1998 := z.EncBasicHandle().StructToArray
			var yyq1998 [2]bool
			_, _, _ = yysep1998, yyq1998, yy2arr1998
			const yyr1998 bool = false
			yyq1998[0] = x.RequiredDuringSchedulingIgnoredDuringExecution != nil
			yyq1998[1] = len(x.PreferredDuringSchedulingIgnoredDuringExecution) != 0
			var yynn1998 int
			if yyr1998 || yy2arr1998 {
				r.EncodeArrayStart(2)
			} else {
				yynn1998 = 0
				for _, b := range yyq1998 {
					if b {
						yynn1998++
					}
				}
				r.EncodeMapStart(yynn1998)
				yynn1998 = 0
			}
			if yyr1998 || yy2arr1998 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1998[0] {
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						x.RequiredDuringSchedulingIgnoredDuringExecution.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1998[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("requiredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						x.RequiredDuringSchedulingIgnoredDuringExecution.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1998 || yy2arr1998 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq1998[1] {
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym2001 := z.EncBinary()
						_ = yym2001
						if false {
						} else {
							h.encSlicePreferredSchedulingTerm(([]PreferredSchedulingTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1998[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferredDuringSchedulingIgnoredDuringExecution"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferredDuringSchedulingIgnoredDuringExecution == nil {
						r.EncodeNil()
					} else {
						yym2002 := z.EncBinary()
						_ = yym2002
						if false {
						} else {
							h.encSlicePreferredSchedulingTerm(([]PreferredSchedulingTerm)(x.PreferredDuringSchedulingIgnoredDuringExecution), e)
						}
					}
				}
			}
			if yyr1998 || yy2arr1998 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2003 := z.DecBinary()
	_ = yym2003
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2004 := r.ContainerType()
		if yyct2004 == codecSelferValueTypeMap1234 {
			yyl2004 := r.ReadMapStart()
			if yyl2004 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2004, d)
			}
		} else if yyct2004 == codecSelferValueTypeArray1234 {
			yyl2004 := r.ReadArrayStart()
			if yyl2004 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2004, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeAffinity) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2005Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2005Slc
	var yyhl2005 bool = l >= 0
	for yyj2005 := 0; ; yyj2005++ {
		if yyhl2005 {
			if yyj2005 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2005Slc = r.DecodeBytes(yys2005Slc, true, true)
		yys2005 := string(yys2005Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2005 {
		case "requiredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				if x.RequiredDuringSchedulingIgnoredDuringExecution != nil {
					x.RequiredDuringSchedulingIgnoredDuringExecution = nil
				}
			} else {
				if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
					x.RequiredDuringSchedulingIgnoredDuringExecution = new(NodeSelector)
				}
				x.RequiredDuringSchedulingIgnoredDuringExecution.CodecDecodeSelf(d)
			}
		case "preferredDuringSchedulingIgnoredDuringExecution":
			if r.TryDecodeAsNil() {
				x.PreferredDuringSchedulingIgnoredDuringExecution = nil
			} else {
				yyv2007 := &x.PreferredDuringSchedulingIgnoredDuringExecution
				yym2008 := z.DecBinary()
				_ = yym2008
				if false {
				} else {
					h.decSlicePreferredSchedulingTerm((*[]PreferredSchedulingTerm)(yyv2007), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2005)
		} // end switch yys2005
	} // end for yyj2005
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeAffinity) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2009 int
	var yyb2009 bool
	var yyhl2009 bool = l >= 0
	yyj2009++
	if yyhl2009 {
		yyb2009 = yyj2009 > l
	} else {
		yyb2009 = r.CheckBreak()
	}
	if yyb2009 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RequiredDuringSchedulingIgnoredDuringExecution != nil {
			x.RequiredDuringSchedulingIgnoredDuringExecution = nil
		}
	} else {
		if x.RequiredDuringSchedulingIgnoredDuringExecution == nil {
			x.RequiredDuringSchedulingIgnoredDuringExecution = new(NodeSelector)
		}
		x.RequiredDuringSchedulingIgnoredDuringExecution.CodecDecodeSelf(d)
	}
	yyj2009++
	if yyhl2009 {
		yyb2009 = yyj2009 > l
	} else {
		yyb2009 = r.CheckBreak()
	}
	if yyb2009 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferredDuringSchedulingIgnoredDuringExecution = nil
	} else {
		yyv2011 := &x.PreferredDuringSchedulingIgnoredDuringExecution
		yym2012 := z.DecBinary()
		_ = yym2012
		if false {
		} else {
			h.decSlicePreferredSchedulingTerm((*[]PreferredSchedulingTerm)(yyv2011), d)
		}
	}
	for {
		yyj2009++
		if yyhl2009 {
			yyb2009 = yyj2009 > l
		} else {
			yyb2009 = r.CheckBreak()
		}
		if yyb2009 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2009-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PreferredSchedulingTerm) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2013 := z.EncBinary()
		_ = yym2013
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2014 := !z.EncBinary()
			yy2arr2014 := z.EncBasicHandle().StructToArray
			var yyq2014 [2]bool
			_, _, _ = yysep2014, yyq2014, yy2arr2014
			const yyr2014 bool = false
			var yynn2014 int
			if yyr2014 || yy2arr2014 {
				r.EncodeArrayStart(2)
			} else {
				yynn2014 = 2
				for _, b := range yyq2014 {
					if b {
						yynn2014++
					}
				}
				r.EncodeMapStart(yynn2014)
				yynn2014 = 0
			}
			if yyr2014 || yy2arr2014 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2016 := z.EncBinary()
				_ = yym2016
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("weight"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2017 := z.EncBinary()
				_ = yym2017
				if false {
				} else {
					r.EncodeInt(int64(x.Weight))
				}
			}
			if yyr2014 || yy2arr2014 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2019 := &x.Preference
				yy2019.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("preference"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2020 := &x.Preference
				yy2020.CodecEncodeSelf(e)
			}
			if yyr2014 || yy2arr2014 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PreferredSchedulingTerm) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2021 := z.DecBinary()
	_ = yym2021
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2022 := r.ContainerType()
		if yyct2022 == codecSelferValueTypeMap1234 {
			yyl2022 := r.ReadMapStart()
			if yyl2022 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2022, d)
			}
		} else if yyct2022 == codecSelferValueTypeArray1234 {
			yyl2022 := r.ReadArrayStart()
			if yyl2022 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2022, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PreferredSchedulingTerm) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2023Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2023Slc
	var yyhl2023 bool = l >= 0
	for yyj2023 := 0; ; yyj2023++ {
		if yyhl2023 {
			if yyj2023 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2023Slc = r.DecodeBytes(yys2023Slc, true, true)
		yys2023 := string(yys2023Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2023 {
		case "weight":
			if r.TryDecodeAsNil() {
				x.Weight = 0
			} else {
				x.Weight = int32(r.DecodeInt(32))
			}
		case "preference":
			if r.TryDecodeAsNil() {
				x.Preference = NodeSelectorTerm{}
			} else {
				yyv2025 := &x.Preference
				yyv2025.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2023)
		} // end switch yys2023
	} // end for yyj2023
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PreferredSchedulingTerm) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2026 int
	var yyb2026 bool
	var yyhl2026 bool = l >= 0
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Weight = 0
	} else {
		x.Weight = int32(r.DecodeInt(32))
	}
	yyj2026++
	if yyhl2026 {
		yyb2026 = yyj2026 > l
	} else {
		yyb2026 = r.CheckBreak()
	}
	if yyb2026 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Preference = NodeSelectorTerm{}
	} else {
		yyv2028 := &x.Preference
		yyv2028.CodecDecodeSelf(d)
	}
	for {
		yyj2026++
		if yyhl2026 {
			yyb2026 = yyj2026 > l
		} else {
			yyb2026 = r.CheckBreak()
		}
		if yyb2026 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2026-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Taint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2029 := z.EncBinary()
		_ = yym2029
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2030 := !z.EncBinary()
			yy2arr2030 := z.EncBasicHandle().StructToArray
			var yyq2030 [3]bool
			_, _, _ = yysep2030, yyq2030, yy2arr2030
			const yyr2030 bool = false
			yyq2030[1] = x.Value != ""
			var yynn2030 int
			if yyr2030 || yy2arr2030 {
				r.EncodeArrayStart(3)
			} else {
				yynn2030 = 2
				for _, b := range yyq2030 {
					if b {
						yynn2030++
					}
				}
				r.EncodeMapStart(yynn2030)
				yynn2030 = 0
			}
			if yyr2030 || yy2arr2030 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2032 := z.EncBinary()
				_ = yym2032
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("key"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2033 := z.EncBinary()
				_ = yym2033
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Key))
				}
			}
			if yyr2030 || yy2arr2030 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2030[1] {
					yym2035 := z.EncBinary()
					_ = yym2035
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2030[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2036 := z.EncBinary()
					_ = yym2036
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr2030 || yy2arr2030 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Effect.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("effect"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Effect.CodecEncodeSelf(e)
			}
			if yyr2030 || yy2arr2030 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Taint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2038 := z.DecBinary()
	_ = yym2038
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2039 := r.ContainerType()
		if yyct2039 == codecSelferValueTypeMap1234 {
			yyl2039 := r.ReadMapStart()
			if yyl2039 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2039, d)
			}
		} else if yyct2039 == codecSelferValueTypeArray1234 {
			yyl2039 := r.ReadArrayStart()
			if yyl2039 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2039, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Taint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2040Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2040Slc
	var yyhl2040 bool = l >= 0
	for yyj2040 := 0; ; yyj2040++ {
		if yyhl2040 {
			if yyj2040 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2040Slc = r.DecodeBytes(yys2040Slc, true, true)
		yys2040 := string(yys2040Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2040 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "effect":
			if r.TryDecodeAsNil() {
				x.Effect = ""
			} else {
				x.Effect = TaintEffect(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2040)
		} // end switch yys2040
	} // end for yyj2040
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Taint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2044 int
	var yyb2044 bool
	var yyhl2044 bool = l >= 0
	yyj2044++
	if yyhl2044 {
		yyb2044 = yyj2044 > l
	} else {
		yyb2044 = r.CheckBreak()
	}
	if yyb2044 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj2044++
	if yyhl2044 {
		yyb2044 = yyj2044 > l
	} else {
		yyb2044 = r.CheckBreak()
	}
	if yyb2044 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj2044++
	if yyhl2044 {
		yyb2044 = yyj2044 > l
	} else {
		yyb2044 = r.CheckBreak()
	}
	if yyb2044 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Effect = ""
	} else {
		x.Effect = TaintEffect(r.DecodeString())
	}
	for {
		yyj2044++
		if yyhl2044 {
			yyb2044 = yyj2044 > l
		} else {
			yyb2044 = r.CheckBreak()
		}
		if yyb2044 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2044-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x TaintEffect) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2048 := z.EncBinary()
	_ = yym2048
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *TaintEffect) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2049 := z.DecBinary()
	_ = yym2049
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Toleration) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2050 := z.EncBinary()
		_ = yym2050
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2051 := !z.EncBinary()
			yy2arr2051 := z.EncBasicHandle().StructToArray
			var yyq2051 [4]bool
			_, _, _ = yysep2051, yyq2051, yy2arr2051
			const yyr2051 bool = false
			yyq2051[0] = x.Key != ""
			yyq2051[1] = x.Operator != ""
			yyq2051[2] = x.Value != ""
			yyq2051[3] = x.Effect != ""
			var yynn2051 int
			if yyr2051 || yy2arr2051 {
				r.EncodeArrayStart(4)
			} else {
				yynn2051 = 0
				for _, b := range yyq2051 {
					if b {
						yynn2051++
					}
				}
				r.EncodeMapStart(yynn2051)
				yynn2051 = 0
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[0] {
					yym2053 := z.EncBinary()
					_ = yym2053
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Key))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("key"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2054 := z.EncBinary()
					_ = yym2054
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Key))
					}
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[1] {
					x.Operator.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("operator"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Operator.CodecEncodeSelf(e)
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[2] {
					yym2057 := z.EncBinary()
					_ = yym2057
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2058 := z.EncBinary()
					_ = yym2058
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2051[3] {
					x.Effect.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2051[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("effect"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Effect.CodecEncodeSelf(e)
				}
			}
			if yyr2051 || yy2arr2051 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Toleration) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2060 := z.DecBinary()
	_ = yym2060
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2061 := r.ContainerType()
		if yyct2061 == codecSelferValueTypeMap1234 {
			yyl2061 := r.ReadMapStart()
			if yyl2061 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2061, d)
			}
		} else if yyct2061 == codecSelferValueTypeArray1234 {
			yyl2061 := r.ReadArrayStart()
			if yyl2061 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2061, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Toleration) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2062Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2062Slc
	var yyhl2062 bool = l >= 0
	for yyj2062 := 0; ; yyj2062++ {
		if yyhl2062 {
			if yyj2062 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2062Slc = r.DecodeBytes(yys2062Slc, true, true)
		yys2062 := string(yys2062Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2062 {
		case "key":
			if r.TryDecodeAsNil() {
				x.Key = ""
			} else {
				x.Key = string(r.DecodeString())
			}
		case "operator":
			if r.TryDecodeAsNil() {
				x.Operator = ""
			} else {
				x.Operator = TolerationOperator(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		case "effect":
			if r.TryDecodeAsNil() {
				x.Effect = ""
			} else {
				x.Effect = TaintEffect(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2062)
		} // end switch yys2062
	} // end for yyj2062
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Toleration) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2067 int
	var yyb2067 bool
	var yyhl2067 bool = l >= 0
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Key = ""
	} else {
		x.Key = string(r.DecodeString())
	}
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Operator = ""
	} else {
		x.Operator = TolerationOperator(r.DecodeString())
	}
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	yyj2067++
	if yyhl2067 {
		yyb2067 = yyj2067 > l
	} else {
		yyb2067 = r.CheckBreak()
	}
	if yyb2067 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Effect = ""
	} else {
		x.Effect = TaintEffect(r.DecodeString())
	}
	for {
		yyj2067++
		if yyhl2067 {
			yyb2067 = yyj2067 > l
		} else {
			yyb2067 = r.CheckBreak()
		}
		if yyb2067 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2067-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x TolerationOperator) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2072 := z.EncBinary()
	_ = yym2072
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *TolerationOperator) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2073 := z.DecBinary()
	_ = yym2073
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *PodSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2074 := z.EncBinary()
		_ = yym2074
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2075 := !z.EncBinary()
			yy2arr2075 := z.EncBasicHandle().StructToArray
			var yyq2075 [13]bool
			_, _, _ = yysep2075, yyq2075, yy2arr2075
			const yyr2075 bool = false
			yyq2075[2] = x.RestartPolicy != ""
			yyq2075[3] = x.TerminationGracePeriodSeconds != nil
			yyq2075[4] = x.ActiveDeadlineSeconds != nil
			yyq2075[5] = x.DNSPolicy != ""
			yyq2075[6] = len(x.NodeSelector) != 0
			yyq2075[8] = x.NodeName != ""
			yyq2075[9] = x.SecurityContext != nil
			yyq2075[10] = len(x.ImagePullSecrets) != 0
			yyq2075[11] = x.Hostname != ""
			yyq2075[12] = x.Subdomain != ""
			var yynn2075 int
			if yyr2075 || yy2arr2075 {
				r.EncodeArrayStart(13)
			} else {
				yynn2075 = 3
				for _, b := range yyq2075 {
					if b {
						yynn2075++
					}
				}
				r.EncodeMapStart(yynn2075)
				yynn2075 = 0
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym2077 := z.EncBinary()
					_ = yym2077
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("volumes"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym2078 := z.EncBinary()
					_ = yym2078
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym2080 := z.EncBinary()
					_ = yym2080
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containers"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym2081 := z.EncBinary()
					_ = yym2081
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy2084 := *x.TerminationGracePeriodSeconds
						yym2085 := z.EncBinary()
						_ = yym2085
						if false {
						} else {
							r.EncodeInt(int64(yy2084))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy2086 := *x.TerminationGracePeriodSeconds
						yym2087 := z.EncBinary()
						_ = yym2087
						if false {
						} else {
							r.EncodeInt(int64(yy2086))
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy2089 := *x.ActiveDeadlineSeconds
						yym2090 := z.EncBinary()
						_ = yym2090
						if false {
						} else {
							r.EncodeInt(int64(yy2089))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy2091 := *x.ActiveDeadlineSeconds
						yym2092 := z.EncBinary()
						_ = yym2092
						if false {
						} else {
							r.EncodeInt(int64(yy2091))
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym2095 := z.EncBinary()
						_ = yym2095
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym2096 := z.EncBinary()
						_ = yym2096
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2098 := z.EncBinary()
				_ = yym2098
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("serviceAccountName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2099 := z.EncBinary()
				_ = yym2099
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[8] {
					yym2101 := z.EncBinary()
					_ = yym2101
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2102 := z.EncBinary()
					_ = yym2102
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[9] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[10] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2105 := z.EncBinary()
						_ = yym2105
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2075[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2106 := z.EncBinary()
						_ = yym2106
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[11] {
					yym2108 := z.EncBinary()
					_ = yym2108
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[11] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2109 := z.EncBinary()
					_ = yym2109
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2075[12] {
					yym2111 := z.EncBinary()
					_ = yym2111
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Subdomain))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2075[12] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("subdomain"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2112 := z.EncBinary()
					_ = yym2112
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Subdomain))
					}
				}
			}
			if yyr2075 || yy2arr2075 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2113 := z.DecBinary()
	_ = yym2113
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2114 := r.ContainerType()
		if yyct2114 == codecSelferValueTypeMap1234 {
			yyl2114 := r.ReadMapStart()
			if yyl2114 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2114, d)
			}
		} else if yyct2114 == codecSelferValueTypeArray1234 {
			yyl2114 := r.ReadArrayStart()
			if yyl2114 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2114, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2115Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2115Slc
	var yyhl2115 bool = l >= 0
	for yyj2115 := 0; ; yyj2115++ {
		if yyhl2115 {
			if yyj2115 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2115Slc = r.DecodeBytes(yys2115Slc, true, true)
		yys2115 := string(yys2115Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2115 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv2116 := &x.Volumes
				yym2117 := z.DecBinary()
				_ = yym2117
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv2116), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv2118 := &x.Containers
				yym2119 := z.DecBinary()
				_ = yym2119
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv2118), d)
				}
			}
		case "restartPolicy":
			if r.TryDecodeAsNil() {
				x.RestartPolicy = ""
			} else {
				x.RestartPolicy = RestartPolicy(r.DecodeString())
			}
		case "terminationGracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.TerminationGracePeriodSeconds != nil {
					x.TerminationGracePeriodSeconds = nil
				}
			} else {
				if x.TerminationGracePeriodSeconds == nil {
					x.TerminationGracePeriodSeconds = new(int64)
				}
				yym2122 := z.DecBinary()
				_ = yym2122
				if false {
				} else {
					*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "activeDeadlineSeconds":
			if r.TryDecodeAsNil() {
				if x.ActiveDeadlineSeconds != nil {
					x.ActiveDeadlineSeconds = nil
				}
			} else {
				if x.ActiveDeadlineSeconds == nil {
					x.ActiveDeadlineSeconds = new(int64)
				}
				yym2124 := z.DecBinary()
				_ = yym2124
				if false {
				} else {
					*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "dnsPolicy":
			if r.TryDecodeAsNil() {
				x.DNSPolicy = ""
			} else {
				x.DNSPolicy = DNSPolicy(r.DecodeString())
			}
		case "nodeSelector":
			if r.TryDecodeAsNil() {
				x.NodeSelector = nil
			} else {
				yyv2126 := &x.NodeSelector
				yym2127 := z.DecBinary()
				_ = yym2127
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2126, false, d)
				}
			}
		case "serviceAccountName":
			if r.TryDecodeAsNil() {
				x.ServiceAccountName = ""
			} else {
				x.ServiceAccountName = string(r.DecodeString())
			}
		case "nodeName":
			if r.TryDecodeAsNil() {
				x.NodeName = ""
			} else {
				x.NodeName = string(r.DecodeString())
			}
		case "securityContext":
			if r.TryDecodeAsNil() {
				if x.SecurityContext != nil {
					x.SecurityContext = nil
				}
			} else {
				if x.SecurityContext == nil {
					x.SecurityContext = new(PodSecurityContext)
				}
				x.SecurityContext.CodecDecodeSelf(d)
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2131 := &x.ImagePullSecrets
				yym2132 := z.DecBinary()
				_ = yym2132
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2131), d)
				}
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		case "subdomain":
			if r.TryDecodeAsNil() {
				x.Subdomain = ""
			} else {
				x.Subdomain = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2115)
		} // end switch yys2115
	} // end for yyj2115
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2135 int
	var yyb2135 bool
	var yyhl2135 bool = l >= 0
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv2136 := &x.Volumes
		yym2137 := z.DecBinary()
		_ = yym2137
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv2136), d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv2138 := &x.Containers
		yym2139 := z.DecBinary()
		_ = yym2139
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv2138), d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TerminationGracePeriodSeconds != nil {
			x.TerminationGracePeriodSeconds = nil
		}
	} else {
		if x.TerminationGracePeriodSeconds == nil {
			x.TerminationGracePeriodSeconds = new(int64)
		}
		yym2142 := z.DecBinary()
		_ = yym2142
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ActiveDeadlineSeconds != nil {
			x.ActiveDeadlineSeconds = nil
		}
	} else {
		if x.ActiveDeadlineSeconds == nil {
			x.ActiveDeadlineSeconds = new(int64)
		}
		yym2144 := z.DecBinary()
		_ = yym2144
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv2146 := &x.NodeSelector
		yym2147 := z.DecBinary()
		_ = yym2147
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2146, false, d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(PodSecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2151 := &x.ImagePullSecrets
		yym2152 := z.DecBinary()
		_ = yym2152
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2151), d)
		}
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	yyj2135++
	if yyhl2135 {
		yyb2135 = yyj2135 > l
	} else {
		yyb2135 = r.CheckBreak()
	}
	if yyb2135 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subdomain = ""
	} else {
		x.Subdomain = string(r.DecodeString())
	}
	for {
		yyj2135++
		if yyhl2135 {
			yyb2135 = yyj2135 > l
		} else {
			yyb2135 = r.CheckBreak()
		}
		if yyb2135 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2135-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Sysctl) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2155 := z.EncBinary()
		_ = yym2155
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2156 := !z.EncBinary()
			yy2arr2156 := z.EncBasicHandle().StructToArray
			var yyq2156 [2]bool
			_, _, _ = yysep2156, yyq2156, yy2arr2156
			const yyr2156 bool = false
			var yynn2156 int
			if yyr2156 || yy2arr2156 {
				r.EncodeArrayStart(2)
			} else {
				yynn2156 = 2
				for _, b := range yyq2156 {
					if b {
						yynn2156++
					}
				}
				r.EncodeMapStart(yynn2156)
				yynn2156 = 0
			}
			if yyr2156 || yy2arr2156 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2158 := z.EncBinary()
				_ = yym2158
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2159 := z.EncBinary()
				_ = yym2159
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2156 || yy2arr2156 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2161 := z.EncBinary()
				_ = yym2161
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("value"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2162 := z.EncBinary()
				_ = yym2162
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Value))
				}
			}
			if yyr2156 || yy2arr2156 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Sysctl) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2163 := z.DecBinary()
	_ = yym2163
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2164 := r.ContainerType()
		if yyct2164 == codecSelferValueTypeMap1234 {
			yyl2164 := r.ReadMapStart()
			if yyl2164 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2164, d)
			}
		} else if yyct2164 == codecSelferValueTypeArray1234 {
			yyl2164 := r.ReadArrayStart()
			if yyl2164 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2164, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Sysctl) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2165Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2165Slc
	var yyhl2165 bool = l >= 0
	for yyj2165 := 0; ; yyj2165++ {
		if yyhl2165 {
			if yyj2165 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2165Slc = r.DecodeBytes(yys2165Slc, true, true)
		yys2165 := string(yys2165Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2165 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "value":
			if r.TryDecodeAsNil() {
				x.Value = ""
			} else {
				x.Value = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2165)
		} // end switch yys2165
	} // end for yyj2165
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Sysctl) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2168 int
	var yyb2168 bool
	var yyhl2168 bool = l >= 0
	yyj2168++
	if yyhl2168 {
		yyb2168 = yyj2168 > l
	} else {
		yyb2168 = r.CheckBreak()
	}
	if yyb2168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2168++
	if yyhl2168 {
		yyb2168 = yyj2168 > l
	} else {
		yyb2168 = r.CheckBreak()
	}
	if yyb2168 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Value = ""
	} else {
		x.Value = string(r.DecodeString())
	}
	for {
		yyj2168++
		if yyhl2168 {
			yyb2168 = yyj2168 > l
		} else {
			yyb2168 = r.CheckBreak()
		}
		if yyb2168 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2168-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2171 := z.EncBinary()
		_ = yym2171
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2172 := !z.EncBinary()
			yy2arr2172 := z.EncBasicHandle().StructToArray
			var yyq2172 [8]bool
			_, _, _ = yysep2172, yyq2172, yy2arr2172
			const yyr2172 bool = false
			yyq2172[0] = x.HostNetwork != false
			yyq2172[1] = x.HostPID != false
			yyq2172[2] = x.HostIPC != false
			yyq2172[3] = x.SELinuxOptions != nil
			yyq2172[4] = x.RunAsUser != nil
			yyq2172[5] = x.RunAsNonRoot != nil
			yyq2172[6] = len(x.SupplementalGroups) != 0
			yyq2172[7] = x.FSGroup != nil
			var yynn2172 int
			if yyr2172 || yy2arr2172 {
				r.EncodeArrayStart(8)
			} else {
				yynn2172 = 0
				for _, b := range yyq2172 {
					if b {
						yynn2172++
					}
				}
				r.EncodeMapStart(yynn2172)
				yynn2172 = 0
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[0] {
					yym2174 := z.EncBinary()
					_ = yym2174
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2172[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2175 := z.EncBinary()
					_ = yym2175
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[1] {
					yym2177 := z.EncBinary()
					_ = yym2177
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2172[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2178 := z.EncBinary()
					_ = yym2178
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[2] {
					yym2180 := z.EncBinary()
					_ = yym2180
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2172[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2181 := z.EncBinary()
					_ = yym2181
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[3] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[4] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy2184 := *x.RunAsUser
						yym2185 := z.EncBinary()
						_ = yym2185
						if false {
						} else {
							r.EncodeInt(int64(yy2184))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy2186 := *x.RunAsUser
						yym2187 := z.EncBinary()
						_ = yym2187
						if false {
						} else {
							r.EncodeInt(int64(yy2186))
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[5] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy2189 := *x.RunAsNonRoot
						yym2190 := z.EncBinary()
						_ = yym2190
						if false {
						} else {
							r.EncodeBool(bool(yy2189))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy2191 := *x.RunAsNonRoot
						yym2192 := z.EncBinary()
						_ = yym2192
						if false {
						} else {
							r.EncodeBool(bool(yy2191))
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[6] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym2194 := z.EncBinary()
						_ = yym2194
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym2195 := z.EncBinary()
						_ = yym2195
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2172[7] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy2197 := *x.FSGroup
						yym2198 := z.EncBinary()
						_ = yym2198
						if false {
						} else {
							r.EncodeInt(int64(yy2197))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2172[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy2199 := *x.FSGroup
						yym2200 := z.EncBinary()
						_ = yym2200
						if false {
						} else {
							r.EncodeInt(int64(yy2199))
						}
					}
				}
			}
			if yyr2172 || yy2arr2172 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2201 := z.DecBinary()
	_ = yym2201
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2202 := r.ContainerType()
		if yyct2202 == codecSelferValueTypeMap1234 {
			yyl2202 := r.ReadMapStart()
			if yyl2202 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2202, d)
			}
		} else if yyct2202 == codecSelferValueTypeArray1234 {
			yyl2202 := r.ReadArrayStart()
			if yyl2202 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2202, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2203Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2203Slc
	var yyhl2203 bool = l >= 0
	for yyj2203 := 0; ; yyj2203++ {
		if yyhl2203 {
			if yyj2203 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2203Slc = r.DecodeBytes(yys2203Slc, true, true)
		yys2203 := string(yys2203Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2203 {
		case "hostNetwork":
			if r.TryDecodeAsNil() {
				x.HostNetwork = false
			} else {
				x.HostNetwork = bool(r.DecodeBool())
			}
		case "hostPID":
			if r.TryDecodeAsNil() {
				x.HostPID = false
			} else {
				x.HostPID = bool(r.DecodeBool())
			}
		case "hostIPC":
			if r.TryDecodeAsNil() {
				x.HostIPC = false
			} else {
				x.HostIPC = bool(r.DecodeBool())
			}
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym2209 := z.DecBinary()
				_ = yym2209
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym2211 := z.DecBinary()
				_ = yym2211
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv2212 := &x.SupplementalGroups
				yym2213 := z.DecBinary()
				_ = yym2213
				if false {
				} else {
					z.F.DecSliceInt64X(yyv2212, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym2215 := z.DecBinary()
				_ = yym2215
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2203)
		} // end switch yys2203
	} // end for yyj2203
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2216 int
	var yyb2216 bool
	var yyhl2216 bool = l >= 0
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym2222 := z.DecBinary()
		_ = yym2222
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym2224 := z.DecBinary()
		_ = yym2224
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv2225 := &x.SupplementalGroups
		yym2226 := z.DecBinary()
		_ = yym2226
		if false {
		} else {
			z.F.DecSliceInt64X(yyv2225, false, d)
		}
	}
	yyj2216++
	if yyhl2216 {
		yyb2216 = yyj2216 > l
	} else {
		yyb2216 = r.CheckBreak()
	}
	if yyb2216 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.FSGroup != nil {
			x.FSGroup = nil
		}
	} else {
		if x.FSGroup == nil {
			x.FSGroup = new(int64)
		}
		yym2228 := z.DecBinary()
		_ = yym2228
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2216++
		if yyhl2216 {
			yyb2216 = yyj2216 > l
		} else {
			yyb2216 = r.CheckBreak()
		}
		if yyb2216 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2216-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2229 := z.EncBinary()
		_ = yym2229
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2230 := !z.EncBinary()
			yy2arr2230 := z.EncBasicHandle().StructToArray
			var yyq2230 [8]bool
			_, _, _ = yysep2230, yyq2230, yy2arr2230
			const yyr2230 bool = false
			yyq2230[0] = x.Phase != ""
			yyq2230[1] = len(x.Conditions) != 0
			yyq2230[2] = x.Message != ""
			yyq2230[3] = x.Reason != ""
			yyq2230[4] = x.HostIP != ""
			yyq2230[5] = x.PodIP != ""
			yyq2230[6] = x.StartTime != nil
			yyq2230[7] = len(x.ContainerStatuses) != 0
			var yynn2230 int
			if yyr2230 || yy2arr2230 {
				r.EncodeArrayStart(8)
			} else {
				yynn2230 = 0
				for _, b := range yyq2230 {
					if b {
						yynn2230++
					}
				}
				r.EncodeMapStart(yynn2230)
				yynn2230 = 0
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2233 := z.EncBinary()
						_ = yym2233
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2230[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2234 := z.EncBinary()
						_ = yym2234
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[2] {
					yym2236 := z.EncBinary()
					_ = yym2236
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2237 := z.EncBinary()
					_ = yym2237
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[3] {
					yym2239 := z.EncBinary()
					_ = yym2239
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2240 := z.EncBinary()
					_ = yym2240
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[4] {
					yym2242 := z.EncBinary()
					_ = yym2242
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2243 := z.EncBinary()
					_ = yym2243
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[5] {
					yym2245 := z.EncBinary()
					_ = yym2245
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2230[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2246 := z.EncBinary()
					_ = yym2246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym2248 := z.EncBinary()
						_ = yym2248
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym2248 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym2248 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2230[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym2249 := z.EncBinary()
						_ = yym2249
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym2249 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym2249 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2230[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym2251 := z.EncBinary()
						_ = yym2251
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2230[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym2252 := z.EncBinary()
						_ = yym2252
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yyr2230 || yy2arr2230 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2253 := z.DecBinary()
	_ = yym2253
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2254 := r.ContainerType()
		if yyct2254 == codecSelferValueTypeMap1234 {
			yyl2254 := r.ReadMapStart()
			if yyl2254 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2254, d)
			}
		} else if yyct2254 == codecSelferValueTypeArray1234 {
			yyl2254 := r.ReadArrayStart()
			if yyl2254 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2254, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2255Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2255Slc
	var yyhl2255 bool = l >= 0
	for yyj2255 := 0; ; yyj2255++ {
		if yyhl2255 {
			if yyj2255 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2255Slc = r.DecodeBytes(yys2255Slc, true, true)
		yys2255 := string(yys2255Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2255 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2257 := &x.Conditions
				yym2258 := z.DecBinary()
				_ = yym2258
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv2257), d)
				}
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "hostIP":
			if r.TryDecodeAsNil() {
				x.HostIP = ""
			} else {
				x.HostIP = string(r.DecodeString())
			}
		case "podIP":
			if r.TryDecodeAsNil() {
				x.PodIP = ""
			} else {
				x.PodIP = string(r.DecodeString())
			}
		case "startTime":
			if r.TryDecodeAsNil() {
				if x.StartTime != nil {
					x.StartTime = nil
				}
			} else {
				if x.StartTime == nil {
					x.StartTime = new(pkg2_unversioned.Time)
				}
				yym2264 := z.DecBinary()
				_ = yym2264
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym2264 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym2264 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv2265 := &x.ContainerStatuses
				yym2266 := z.DecBinary()
				_ = yym2266
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv2265), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2255)
		} // end switch yys2255
	} // end for yyj2255
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2267 int
	var yyb2267 bool
	var yyhl2267 bool = l >= 0
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2269 := &x.Conditions
		yym2270 := z.DecBinary()
		_ = yym2270
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv2269), d)
		}
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.StartTime != nil {
			x.StartTime = nil
		}
	} else {
		if x.StartTime == nil {
			x.StartTime = new(pkg2_unversioned.Time)
		}
		yym2276 := z.DecBinary()
		_ = yym2276
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym2276 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym2276 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj2267++
	if yyhl2267 {
		yyb2267 = yyj2267 > l
	} else {
		yyb2267 = r.CheckBreak()
	}
	if yyb2267 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv2277 := &x.ContainerStatuses
		yym2278 := z.DecBinary()
		_ = yym2278
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv2277), d)
		}
	}
	for {
		yyj2267++
		if yyhl2267 {
			yyb2267 = yyj2267 > l
		} else {
			yyb2267 = r.CheckBreak()
		}
		if yyb2267 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2267-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodStatusResult) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2279 := z.EncBinary()
		_ = yym2279
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2280 := !z.EncBinary()
			yy2arr2280 := z.EncBasicHandle().StructToArray
			var yyq2280 [4]bool
			_, _, _ = yysep2280, yyq2280, yy2arr2280
			const yyr2280 bool = false
			yyq2280[0] = x.Kind != ""
			yyq2280[1] = x.APIVersion != ""
			yyq2280[2] = true
			yyq2280[3] = true
			var yynn2280 int
			if yyr2280 || yy2arr2280 {
				r.EncodeArrayStart(4)
			} else {
				yynn2280 = 0
				for _, b := range yyq2280 {
					if b {
						yynn2280++
					}
				}
				r.EncodeMapStart(yynn2280)
				yynn2280 = 0
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[0] {
					yym2282 := z.EncBinary()
					_ = yym2282
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2280[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2283 := z.EncBinary()
					_ = yym2283
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[1] {
					yym2285 := z.EncBinary()
					_ = yym2285
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2280[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2286 := z.EncBinary()
					_ = yym2286
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[2] {
					yy2288 := &x.ObjectMeta
					yy2288.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2280[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2289 := &x.ObjectMeta
					yy2289.CodecEncodeSelf(e)
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2280[3] {
					yy2291 := &x.Status
					yy2291.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2280[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2292 := &x.Status
					yy2292.CodecEncodeSelf(e)
				}
			}
			if yyr2280 || yy2arr2280 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodStatusResult) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2293 := z.DecBinary()
	_ = yym2293
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2294 := r.ContainerType()
		if yyct2294 == codecSelferValueTypeMap1234 {
			yyl2294 := r.ReadMapStart()
			if yyl2294 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2294, d)
			}
		} else if yyct2294 == codecSelferValueTypeArray1234 {
			yyl2294 := r.ReadArrayStart()
			if yyl2294 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2294, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodStatusResult) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2295Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2295Slc
	var yyhl2295 bool = l >= 0
	for yyj2295 := 0; ; yyj2295++ {
		if yyhl2295 {
			if yyj2295 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2295Slc = r.DecodeBytes(yys2295Slc, true, true)
		yys2295 := string(yys2295Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2295 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2298 := &x.ObjectMeta
				yyv2298.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv2299 := &x.Status
				yyv2299.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2295)
		} // end switch yys2295
	} // end for yyj2295
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodStatusResult) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2300 int
	var yyb2300 bool
	var yyhl2300 bool = l >= 0
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2303 := &x.ObjectMeta
		yyv2303.CodecDecodeSelf(d)
	}
	yyj2300++
	if yyhl2300 {
		yyb2300 = yyj2300 > l
	} else {
		yyb2300 = r.CheckBreak()
	}
	if yyb2300 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv2304 := &x.Status
		yyv2304.CodecDecodeSelf(d)
	}
	for {
		yyj2300++
		if yyhl2300 {
			yyb2300 = yyj2300 > l
		} else {
			yyb2300 = r.CheckBreak()
		}
		if yyb2300 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2300-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Pod) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2305 := z.EncBinary()
		_ = yym2305
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2306 := !z.EncBinary()
			yy2arr2306 := z.EncBasicHandle().StructToArray
			var yyq2306 [5]bool
			_, _, _ = yysep2306, yyq2306, yy2arr2306
			const yyr2306 bool = false
			yyq2306[0] = x.Kind != ""
			yyq2306[1] = x.APIVersion != ""
			yyq2306[2] = true
			yyq2306[3] = true
			yyq2306[4] = true
			var yynn2306 int
			if yyr2306 || yy2arr2306 {
				r.EncodeArrayStart(5)
			} else {
				yynn2306 = 0
				for _, b := range yyq2306 {
					if b {
						yynn2306++
					}
				}
				r.EncodeMapStart(yynn2306)
				yynn2306 = 0
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[0] {
					yym2308 := z.EncBinary()
					_ = yym2308
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2306[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2309 := z.EncBinary()
					_ = yym2309
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[1] {
					yym2311 := z.EncBinary()
					_ = yym2311
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2306[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2312 := z.EncBinary()
					_ = yym2312
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[2] {
					yy2314 := &x.ObjectMeta
					yy2314.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2306[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2315 := &x.ObjectMeta
					yy2315.CodecEncodeSelf(e)
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[3] {
					yy2317 := &x.Spec
					yy2317.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2306[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2318 := &x.Spec
					yy2318.CodecEncodeSelf(e)
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2306[4] {
					yy2320 := &x.Status
					yy2320.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2306[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2321 := &x.Status
					yy2321.CodecEncodeSelf(e)
				}
			}
			if yyr2306 || yy2arr2306 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Pod) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2322 := z.DecBinary()
	_ = yym2322
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2323 := r.ContainerType()
		if yyct2323 == codecSelferValueTypeMap1234 {
			yyl2323 := r.ReadMapStart()
			if yyl2323 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2323, d)
			}
		} else if yyct2323 == codecSelferValueTypeArray1234 {
			yyl2323 := r.ReadArrayStart()
			if yyl2323 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2323, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Pod) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2324Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2324Slc
	var yyhl2324 bool = l >= 0
	for yyj2324 := 0; ; yyj2324++ {
		if yyhl2324 {
			if yyj2324 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2324Slc = r.DecodeBytes(yys2324Slc, true, true)
		yys2324 := string(yys2324Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2324 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2327 := &x.ObjectMeta
				yyv2327.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv2328 := &x.Spec
				yyv2328.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv2329 := &x.Status
				yyv2329.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2324)
		} // end switch yys2324
	} // end for yyj2324
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Pod) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2330 int
	var yyb2330 bool
	var yyhl2330 bool = l >= 0
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2333 := &x.ObjectMeta
		yyv2333.CodecDecodeSelf(d)
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv2334 := &x.Spec
		yyv2334.CodecDecodeSelf(d)
	}
	yyj2330++
	if yyhl2330 {
		yyb2330 = yyj2330 > l
	} else {
		yyb2330 = r.CheckBreak()
	}
	if yyb2330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv2335 := &x.Status
		yyv2335.CodecDecodeSelf(d)
	}
	for {
		yyj2330++
		if yyhl2330 {
			yyb2330 = yyj2330 > l
		} else {
			yyb2330 = r.CheckBreak()
		}
		if yyb2330 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2330-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplateSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2336 := z.EncBinary()
		_ = yym2336
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2337 := !z.EncBinary()
			yy2arr2337 := z.EncBasicHandle().StructToArray
			var yyq2337 [2]bool
			_, _, _ = yysep2337, yyq2337, yy2arr2337
			const yyr2337 bool = false
			yyq2337[0] = true
			yyq2337[1] = true
			var yynn2337 int
			if yyr2337 || yy2arr2337 {
				r.EncodeArrayStart(2)
			} else {
				yynn2337 = 0
				for _, b := range yyq2337 {
					if b {
						yynn2337++
					}
				}
				r.EncodeMapStart(yynn2337)
				yynn2337 = 0
			}
			if yyr2337 || yy2arr2337 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2337[0] {
					yy2339 := &x.ObjectMeta
					yy2339.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2337[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2340 := &x.ObjectMeta
					yy2340.CodecEncodeSelf(e)
				}
			}
			if yyr2337 || yy2arr2337 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2337[1] {
					yy2342 := &x.Spec
					yy2342.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2337[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2343 := &x.Spec
					yy2343.CodecEncodeSelf(e)
				}
			}
			if yyr2337 || yy2arr2337 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplateSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2344 := z.DecBinary()
	_ = yym2344
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2345 := r.ContainerType()
		if yyct2345 == codecSelferValueTypeMap1234 {
			yyl2345 := r.ReadMapStart()
			if yyl2345 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2345, d)
			}
		} else if yyct2345 == codecSelferValueTypeArray1234 {
			yyl2345 := r.ReadArrayStart()
			if yyl2345 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2345, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2346Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2346Slc
	var yyhl2346 bool = l >= 0
	for yyj2346 := 0; ; yyj2346++ {
		if yyhl2346 {
			if yyj2346 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2346Slc = r.DecodeBytes(yys2346Slc, true, true)
		yys2346 := string(yys2346Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2346 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2347 := &x.ObjectMeta
				yyv2347.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv2348 := &x.Spec
				yyv2348.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2346)
		} // end switch yys2346
	} // end for yyj2346
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplateSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2349 int
	var yyb2349 bool
	var yyhl2349 bool = l >= 0
	yyj2349++
	if yyhl2349 {
		yyb2349 = yyj2349 > l
	} else {
		yyb2349 = r.CheckBreak()
	}
	if yyb2349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2350 := &x.ObjectMeta
		yyv2350.CodecDecodeSelf(d)
	}
	yyj2349++
	if yyhl2349 {
		yyb2349 = yyj2349 > l
	} else {
		yyb2349 = r.CheckBreak()
	}
	if yyb2349 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv2351 := &x.Spec
		yyv2351.CodecDecodeSelf(d)
	}
	for {
		yyj2349++
		if yyhl2349 {
			yyb2349 = yyj2349 > l
		} else {
			yyb2349 = r.CheckBreak()
		}
		if yyb2349 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2349-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplate) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2352 := z.EncBinary()
		_ = yym2352
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2353 := !z.EncBinary()
			yy2arr2353 := z.EncBasicHandle().StructToArray
			var yyq2353 [4]bool
			_, _, _ = yysep2353, yyq2353, yy2arr2353
			const yyr2353 bool = false
			yyq2353[0] = x.Kind != ""
			yyq2353[1] = x.APIVersion != ""
			yyq2353[2] = true
			yyq2353[3] = true
			var yynn2353 int
			if yyr2353 || yy2arr2353 {
				r.EncodeArrayStart(4)
			} else {
				yynn2353 = 0
				for _, b := range yyq2353 {
					if b {
						yynn2353++
					}
				}
				r.EncodeMapStart(yynn2353)
				yynn2353 = 0
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[0] {
					yym2355 := z.EncBinary()
					_ = yym2355
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2353[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2356 := z.EncBinary()
					_ = yym2356
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[1] {
					yym2358 := z.EncBinary()
					_ = yym2358
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2353[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2359 := z.EncBinary()
					_ = yym2359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[2] {
					yy2361 := &x.ObjectMeta
					yy2361.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2353[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2362 := &x.ObjectMeta
					yy2362.CodecEncodeSelf(e)
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2353[3] {
					yy2364 := &x.Template
					yy2364.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2353[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2365 := &x.Template
					yy2365.CodecEncodeSelf(e)
				}
			}
			if yyr2353 || yy2arr2353 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplate) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2366 := z.DecBinary()
	_ = yym2366
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2367 := r.ContainerType()
		if yyct2367 == codecSelferValueTypeMap1234 {
			yyl2367 := r.ReadMapStart()
			if yyl2367 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2367, d)
			}
		} else if yyct2367 == codecSelferValueTypeArray1234 {
			yyl2367 := r.ReadArrayStart()
			if yyl2367 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2367, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplate) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2368Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2368Slc
	var yyhl2368 bool = l >= 0
	for yyj2368 := 0; ; yyj2368++ {
		if yyhl2368 {
			if yyj2368 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2368Slc = r.DecodeBytes(yys2368Slc, true, true)
		yys2368 := string(yys2368Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2368 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2371 := &x.ObjectMeta
				yyv2371.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv2372 := &x.Template
				yyv2372.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2368)
		} // end switch yys2368
	} // end for yyj2368
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplate) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2373 int
	var yyb2373 bool
	var yyhl2373 bool = l >= 0
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2376 := &x.ObjectMeta
		yyv2376.CodecDecodeSelf(d)
	}
	yyj2373++
	if yyhl2373 {
		yyb2373 = yyj2373 > l
	} else {
		yyb2373 = r.CheckBreak()
	}
	if yyb2373 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv2377 := &x.Template
		yyv2377.CodecDecodeSelf(d)
	}
	for {
		yyj2373++
		if yyhl2373 {
			yyb2373 = yyj2373 > l
		} else {
			yyb2373 = r.CheckBreak()
		}
		if yyb2373 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2373-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodTemplateList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2378 := z.EncBinary()
		_ = yym2378
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2379 := !z.EncBinary()
			yy2arr2379 := z.EncBasicHandle().StructToArray
			var yyq2379 [4]bool
			_, _, _ = yysep2379, yyq2379, yy2arr2379
			const yyr2379 bool = false
			yyq2379[0] = x.Kind != ""
			yyq2379[1] = x.APIVersion != ""
			yyq2379[2] = true
			var yynn2379 int
			if yyr2379 || yy2arr2379 {
				r.EncodeArrayStart(4)
			} else {
				yynn2379 = 1
				for _, b := range yyq2379 {
					if b {
						yynn2379++
					}
				}
				r.EncodeMapStart(yynn2379)
				yynn2379 = 0
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2379[0] {
					yym2381 := z.EncBinary()
					_ = yym2381
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2379[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2382 := z.EncBinary()
					_ = yym2382
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2379[1] {
					yym2384 := z.EncBinary()
					_ = yym2384
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2379[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2385 := z.EncBinary()
					_ = yym2385
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2379[2] {
					yy2387 := &x.ListMeta
					yym2388 := z.EncBinary()
					_ = yym2388
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2387) {
					} else {
						z.EncFallback(yy2387)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2379[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2389 := &x.ListMeta
					yym2390 := z.EncBinary()
					_ = yym2390
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2389) {
					} else {
						z.EncFallback(yy2389)
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2392 := z.EncBinary()
					_ = yym2392
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2393 := z.EncBinary()
					_ = yym2393
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yyr2379 || yy2arr2379 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodTemplateList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2394 := z.DecBinary()
	_ = yym2394
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2395 := r.ContainerType()
		if yyct2395 == codecSelferValueTypeMap1234 {
			yyl2395 := r.ReadMapStart()
			if yyl2395 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2395, d)
			}
		} else if yyct2395 == codecSelferValueTypeArray1234 {
			yyl2395 := r.ReadArrayStart()
			if yyl2395 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2395, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodTemplateList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2396Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2396Slc
	var yyhl2396 bool = l >= 0
	for yyj2396 := 0; ; yyj2396++ {
		if yyhl2396 {
			if yyj2396 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2396Slc = r.DecodeBytes(yys2396Slc, true, true)
		yys2396 := string(yys2396Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2396 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2399 := &x.ListMeta
				yym2400 := z.DecBinary()
				_ = yym2400
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2399) {
				} else {
					z.DecFallback(yyv2399, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2401 := &x.Items
				yym2402 := z.DecBinary()
				_ = yym2402
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv2401), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2396)
		} // end switch yys2396
	} // end for yyj2396
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodTemplateList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2403 int
	var yyb2403 bool
	var yyhl2403 bool = l >= 0
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2406 := &x.ListMeta
		yym2407 := z.DecBinary()
		_ = yym2407
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2406) {
		} else {
			z.DecFallback(yyv2406, false)
		}
	}
	yyj2403++
	if yyhl2403 {
		yyb2403 = yyj2403 > l
	} else {
		yyb2403 = r.CheckBreak()
	}
	if yyb2403 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2408 := &x.Items
		yym2409 := z.DecBinary()
		_ = yym2409
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv2408), d)
		}
	}
	for {
		yyj2403++
		if yyhl2403 {
			yyb2403 = yyj2403 > l
		} else {
			yyb2403 = r.CheckBreak()
		}
		if yyb2403 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2403-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2410 := z.EncBinary()
		_ = yym2410
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2411 := !z.EncBinary()
			yy2arr2411 := z.EncBasicHandle().StructToArray
			var yyq2411 [4]bool
			_, _, _ = yysep2411, yyq2411, yy2arr2411
			const yyr2411 bool = false
			yyq2411[1] = x.MinReadySeconds != 0
			yyq2411[3] = x.Template != nil
			var yynn2411 int
			if yyr2411 || yy2arr2411 {
				r.EncodeArrayStart(4)
			} else {
				yynn2411 = 2
				for _, b := range yyq2411 {
					if b {
						yynn2411++
					}
				}
				r.EncodeMapStart(yynn2411)
				yynn2411 = 0
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2413 := z.EncBinary()
				_ = yym2413
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2414 := z.EncBinary()
				_ = yym2414
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2411[1] {
					yym2416 := z.EncBinary()
					_ = yym2416
					if false {
					} else {
						r.EncodeInt(int64(x.MinReadySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2411[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("minReadySeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2417 := z.EncBinary()
					_ = yym2417
					if false {
					} else {
						r.EncodeInt(int64(x.MinReadySeconds))
					}
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2419 := z.EncBinary()
					_ = yym2419
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("selector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2420 := z.EncBinary()
					_ = yym2420
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2411[3] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2411[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2411 || yy2arr2411 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2422 := z.DecBinary()
	_ = yym2422
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2423 := r.ContainerType()
		if yyct2423 == codecSelferValueTypeMap1234 {
			yyl2423 := r.ReadMapStart()
			if yyl2423 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2423, d)
			}
		} else if yyct2423 == codecSelferValueTypeArray1234 {
			yyl2423 := r.ReadArrayStart()
			if yyl2423 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2423, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2424Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2424Slc
	var yyhl2424 bool = l >= 0
	for yyj2424 := 0; ; yyj2424++ {
		if yyhl2424 {
			if yyj2424 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2424Slc = r.DecodeBytes(yys2424Slc, true, true)
		yys2424 := string(yys2424Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2424 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int32(r.DecodeInt(32))
			}
		case "minReadySeconds":
			if r.TryDecodeAsNil() {
				x.MinReadySeconds = 0
			} else {
				x.MinReadySeconds = int32(r.DecodeInt(32))
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv2427 := &x.Selector
				yym2428 := z.DecBinary()
				_ = yym2428
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2427, false, d)
				}
			}
		case "template":
			if r.TryDecodeAsNil() {
				if x.Template != nil {
					x.Template = nil
				}
			} else {
				if x.Template == nil {
					x.Template = new(PodTemplateSpec)
				}
				x.Template.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2424)
		} // end switch yys2424
	} // end for yyj2424
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2430 int
	var yyb2430 bool
	var yyhl2430 bool = l >= 0
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MinReadySeconds = 0
	} else {
		x.MinReadySeconds = int32(r.DecodeInt(32))
	}
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2433 := &x.Selector
		yym2434 := z.DecBinary()
		_ = yym2434
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2433, false, d)
		}
	}
	yyj2430++
	if yyhl2430 {
		yyb2430 = yyj2430 > l
	} else {
		yyb2430 = r.CheckBreak()
	}
	if yyb2430 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Template != nil {
			x.Template = nil
		}
	} else {
		if x.Template == nil {
			x.Template = new(PodTemplateSpec)
		}
		x.Template.CodecDecodeSelf(d)
	}
	for {
		yyj2430++
		if yyhl2430 {
			yyb2430 = yyj2430 > l
		} else {
			yyb2430 = r.CheckBreak()
		}
		if yyb2430 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2430-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2436 := z.EncBinary()
		_ = yym2436
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2437 := !z.EncBinary()
			yy2arr2437 := z.EncBasicHandle().StructToArray
			var yyq2437 [6]bool
			_, _, _ = yysep2437, yyq2437, yy2arr2437
			const yyr2437 bool = false
			yyq2437[1] = x.FullyLabeledReplicas != 0
			yyq2437[2] = x.ReadyReplicas != 0
			yyq2437[3] = x.AvailableReplicas != 0
			yyq2437[4] = x.ObservedGeneration != 0
			yyq2437[5] = len(x.Conditions) != 0
			var yynn2437 int
			if yyr2437 || yy2arr2437 {
				r.EncodeArrayStart(6)
			} else {
				yynn2437 = 1
				for _, b := range yyq2437 {
					if b {
						yynn2437++
					}
				}
				r.EncodeMapStart(yynn2437)
				yynn2437 = 0
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2439 := z.EncBinary()
				_ = yym2439
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2440 := z.EncBinary()
				_ = yym2440
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[1] {
					yym2442 := z.EncBinary()
					_ = yym2442
					if false {
					} else {
						r.EncodeInt(int64(x.FullyLabeledReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fullyLabeledReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2443 := z.EncBinary()
					_ = yym2443
					if false {
					} else {
						r.EncodeInt(int64(x.FullyLabeledReplicas))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[2] {
					yym2445 := z.EncBinary()
					_ = yym2445
					if false {
					} else {
						r.EncodeInt(int64(x.ReadyReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readyReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2446 := z.EncBinary()
					_ = yym2446
					if false {
					} else {
						r.EncodeInt(int64(x.ReadyReplicas))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[3] {
					yym2448 := z.EncBinary()
					_ = yym2448
					if false {
					} else {
						r.EncodeInt(int64(x.AvailableReplicas))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("availableReplicas"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2449 := z.EncBinary()
					_ = yym2449
					if false {
					} else {
						r.EncodeInt(int64(x.AvailableReplicas))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[4] {
					yym2451 := z.EncBinary()
					_ = yym2451
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2437[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2452 := z.EncBinary()
					_ = yym2452
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2437[5] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2454 := z.EncBinary()
						_ = yym2454
						if false {
						} else {
							h.encSliceReplicationControllerCondition(([]ReplicationControllerCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2437[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2455 := z.EncBinary()
						_ = yym2455
						if false {
						} else {
							h.encSliceReplicationControllerCondition(([]ReplicationControllerCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2437 || yy2arr2437 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2456 := z.DecBinary()
	_ = yym2456
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2457 := r.ContainerType()
		if yyct2457 == codecSelferValueTypeMap1234 {
			yyl2457 := r.ReadMapStart()
			if yyl2457 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2457, d)
			}
		} else if yyct2457 == codecSelferValueTypeArray1234 {
			yyl2457 := r.ReadArrayStart()
			if yyl2457 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2457, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2458Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2458Slc
	var yyhl2458 bool = l >= 0
	for yyj2458 := 0; ; yyj2458++ {
		if yyhl2458 {
			if yyj2458 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2458Slc = r.DecodeBytes(yys2458Slc, true, true)
		yys2458 := string(yys2458Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2458 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int32(r.DecodeInt(32))
			}
		case "fullyLabeledReplicas":
			if r.TryDecodeAsNil() {
				x.FullyLabeledReplicas = 0
			} else {
				x.FullyLabeledReplicas = int32(r.DecodeInt(32))
			}
		case "readyReplicas":
			if r.TryDecodeAsNil() {
				x.ReadyReplicas = 0
			} else {
				x.ReadyReplicas = int32(r.DecodeInt(32))
			}
		case "availableReplicas":
			if r.TryDecodeAsNil() {
				x.AvailableReplicas = 0
			} else {
				x.AvailableReplicas = int32(r.DecodeInt(32))
			}
		case "observedGeneration":
			if r.TryDecodeAsNil() {
				x.ObservedGeneration = 0
			} else {
				x.ObservedGeneration = int64(r.DecodeInt(64))
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2464 := &x.Conditions
				yym2465 := z.DecBinary()
				_ = yym2465
				if false {
				} else {
					h.decSliceReplicationControllerCondition((*[]ReplicationControllerCondition)(yyv2464), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2458)
		} // end switch yys2458
	} // end for yyj2458
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2466 int
	var yyb2466 bool
	var yyhl2466 bool = l >= 0
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FullyLabeledReplicas = 0
	} else {
		x.FullyLabeledReplicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ReadyReplicas = 0
	} else {
		x.ReadyReplicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.AvailableReplicas = 0
	} else {
		x.AvailableReplicas = int32(r.DecodeInt(32))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	yyj2466++
	if yyhl2466 {
		yyb2466 = yyj2466 > l
	} else {
		yyb2466 = r.CheckBreak()
	}
	if yyb2466 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2472 := &x.Conditions
		yym2473 := z.DecBinary()
		_ = yym2473
		if false {
		} else {
			h.decSliceReplicationControllerCondition((*[]ReplicationControllerCondition)(yyv2472), d)
		}
	}
	for {
		yyj2466++
		if yyhl2466 {
			yyb2466 = yyj2466 > l
		} else {
			yyb2466 = r.CheckBreak()
		}
		if yyb2466 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2466-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ReplicationControllerConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2474 := z.EncBinary()
	_ = yym2474
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ReplicationControllerConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2475 := z.DecBinary()
	_ = yym2475
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ReplicationControllerCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2476 := z.EncBinary()
		_ = yym2476
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2477 := !z.EncBinary()
			yy2arr2477 := z.EncBasicHandle().StructToArray
			var yyq2477 [6]bool
			_, _, _ = yysep2477, yyq2477, yy2arr2477
			const yyr2477 bool = false
			yyq2477[2] = true
			yyq2477[3] = true
			yyq2477[4] = x.Reason != ""
			yyq2477[5] = x.Message != ""
			var yynn2477 int
			if yyr2477 || yy2arr2477 {
				r.EncodeArrayStart(6)
			} else {
				yynn2477 = 2
				for _, b := range yyq2477 {
					if b {
						yynn2477++
					}
				}
				r.EncodeMapStart(yynn2477)
				yynn2477 = 0
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[2] {
					yy2481 := &x.LastProbeTime
					yym2482 := z.EncBinary()
					_ = yym2482
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2481) {
					} else if yym2482 {
						z.EncBinaryMarshal(yy2481)
					} else if !yym2482 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2481)
					} else {
						z.EncFallback(yy2481)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2477[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2483 := &x.LastProbeTime
					yym2484 := z.EncBinary()
					_ = yym2484
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2483) {
					} else if yym2484 {
						z.EncBinaryMarshal(yy2483)
					} else if !yym2484 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2483)
					} else {
						z.EncFallback(yy2483)
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[3] {
					yy2486 := &x.LastTransitionTime
					yym2487 := z.EncBinary()
					_ = yym2487
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2486) {
					} else if yym2487 {
						z.EncBinaryMarshal(yy2486)
					} else if !yym2487 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2486)
					} else {
						z.EncFallback(yy2486)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2477[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2488 := &x.LastTransitionTime
					yym2489 := z.EncBinary()
					_ = yym2489
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2488) {
					} else if yym2489 {
						z.EncBinaryMarshal(yy2488)
					} else if !yym2489 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2488)
					} else {
						z.EncFallback(yy2488)
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[4] {
					yym2491 := z.EncBinary()
					_ = yym2491
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2477[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2492 := z.EncBinary()
					_ = yym2492
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2477[5] {
					yym2494 := z.EncBinary()
					_ = yym2494
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2477[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2495 := z.EncBinary()
					_ = yym2495
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2477 || yy2arr2477 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2496 := z.DecBinary()
	_ = yym2496
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2497 := r.ContainerType()
		if yyct2497 == codecSelferValueTypeMap1234 {
			yyl2497 := r.ReadMapStart()
			if yyl2497 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2497, d)
			}
		} else if yyct2497 == codecSelferValueTypeArray1234 {
			yyl2497 := r.ReadArrayStart()
			if yyl2497 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2497, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2498Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2498Slc
	var yyhl2498 bool = l >= 0
	for yyj2498 := 0; ; yyj2498++ {
		if yyhl2498 {
			if yyj2498 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2498Slc = r.DecodeBytes(yys2498Slc, true, true)
		yys2498 := string(yys2498Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2498 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ReplicationControllerConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastProbeTime":
			if r.TryDecodeAsNil() {
				x.LastProbeTime = pkg2_unversioned.Time{}
			} else {
				yyv2501 := &x.LastProbeTime
				yym2502 := z.DecBinary()
				_ = yym2502
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2501) {
				} else if yym2502 {
					z.DecBinaryUnmarshal(yyv2501)
				} else if !yym2502 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2501)
				} else {
					z.DecFallback(yyv2501, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv2503 := &x.LastTransitionTime
				yym2504 := z.DecBinary()
				_ = yym2504
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2503) {
				} else if yym2504 {
					z.DecBinaryUnmarshal(yyv2503)
				} else if !yym2504 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2503)
				} else {
					z.DecFallback(yyv2503, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2498)
		} // end switch yys2498
	} // end for yyj2498
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2507 int
	var yyb2507 bool
	var yyhl2507 bool = l >= 0
	yyj2507++
	if yyhl2507 {
		yyb2507 = yyj2507 > l
	} else {
		yyb2507 = r.CheckBreak()
	}
	if yyb2507 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ReplicationControllerConditionType(r.DecodeString())
	}
	yyj2507++
	if yyhl2507 {
		yyb2507 = yyj2507 > l
	} else {
		yyb2507 = r.CheckBreak()
	}
	if yyb2507 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2507++
	if yyhl2507 {
		yyb2507 = yyj2507 > l
	} else {
		yyb2507 = r.CheckBreak()
	}
	if yyb2507 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv2510 := &x.LastProbeTime
		yym2511 := z.DecBinary()
		_ = yym2511
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2510) {
		} else if yym2511 {
			z.DecBinaryUnmarshal(yyv2510)
		} else if !yym2511 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2510)
		} else {
			z.DecFallback(yyv2510, false)
		}
	}
	yyj2507++
	if yyhl2507 {
		yyb2507 = yyj2507 > l
	} else {
		yyb2507 = r.CheckBreak()
	}
	if yyb2507 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv2512 := &x.LastTransitionTime
		yym2513 := z.DecBinary()
		_ = yym2513
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2512) {
		} else if yym2513 {
			z.DecBinaryUnmarshal(yyv2512)
		} else if !yym2513 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2512)
		} else {
			z.DecFallback(yyv2512, false)
		}
	}
	yyj2507++
	if yyhl2507 {
		yyb2507 = yyj2507 > l
	} else {
		yyb2507 = r.CheckBreak()
	}
	if yyb2507 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2507++
	if yyhl2507 {
		yyb2507 = yyj2507 > l
	} else {
		yyb2507 = r.CheckBreak()
	}
	if yyb2507 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2507++
		if yyhl2507 {
			yyb2507 = yyj2507 > l
		} else {
			yyb2507 = r.CheckBreak()
		}
		if yyb2507 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2507-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationController) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2516 := z.EncBinary()
		_ = yym2516
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2517 := !z.EncBinary()
			yy2arr2517 := z.EncBasicHandle().StructToArray
			var yyq2517 [5]bool
			_, _, _ = yysep2517, yyq2517, yy2arr2517
			const yyr2517 bool = false
			yyq2517[0] = x.Kind != ""
			yyq2517[1] = x.APIVersion != ""
			yyq2517[2] = true
			yyq2517[3] = true
			yyq2517[4] = true
			var yynn2517 int
			if yyr2517 || yy2arr2517 {
				r.EncodeArrayStart(5)
			} else {
				yynn2517 = 0
				for _, b := range yyq2517 {
					if b {
						yynn2517++
					}
				}
				r.EncodeMapStart(yynn2517)
				yynn2517 = 0
			}
			if yyr2517 || yy2arr2517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2517[0] {
					yym2519 := z.EncBinary()
					_ = yym2519
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2517[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2520 := z.EncBinary()
					_ = yym2520
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2517 || yy2arr2517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2517[1] {
					yym2522 := z.EncBinary()
					_ = yym2522
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2517[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2523 := z.EncBinary()
					_ = yym2523
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2517 || yy2arr2517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2517[2] {
					yy2525 := &x.ObjectMeta
					yy2525.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2517[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2526 := &x.ObjectMeta
					yy2526.CodecEncodeSelf(e)
				}
			}
			if yyr2517 || yy2arr2517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2517[3] {
					yy2528 := &x.Spec
					yy2528.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2517[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2529 := &x.Spec
					yy2529.CodecEncodeSelf(e)
				}
			}
			if yyr2517 || yy2arr2517 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2517[4] {
					yy2531 := &x.Status
					yy2531.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2517[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2532 := &x.Status
					yy2532.CodecEncodeSelf(e)
				}
			}
			if yyr2517 || yy2arr2517 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationController) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2533 := z.DecBinary()
	_ = yym2533
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2534 := r.ContainerType()
		if yyct2534 == codecSelferValueTypeMap1234 {
			yyl2534 := r.ReadMapStart()
			if yyl2534 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2534, d)
			}
		} else if yyct2534 == codecSelferValueTypeArray1234 {
			yyl2534 := r.ReadArrayStart()
			if yyl2534 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2534, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationController) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2535Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2535Slc
	var yyhl2535 bool = l >= 0
	for yyj2535 := 0; ; yyj2535++ {
		if yyhl2535 {
			if yyj2535 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2535Slc = r.DecodeBytes(yys2535Slc, true, true)
		yys2535 := string(yys2535Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2535 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2538 := &x.ObjectMeta
				yyv2538.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv2539 := &x.Spec
				yyv2539.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv2540 := &x.Status
				yyv2540.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2535)
		} // end switch yys2535
	} // end for yyj2535
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationController) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2541 int
	var yyb2541 bool
	var yyhl2541 bool = l >= 0
	yyj2541++
	if yyhl2541 {
		yyb2541 = yyj2541 > l
	} else {
		yyb2541 = r.CheckBreak()
	}
	if yyb2541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2541++
	if yyhl2541 {
		yyb2541 = yyj2541 > l
	} else {
		yyb2541 = r.CheckBreak()
	}
	if yyb2541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2541++
	if yyhl2541 {
		yyb2541 = yyj2541 > l
	} else {
		yyb2541 = r.CheckBreak()
	}
	if yyb2541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2544 := &x.ObjectMeta
		yyv2544.CodecDecodeSelf(d)
	}
	yyj2541++
	if yyhl2541 {
		yyb2541 = yyj2541 > l
	} else {
		yyb2541 = r.CheckBreak()
	}
	if yyb2541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv2545 := &x.Spec
		yyv2545.CodecDecodeSelf(d)
	}
	yyj2541++
	if yyhl2541 {
		yyb2541 = yyj2541 > l
	} else {
		yyb2541 = r.CheckBreak()
	}
	if yyb2541 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv2546 := &x.Status
		yyv2546.CodecDecodeSelf(d)
	}
	for {
		yyj2541++
		if yyhl2541 {
			yyb2541 = yyj2541 > l
		} else {
			yyb2541 = r.CheckBreak()
		}
		if yyb2541 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2541-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ReplicationControllerList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2547 := z.EncBinary()
		_ = yym2547
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2548 := !z.EncBinary()
			yy2arr2548 := z.EncBasicHandle().StructToArray
			var yyq2548 [4]bool
			_, _, _ = yysep2548, yyq2548, yy2arr2548
			const yyr2548 bool = false
			yyq2548[0] = x.Kind != ""
			yyq2548[1] = x.APIVersion != ""
			yyq2548[2] = true
			var yynn2548 int
			if yyr2548 || yy2arr2548 {
				r.EncodeArrayStart(4)
			} else {
				yynn2548 = 1
				for _, b := range yyq2548 {
					if b {
						yynn2548++
					}
				}
				r.EncodeMapStart(yynn2548)
				yynn2548 = 0
			}
			if yyr2548 || yy2arr2548 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2548[0] {
					yym2550 := z.EncBinary()
					_ = yym2550
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2548[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2551 := z.EncBinary()
					_ = yym2551
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2548 || yy2arr2548 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2548[1] {
					yym2553 := z.EncBinary()
					_ = yym2553
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2548[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2554 := z.EncBinary()
					_ = yym2554
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2548 || yy2arr2548 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2548[2] {
					yy2556 := &x.ListMeta
					yym2557 := z.EncBinary()
					_ = yym2557
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2556) {
					} else {
						z.EncFallback(yy2556)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2548[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2558 := &x.ListMeta
					yym2559 := z.EncBinary()
					_ = yym2559
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2558) {
					} else {
						z.EncFallback(yy2558)
					}
				}
			}
			if yyr2548 || yy2arr2548 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2561 := z.EncBinary()
					_ = yym2561
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2562 := z.EncBinary()
					_ = yym2562
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yyr2548 || yy2arr2548 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ReplicationControllerList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2563 := z.DecBinary()
	_ = yym2563
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2564 := r.ContainerType()
		if yyct2564 == codecSelferValueTypeMap1234 {
			yyl2564 := r.ReadMapStart()
			if yyl2564 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2564, d)
			}
		} else if yyct2564 == codecSelferValueTypeArray1234 {
			yyl2564 := r.ReadArrayStart()
			if yyl2564 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2564, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ReplicationControllerList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2565Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2565Slc
	var yyhl2565 bool = l >= 0
	for yyj2565 := 0; ; yyj2565++ {
		if yyhl2565 {
			if yyj2565 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2565Slc = r.DecodeBytes(yys2565Slc, true, true)
		yys2565 := string(yys2565Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2565 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2568 := &x.ListMeta
				yym2569 := z.DecBinary()
				_ = yym2569
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2568) {
				} else {
					z.DecFallback(yyv2568, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2570 := &x.Items
				yym2571 := z.DecBinary()
				_ = yym2571
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv2570), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2565)
		} // end switch yys2565
	} // end for yyj2565
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ReplicationControllerList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2572 int
	var yyb2572 bool
	var yyhl2572 bool = l >= 0
	yyj2572++
	if yyhl2572 {
		yyb2572 = yyj2572 > l
	} else {
		yyb2572 = r.CheckBreak()
	}
	if yyb2572 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2572++
	if yyhl2572 {
		yyb2572 = yyj2572 > l
	} else {
		yyb2572 = r.CheckBreak()
	}
	if yyb2572 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2572++
	if yyhl2572 {
		yyb2572 = yyj2572 > l
	} else {
		yyb2572 = r.CheckBreak()
	}
	if yyb2572 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2575 := &x.ListMeta
		yym2576 := z.DecBinary()
		_ = yym2576
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2575) {
		} else {
			z.DecFallback(yyv2575, false)
		}
	}
	yyj2572++
	if yyhl2572 {
		yyb2572 = yyj2572 > l
	} else {
		yyb2572 = r.CheckBreak()
	}
	if yyb2572 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2577 := &x.Items
		yym2578 := z.DecBinary()
		_ = yym2578
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv2577), d)
		}
	}
	for {
		yyj2572++
		if yyhl2572 {
			yyb2572 = yyj2572 > l
		} else {
			yyb2572 = r.CheckBreak()
		}
		if yyb2572 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2572-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2579 := z.EncBinary()
		_ = yym2579
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2580 := !z.EncBinary()
			yy2arr2580 := z.EncBasicHandle().StructToArray
			var yyq2580 [4]bool
			_, _, _ = yysep2580, yyq2580, yy2arr2580
			const yyr2580 bool = false
			yyq2580[0] = x.Kind != ""
			yyq2580[1] = x.APIVersion != ""
			yyq2580[2] = true
			var yynn2580 int
			if yyr2580 || yy2arr2580 {
				r.EncodeArrayStart(4)
			} else {
				yynn2580 = 1
				for _, b := range yyq2580 {
					if b {
						yynn2580++
					}
				}
				r.EncodeMapStart(yynn2580)
				yynn2580 = 0
			}
			if yyr2580 || yy2arr2580 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2580[0] {
					yym2582 := z.EncBinary()
					_ = yym2582
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2580[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2583 := z.EncBinary()
					_ = yym2583
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2580 || yy2arr2580 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2580[1] {
					yym2585 := z.EncBinary()
					_ = yym2585
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2580[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2586 := z.EncBinary()
					_ = yym2586
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2580 || yy2arr2580 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2580[2] {
					yy2588 := &x.ListMeta
					yym2589 := z.EncBinary()
					_ = yym2589
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2588) {
					} else {
						z.EncFallback(yy2588)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2580[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2590 := &x.ListMeta
					yym2591 := z.EncBinary()
					_ = yym2591
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2590) {
					} else {
						z.EncFallback(yy2590)
					}
				}
			}
			if yyr2580 || yy2arr2580 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2593 := z.EncBinary()
					_ = yym2593
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2594 := z.EncBinary()
					_ = yym2594
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yyr2580 || yy2arr2580 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2595 := z.DecBinary()
	_ = yym2595
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2596 := r.ContainerType()
		if yyct2596 == codecSelferValueTypeMap1234 {
			yyl2596 := r.ReadMapStart()
			if yyl2596 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2596, d)
			}
		} else if yyct2596 == codecSelferValueTypeArray1234 {
			yyl2596 := r.ReadArrayStart()
			if yyl2596 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2596, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2597Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2597Slc
	var yyhl2597 bool = l >= 0
	for yyj2597 := 0; ; yyj2597++ {
		if yyhl2597 {
			if yyj2597 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2597Slc = r.DecodeBytes(yys2597Slc, true, true)
		yys2597 := string(yys2597Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2597 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2600 := &x.ListMeta
				yym2601 := z.DecBinary()
				_ = yym2601
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2600) {
				} else {
					z.DecFallback(yyv2600, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2602 := &x.Items
				yym2603 := z.DecBinary()
				_ = yym2603
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv2602), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2597)
		} // end switch yys2597
	} // end for yyj2597
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2604 int
	var yyb2604 bool
	var yyhl2604 bool = l >= 0
	yyj2604++
	if yyhl2604 {
		yyb2604 = yyj2604 > l
	} else {
		yyb2604 = r.CheckBreak()
	}
	if yyb2604 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2604++
	if yyhl2604 {
		yyb2604 = yyj2604 > l
	} else {
		yyb2604 = r.CheckBreak()
	}
	if yyb2604 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2604++
	if yyhl2604 {
		yyb2604 = yyj2604 > l
	} else {
		yyb2604 = r.CheckBreak()
	}
	if yyb2604 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2607 := &x.ListMeta
		yym2608 := z.DecBinary()
		_ = yym2608
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2607) {
		} else {
			z.DecFallback(yyv2607, false)
		}
	}
	yyj2604++
	if yyhl2604 {
		yyb2604 = yyj2604 > l
	} else {
		yyb2604 = r.CheckBreak()
	}
	if yyb2604 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2609 := &x.Items
		yym2610 := z.DecBinary()
		_ = yym2610
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv2609), d)
		}
	}
	for {
		yyj2604++
		if yyhl2604 {
			yyb2604 = yyj2604 > l
		} else {
			yyb2604 = r.CheckBreak()
		}
		if yyb2604 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2604-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2611 := z.EncBinary()
	_ = yym2611
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceAffinity) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2612 := z.DecBinary()
	_ = yym2612
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ServiceType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2613 := z.EncBinary()
	_ = yym2613
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ServiceType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2614 := z.DecBinary()
	_ = yym2614
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ServiceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2615 := z.EncBinary()
		_ = yym2615
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2616 := !z.EncBinary()
			yy2arr2616 := z.EncBasicHandle().StructToArray
			var yyq2616 [1]bool
			_, _, _ = yysep2616, yyq2616, yy2arr2616
			const yyr2616 bool = false
			yyq2616[0] = true
			var yynn2616 int
			if yyr2616 || yy2arr2616 {
				r.EncodeArrayStart(1)
			} else {
				yynn2616 = 0
				for _, b := range yyq2616 {
					if b {
						yynn2616++
					}
				}
				r.EncodeMapStart(yynn2616)
				yynn2616 = 0
			}
			if yyr2616 || yy2arr2616 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2616[0] {
					yy2618 := &x.LoadBalancer
					yy2618.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2616[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2619 := &x.LoadBalancer
					yy2619.CodecEncodeSelf(e)
				}
			}
			if yyr2616 || yy2arr2616 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2620 := z.DecBinary()
	_ = yym2620
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2621 := r.ContainerType()
		if yyct2621 == codecSelferValueTypeMap1234 {
			yyl2621 := r.ReadMapStart()
			if yyl2621 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2621, d)
			}
		} else if yyct2621 == codecSelferValueTypeArray1234 {
			yyl2621 := r.ReadArrayStart()
			if yyl2621 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2621, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2622Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2622Slc
	var yyhl2622 bool = l >= 0
	for yyj2622 := 0; ; yyj2622++ {
		if yyhl2622 {
			if yyj2622 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2622Slc = r.DecodeBytes(yys2622Slc, true, true)
		yys2622 := string(yys2622Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2622 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv2623 := &x.LoadBalancer
				yyv2623.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2622)
		} // end switch yys2622
	} // end for yyj2622
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2624 int
	var yyb2624 bool
	var yyhl2624 bool = l >= 0
	yyj2624++
	if yyhl2624 {
		yyb2624 = yyj2624 > l
	} else {
		yyb2624 = r.CheckBreak()
	}
	if yyb2624 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv2625 := &x.LoadBalancer
		yyv2625.CodecDecodeSelf(d)
	}
	for {
		yyj2624++
		if yyhl2624 {
			yyb2624 = yyj2624 > l
		} else {
			yyb2624 = r.CheckBreak()
		}
		if yyb2624 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2624-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LoadBalancerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2626 := z.EncBinary()
		_ = yym2626
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2627 := !z.EncBinary()
			yy2arr2627 := z.EncBasicHandle().StructToArray
			var yyq2627 [1]bool
			_, _, _ = yysep2627, yyq2627, yy2arr2627
			const yyr2627 bool = false
			yyq2627[0] = len(x.Ingress) != 0
			var yynn2627 int
			if yyr2627 || yy2arr2627 {
				r.EncodeArrayStart(1)
			} else {
				yynn2627 = 0
				for _, b := range yyq2627 {
					if b {
						yynn2627++
					}
				}
				r.EncodeMapStart(yynn2627)
				yynn2627 = 0
			}
			if yyr2627 || yy2arr2627 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2627[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym2629 := z.EncBinary()
						_ = yym2629
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2627[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym2630 := z.EncBinary()
						_ = yym2630
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yyr2627 || yy2arr2627 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LoadBalancerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2631 := z.DecBinary()
	_ = yym2631
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2632 := r.ContainerType()
		if yyct2632 == codecSelferValueTypeMap1234 {
			yyl2632 := r.ReadMapStart()
			if yyl2632 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2632, d)
			}
		} else if yyct2632 == codecSelferValueTypeArray1234 {
			yyl2632 := r.ReadArrayStart()
			if yyl2632 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2632, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2633Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2633Slc
	var yyhl2633 bool = l >= 0
	for yyj2633 := 0; ; yyj2633++ {
		if yyhl2633 {
			if yyj2633 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2633Slc = r.DecodeBytes(yys2633Slc, true, true)
		yys2633 := string(yys2633Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2633 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv2634 := &x.Ingress
				yym2635 := z.DecBinary()
				_ = yym2635
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv2634), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2633)
		} // end switch yys2633
	} // end for yyj2633
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LoadBalancerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2636 int
	var yyb2636 bool
	var yyhl2636 bool = l >= 0
	yyj2636++
	if yyhl2636 {
		yyb2636 = yyj2636 > l
	} else {
		yyb2636 = r.CheckBreak()
	}
	if yyb2636 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv2637 := &x.Ingress
		yym2638 := z.DecBinary()
		_ = yym2638
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv2637), d)
		}
	}
	for {
		yyj2636++
		if yyhl2636 {
			yyb2636 = yyj2636 > l
		} else {
			yyb2636 = r.CheckBreak()
		}
		if yyb2636 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2636-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LoadBalancerIngress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2639 := z.EncBinary()
		_ = yym2639
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2640 := !z.EncBinary()
			yy2arr2640 := z.EncBasicHandle().StructToArray
			var yyq2640 [2]bool
			_, _, _ = yysep2640, yyq2640, yy2arr2640
			const yyr2640 bool = false
			yyq2640[0] = x.IP != ""
			yyq2640[1] = x.Hostname != ""
			var yynn2640 int
			if yyr2640 || yy2arr2640 {
				r.EncodeArrayStart(2)
			} else {
				yynn2640 = 0
				for _, b := range yyq2640 {
					if b {
						yynn2640++
					}
				}
				r.EncodeMapStart(yynn2640)
				yynn2640 = 0
			}
			if yyr2640 || yy2arr2640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2640[0] {
					yym2642 := z.EncBinary()
					_ = yym2642
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2640[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2643 := z.EncBinary()
					_ = yym2643
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr2640 || yy2arr2640 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2640[1] {
					yym2645 := z.EncBinary()
					_ = yym2645
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2640[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2646 := z.EncBinary()
					_ = yym2646
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2640 || yy2arr2640 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LoadBalancerIngress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2647 := z.DecBinary()
	_ = yym2647
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2648 := r.ContainerType()
		if yyct2648 == codecSelferValueTypeMap1234 {
			yyl2648 := r.ReadMapStart()
			if yyl2648 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2648, d)
			}
		} else if yyct2648 == codecSelferValueTypeArray1234 {
			yyl2648 := r.ReadArrayStart()
			if yyl2648 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2648, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LoadBalancerIngress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2649Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2649Slc
	var yyhl2649 bool = l >= 0
	for yyj2649 := 0; ; yyj2649++ {
		if yyhl2649 {
			if yyj2649 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2649Slc = r.DecodeBytes(yys2649Slc, true, true)
		yys2649 := string(yys2649Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2649 {
		case "ip":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2649)
		} // end switch yys2649
	} // end for yyj2649
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LoadBalancerIngress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2652 int
	var yyb2652 bool
	var yyhl2652 bool = l >= 0
	yyj2652++
	if yyhl2652 {
		yyb2652 = yyj2652 > l
	} else {
		yyb2652 = r.CheckBreak()
	}
	if yyb2652 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2652++
	if yyhl2652 {
		yyb2652 = yyj2652 > l
	} else {
		yyb2652 = r.CheckBreak()
	}
	if yyb2652 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	for {
		yyj2652++
		if yyhl2652 {
			yyb2652 = yyj2652 > l
		} else {
			yyb2652 = r.CheckBreak()
		}
		if yyb2652 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2652-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2655 := z.EncBinary()
		_ = yym2655
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2656 := !z.EncBinary()
			yy2arr2656 := z.EncBasicHandle().StructToArray
			var yyq2656 [9]bool
			_, _, _ = yysep2656, yyq2656, yy2arr2656
			const yyr2656 bool = false
			yyq2656[0] = x.Type != ""
			yyq2656[3] = x.ClusterIP != ""
			yyq2656[5] = len(x.ExternalIPs) != 0
			yyq2656[6] = x.LoadBalancerIP != ""
			yyq2656[7] = x.SessionAffinity != ""
			yyq2656[8] = len(x.LoadBalancerSourceRanges) != 0
			var yynn2656 int
			if yyr2656 || yy2arr2656 {
				r.EncodeArrayStart(9)
			} else {
				yynn2656 = 3
				for _, b := range yyq2656 {
					if b {
						yynn2656++
					}
				}
				r.EncodeMapStart(yynn2656)
				yynn2656 = 0
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2656[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2656[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2659 := z.EncBinary()
					_ = yym2659
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ports"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2660 := z.EncBinary()
					_ = yym2660
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2662 := z.EncBinary()
					_ = yym2662
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("selector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym2663 := z.EncBinary()
					_ = yym2663
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2656[3] {
					yym2665 := z.EncBinary()
					_ = yym2665
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2656[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2666 := z.EncBinary()
					_ = yym2666
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2668 := z.EncBinary()
				_ = yym2668
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ExternalName))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ExternalName"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2669 := z.EncBinary()
				_ = yym2669
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ExternalName))
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2656[5] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2671 := z.EncBinary()
						_ = yym2671
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2656[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym2672 := z.EncBinary()
						_ = yym2672
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2656[6] {
					yym2674 := z.EncBinary()
					_ = yym2674
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2656[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2675 := z.EncBinary()
					_ = yym2675
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2656[7] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2656[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2656[8] {
					if x.LoadBalancerSourceRanges == nil {
						r.EncodeNil()
					} else {
						yym2678 := z.EncBinary()
						_ = yym2678
						if false {
						} else {
							z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2656[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerSourceRanges"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.LoadBalancerSourceRanges == nil {
						r.EncodeNil()
					} else {
						yym2679 := z.EncBinary()
						_ = yym2679
						if false {
						} else {
							z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
						}
					}
				}
			}
			if yyr2656 || yy2arr2656 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2680 := z.DecBinary()
	_ = yym2680
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2681 := r.ContainerType()
		if yyct2681 == codecSelferValueTypeMap1234 {
			yyl2681 := r.ReadMapStart()
			if yyl2681 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2681, d)
			}
		} else if yyct2681 == codecSelferValueTypeArray1234 {
			yyl2681 := r.ReadArrayStart()
			if yyl2681 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2681, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2682Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2682Slc
	var yyhl2682 bool = l >= 0
	for yyj2682 := 0; ; yyj2682++ {
		if yyhl2682 {
			if yyj2682 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2682Slc = r.DecodeBytes(yys2682Slc, true, true)
		yys2682 := string(yys2682Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2682 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2684 := &x.Ports
				yym2685 := z.DecBinary()
				_ = yym2685
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv2684), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv2686 := &x.Selector
				yym2687 := z.DecBinary()
				_ = yym2687
				if false {
				} else {
					z.F.DecMapStringStringX(yyv2686, false, d)
				}
			}
		case "clusterIP":
			if r.TryDecodeAsNil() {
				x.ClusterIP = ""
			} else {
				x.ClusterIP = string(r.DecodeString())
			}
		case "ExternalName":
			if r.TryDecodeAsNil() {
				x.ExternalName = ""
			} else {
				x.ExternalName = string(r.DecodeString())
			}
		case "externalIPs":
			if r.TryDecodeAsNil() {
				x.ExternalIPs = nil
			} else {
				yyv2690 := &x.ExternalIPs
				yym2691 := z.DecBinary()
				_ = yym2691
				if false {
				} else {
					z.F.DecSliceStringX(yyv2690, false, d)
				}
			}
		case "loadBalancerIP":
			if r.TryDecodeAsNil() {
				x.LoadBalancerIP = ""
			} else {
				x.LoadBalancerIP = string(r.DecodeString())
			}
		case "sessionAffinity":
			if r.TryDecodeAsNil() {
				x.SessionAffinity = ""
			} else {
				x.SessionAffinity = ServiceAffinity(r.DecodeString())
			}
		case "loadBalancerSourceRanges":
			if r.TryDecodeAsNil() {
				x.LoadBalancerSourceRanges = nil
			} else {
				yyv2694 := &x.LoadBalancerSourceRanges
				yym2695 := z.DecBinary()
				_ = yym2695
				if false {
				} else {
					z.F.DecSliceStringX(yyv2694, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2682)
		} // end switch yys2682
	} // end for yyj2682
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2696 int
	var yyb2696 bool
	var yyhl2696 bool = l >= 0
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2698 := &x.Ports
		yym2699 := z.DecBinary()
		_ = yym2699
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv2698), d)
		}
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv2700 := &x.Selector
		yym2701 := z.DecBinary()
		_ = yym2701
		if false {
		} else {
			z.F.DecMapStringStringX(yyv2700, false, d)
		}
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalName = ""
	} else {
		x.ExternalName = string(r.DecodeString())
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv2704 := &x.ExternalIPs
		yym2705 := z.DecBinary()
		_ = yym2705
		if false {
		} else {
			z.F.DecSliceStringX(yyv2704, false, d)
		}
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	yyj2696++
	if yyhl2696 {
		yyb2696 = yyj2696 > l
	} else {
		yyb2696 = r.CheckBreak()
	}
	if yyb2696 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LoadBalancerSourceRanges = nil
	} else {
		yyv2708 := &x.LoadBalancerSourceRanges
		yym2709 := z.DecBinary()
		_ = yym2709
		if false {
		} else {
			z.F.DecSliceStringX(yyv2708, false, d)
		}
	}
	for {
		yyj2696++
		if yyhl2696 {
			yyb2696 = yyj2696 > l
		} else {
			yyb2696 = r.CheckBreak()
		}
		if yyb2696 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2696-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServicePort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2710 := z.EncBinary()
		_ = yym2710
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2711 := !z.EncBinary()
			yy2arr2711 := z.EncBasicHandle().StructToArray
			var yyq2711 [5]bool
			_, _, _ = yysep2711, yyq2711, yy2arr2711
			const yyr2711 bool = false
			var yynn2711 int
			if yyr2711 || yy2arr2711 {
				r.EncodeArrayStart(5)
			} else {
				yynn2711 = 5
				for _, b := range yyq2711 {
					if b {
						yynn2711++
					}
				}
				r.EncodeMapStart(yynn2711)
				yynn2711 = 0
			}
			if yyr2711 || yy2arr2711 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2713 := z.EncBinary()
				_ = yym2713
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2714 := z.EncBinary()
				_ = yym2714
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2711 || yy2arr2711 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Protocol.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("protocol"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Protocol.CodecEncodeSelf(e)
			}
			if yyr2711 || yy2arr2711 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2717 := z.EncBinary()
				_ = yym2717
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2718 := z.EncBinary()
				_ = yym2718
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2711 || yy2arr2711 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy2720 := &x.TargetPort
				yym2721 := z.EncBinary()
				_ = yym2721
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2720) {
				} else if !yym2721 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2720)
				} else {
					z.EncFallback(yy2720)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy2722 := &x.TargetPort
				yym2723 := z.EncBinary()
				_ = yym2723
				if false {
				} else if z.HasExtensions() && z.EncExt(yy2722) {
				} else if !yym2723 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy2722)
				} else {
					z.EncFallback(yy2722)
				}
			}
			if yyr2711 || yy2arr2711 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2725 := z.EncBinary()
				_ = yym2725
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2726 := z.EncBinary()
				_ = yym2726
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			}
			if yyr2711 || yy2arr2711 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServicePort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2727 := z.DecBinary()
	_ = yym2727
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2728 := r.ContainerType()
		if yyct2728 == codecSelferValueTypeMap1234 {
			yyl2728 := r.ReadMapStart()
			if yyl2728 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2728, d)
			}
		} else if yyct2728 == codecSelferValueTypeArray1234 {
			yyl2728 := r.ReadArrayStart()
			if yyl2728 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2728, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServicePort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2729Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2729Slc
	var yyhl2729 bool = l >= 0
	for yyj2729 := 0; ; yyj2729++ {
		if yyhl2729 {
			if yyj2729 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2729Slc = r.DecodeBytes(yys2729Slc, true, true)
		yys2729 := string(yys2729Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2729 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		case "targetPort":
			if r.TryDecodeAsNil() {
				x.TargetPort = pkg4_intstr.IntOrString{}
			} else {
				yyv2733 := &x.TargetPort
				yym2734 := z.DecBinary()
				_ = yym2734
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2733) {
				} else if !yym2734 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2733)
				} else {
					z.DecFallback(yyv2733, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2729)
		} // end switch yys2729
	} // end for yyj2729
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServicePort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2736 int
	var yyb2736 bool
	var yyhl2736 bool = l >= 0
	yyj2736++
	if yyhl2736 {
		yyb2736 = yyj2736 > l
	} else {
		yyb2736 = r.CheckBreak()
	}
	if yyb2736 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2736++
	if yyhl2736 {
		yyb2736 = yyj2736 > l
	} else {
		yyb2736 = r.CheckBreak()
	}
	if yyb2736 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj2736++
	if yyhl2736 {
		yyb2736 = yyj2736 > l
	} else {
		yyb2736 = r.CheckBreak()
	}
	if yyb2736 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2736++
	if yyhl2736 {
		yyb2736 = yyj2736 > l
	} else {
		yyb2736 = r.CheckBreak()
	}
	if yyb2736 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg4_intstr.IntOrString{}
	} else {
		yyv2740 := &x.TargetPort
		yym2741 := z.DecBinary()
		_ = yym2741
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2740) {
		} else if !yym2741 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2740)
		} else {
			z.DecFallback(yyv2740, false)
		}
	}
	yyj2736++
	if yyhl2736 {
		yyb2736 = yyj2736 > l
	} else {
		yyb2736 = r.CheckBreak()
	}
	if yyb2736 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int32(r.DecodeInt(32))
	}
	for {
		yyj2736++
		if yyhl2736 {
			yyb2736 = yyj2736 > l
		} else {
			yyb2736 = r.CheckBreak()
		}
		if yyb2736 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2736-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Service) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2743 := z.EncBinary()
		_ = yym2743
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2744 := !z.EncBinary()
			yy2arr2744 := z.EncBasicHandle().StructToArray
			var yyq2744 [5]bool
			_, _, _ = yysep2744, yyq2744, yy2arr2744
			const yyr2744 bool = false
			yyq2744[0] = x.Kind != ""
			yyq2744[1] = x.APIVersion != ""
			yyq2744[2] = true
			yyq2744[3] = true
			yyq2744[4] = true
			var yynn2744 int
			if yyr2744 || yy2arr2744 {
				r.EncodeArrayStart(5)
			} else {
				yynn2744 = 0
				for _, b := range yyq2744 {
					if b {
						yynn2744++
					}
				}
				r.EncodeMapStart(yynn2744)
				yynn2744 = 0
			}
			if yyr2744 || yy2arr2744 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2744[0] {
					yym2746 := z.EncBinary()
					_ = yym2746
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2744[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2747 := z.EncBinary()
					_ = yym2747
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2744 || yy2arr2744 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2744[1] {
					yym2749 := z.EncBinary()
					_ = yym2749
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2744[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2750 := z.EncBinary()
					_ = yym2750
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2744 || yy2arr2744 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2744[2] {
					yy2752 := &x.ObjectMeta
					yy2752.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2744[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2753 := &x.ObjectMeta
					yy2753.CodecEncodeSelf(e)
				}
			}
			if yyr2744 || yy2arr2744 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2744[3] {
					yy2755 := &x.Spec
					yy2755.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2744[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2756 := &x.Spec
					yy2756.CodecEncodeSelf(e)
				}
			}
			if yyr2744 || yy2arr2744 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2744[4] {
					yy2758 := &x.Status
					yy2758.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2744[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2759 := &x.Status
					yy2759.CodecEncodeSelf(e)
				}
			}
			if yyr2744 || yy2arr2744 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Service) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2760 := z.DecBinary()
	_ = yym2760
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2761 := r.ContainerType()
		if yyct2761 == codecSelferValueTypeMap1234 {
			yyl2761 := r.ReadMapStart()
			if yyl2761 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2761, d)
			}
		} else if yyct2761 == codecSelferValueTypeArray1234 {
			yyl2761 := r.ReadArrayStart()
			if yyl2761 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2761, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Service) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2762Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2762Slc
	var yyhl2762 bool = l >= 0
	for yyj2762 := 0; ; yyj2762++ {
		if yyhl2762 {
			if yyj2762 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2762Slc = r.DecodeBytes(yys2762Slc, true, true)
		yys2762 := string(yys2762Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2762 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2765 := &x.ObjectMeta
				yyv2765.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv2766 := &x.Spec
				yyv2766.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv2767 := &x.Status
				yyv2767.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2762)
		} // end switch yys2762
	} // end for yyj2762
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Service) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2768 int
	var yyb2768 bool
	var yyhl2768 bool = l >= 0
	yyj2768++
	if yyhl2768 {
		yyb2768 = yyj2768 > l
	} else {
		yyb2768 = r.CheckBreak()
	}
	if yyb2768 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2768++
	if yyhl2768 {
		yyb2768 = yyj2768 > l
	} else {
		yyb2768 = r.CheckBreak()
	}
	if yyb2768 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2768++
	if yyhl2768 {
		yyb2768 = yyj2768 > l
	} else {
		yyb2768 = r.CheckBreak()
	}
	if yyb2768 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2771 := &x.ObjectMeta
		yyv2771.CodecDecodeSelf(d)
	}
	yyj2768++
	if yyhl2768 {
		yyb2768 = yyj2768 > l
	} else {
		yyb2768 = r.CheckBreak()
	}
	if yyb2768 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv2772 := &x.Spec
		yyv2772.CodecDecodeSelf(d)
	}
	yyj2768++
	if yyhl2768 {
		yyb2768 = yyj2768 > l
	} else {
		yyb2768 = r.CheckBreak()
	}
	if yyb2768 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv2773 := &x.Status
		yyv2773.CodecDecodeSelf(d)
	}
	for {
		yyj2768++
		if yyhl2768 {
			yyb2768 = yyj2768 > l
		} else {
			yyb2768 = r.CheckBreak()
		}
		if yyb2768 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2768-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceAccount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2774 := z.EncBinary()
		_ = yym2774
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2775 := !z.EncBinary()
			yy2arr2775 := z.EncBasicHandle().StructToArray
			var yyq2775 [5]bool
			_, _, _ = yysep2775, yyq2775, yy2arr2775
			const yyr2775 bool = false
			yyq2775[0] = x.Kind != ""
			yyq2775[1] = x.APIVersion != ""
			yyq2775[2] = true
			yyq2775[4] = len(x.ImagePullSecrets) != 0
			var yynn2775 int
			if yyr2775 || yy2arr2775 {
				r.EncodeArrayStart(5)
			} else {
				yynn2775 = 1
				for _, b := range yyq2775 {
					if b {
						yynn2775++
					}
				}
				r.EncodeMapStart(yynn2775)
				yynn2775 = 0
			}
			if yyr2775 || yy2arr2775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2775[0] {
					yym2777 := z.EncBinary()
					_ = yym2777
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2775[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2778 := z.EncBinary()
					_ = yym2778
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2775 || yy2arr2775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2775[1] {
					yym2780 := z.EncBinary()
					_ = yym2780
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2775[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2781 := z.EncBinary()
					_ = yym2781
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2775 || yy2arr2775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2775[2] {
					yy2783 := &x.ObjectMeta
					yy2783.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2775[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2784 := &x.ObjectMeta
					yy2784.CodecEncodeSelf(e)
				}
			}
			if yyr2775 || yy2arr2775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2786 := z.EncBinary()
					_ = yym2786
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("secrets"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2787 := z.EncBinary()
					_ = yym2787
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			}
			if yyr2775 || yy2arr2775 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2775[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2789 := z.EncBinary()
						_ = yym2789
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2775[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2790 := z.EncBinary()
						_ = yym2790
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yyr2775 || yy2arr2775 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceAccount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2791 := z.DecBinary()
	_ = yym2791
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2792 := r.ContainerType()
		if yyct2792 == codecSelferValueTypeMap1234 {
			yyl2792 := r.ReadMapStart()
			if yyl2792 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2792, d)
			}
		} else if yyct2792 == codecSelferValueTypeArray1234 {
			yyl2792 := r.ReadArrayStart()
			if yyl2792 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2792, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccount) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2793Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2793Slc
	var yyhl2793 bool = l >= 0
	for yyj2793 := 0; ; yyj2793++ {
		if yyhl2793 {
			if yyj2793 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2793Slc = r.DecodeBytes(yys2793Slc, true, true)
		yys2793 := string(yys2793Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2793 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2796 := &x.ObjectMeta
				yyv2796.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2797 := &x.Secrets
				yym2798 := z.DecBinary()
				_ = yym2798
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2797), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2799 := &x.ImagePullSecrets
				yym2800 := z.DecBinary()
				_ = yym2800
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2799), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2793)
		} // end switch yys2793
	} // end for yyj2793
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceAccount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2801 int
	var yyb2801 bool
	var yyhl2801 bool = l >= 0
	yyj2801++
	if yyhl2801 {
		yyb2801 = yyj2801 > l
	} else {
		yyb2801 = r.CheckBreak()
	}
	if yyb2801 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2801++
	if yyhl2801 {
		yyb2801 = yyj2801 > l
	} else {
		yyb2801 = r.CheckBreak()
	}
	if yyb2801 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2801++
	if yyhl2801 {
		yyb2801 = yyj2801 > l
	} else {
		yyb2801 = r.CheckBreak()
	}
	if yyb2801 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2804 := &x.ObjectMeta
		yyv2804.CodecDecodeSelf(d)
	}
	yyj2801++
	if yyhl2801 {
		yyb2801 = yyj2801 > l
	} else {
		yyb2801 = r.CheckBreak()
	}
	if yyb2801 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2805 := &x.Secrets
		yym2806 := z.DecBinary()
		_ = yym2806
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2805), d)
		}
	}
	yyj2801++
	if yyhl2801 {
		yyb2801 = yyj2801 > l
	} else {
		yyb2801 = r.CheckBreak()
	}
	if yyb2801 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2807 := &x.ImagePullSecrets
		yym2808 := z.DecBinary()
		_ = yym2808
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2807), d)
		}
	}
	for {
		yyj2801++
		if yyhl2801 {
			yyb2801 = yyj2801 > l
		} else {
			yyb2801 = r.CheckBreak()
		}
		if yyb2801 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2801-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceAccountList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2809 := z.EncBinary()
		_ = yym2809
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2810 := !z.EncBinary()
			yy2arr2810 := z.EncBasicHandle().StructToArray
			var yyq2810 [4]bool
			_, _, _ = yysep2810, yyq2810, yy2arr2810
			const yyr2810 bool = false
			yyq2810[0] = x.Kind != ""
			yyq2810[1] = x.APIVersion != ""
			yyq2810[2] = true
			var yynn2810 int
			if yyr2810 || yy2arr2810 {
				r.EncodeArrayStart(4)
			} else {
				yynn2810 = 1
				for _, b := range yyq2810 {
					if b {
						yynn2810++
					}
				}
				r.EncodeMapStart(yynn2810)
				yynn2810 = 0
			}
			if yyr2810 || yy2arr2810 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2810[0] {
					yym2812 := z.EncBinary()
					_ = yym2812
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2810[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2813 := z.EncBinary()
					_ = yym2813
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2810 || yy2arr2810 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2810[1] {
					yym2815 := z.EncBinary()
					_ = yym2815
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2810[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2816 := z.EncBinary()
					_ = yym2816
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2810 || yy2arr2810 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2810[2] {
					yy2818 := &x.ListMeta
					yym2819 := z.EncBinary()
					_ = yym2819
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2818) {
					} else {
						z.EncFallback(yy2818)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2810[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2820 := &x.ListMeta
					yym2821 := z.EncBinary()
					_ = yym2821
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2820) {
					} else {
						z.EncFallback(yy2820)
					}
				}
			}
			if yyr2810 || yy2arr2810 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2823 := z.EncBinary()
					_ = yym2823
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2824 := z.EncBinary()
					_ = yym2824
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yyr2810 || yy2arr2810 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceAccountList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2825 := z.DecBinary()
	_ = yym2825
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2826 := r.ContainerType()
		if yyct2826 == codecSelferValueTypeMap1234 {
			yyl2826 := r.ReadMapStart()
			if yyl2826 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2826, d)
			}
		} else if yyct2826 == codecSelferValueTypeArray1234 {
			yyl2826 := r.ReadArrayStart()
			if yyl2826 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2826, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceAccountList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2827Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2827Slc
	var yyhl2827 bool = l >= 0
	for yyj2827 := 0; ; yyj2827++ {
		if yyhl2827 {
			if yyj2827 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2827Slc = r.DecodeBytes(yys2827Slc, true, true)
		yys2827 := string(yys2827Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2827 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2830 := &x.ListMeta
				yym2831 := z.DecBinary()
				_ = yym2831
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2830) {
				} else {
					z.DecFallback(yyv2830, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2832 := &x.Items
				yym2833 := z.DecBinary()
				_ = yym2833
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2832), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2827)
		} // end switch yys2827
	} // end for yyj2827
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceAccountList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2834 int
	var yyb2834 bool
	var yyhl2834 bool = l >= 0
	yyj2834++
	if yyhl2834 {
		yyb2834 = yyj2834 > l
	} else {
		yyb2834 = r.CheckBreak()
	}
	if yyb2834 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2834++
	if yyhl2834 {
		yyb2834 = yyj2834 > l
	} else {
		yyb2834 = r.CheckBreak()
	}
	if yyb2834 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2834++
	if yyhl2834 {
		yyb2834 = yyj2834 > l
	} else {
		yyb2834 = r.CheckBreak()
	}
	if yyb2834 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2837 := &x.ListMeta
		yym2838 := z.DecBinary()
		_ = yym2838
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2837) {
		} else {
			z.DecFallback(yyv2837, false)
		}
	}
	yyj2834++
	if yyhl2834 {
		yyb2834 = yyj2834 > l
	} else {
		yyb2834 = r.CheckBreak()
	}
	if yyb2834 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2839 := &x.Items
		yym2840 := z.DecBinary()
		_ = yym2840
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2839), d)
		}
	}
	for {
		yyj2834++
		if yyhl2834 {
			yyb2834 = yyj2834 > l
		} else {
			yyb2834 = r.CheckBreak()
		}
		if yyb2834 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2834-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Endpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2841 := z.EncBinary()
		_ = yym2841
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2842 := !z.EncBinary()
			yy2arr2842 := z.EncBasicHandle().StructToArray
			var yyq2842 [4]bool
			_, _, _ = yysep2842, yyq2842, yy2arr2842
			const yyr2842 bool = false
			yyq2842[0] = x.Kind != ""
			yyq2842[1] = x.APIVersion != ""
			yyq2842[2] = true
			var yynn2842 int
			if yyr2842 || yy2arr2842 {
				r.EncodeArrayStart(4)
			} else {
				yynn2842 = 1
				for _, b := range yyq2842 {
					if b {
						yynn2842++
					}
				}
				r.EncodeMapStart(yynn2842)
				yynn2842 = 0
			}
			if yyr2842 || yy2arr2842 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2842[0] {
					yym2844 := z.EncBinary()
					_ = yym2844
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2842[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2845 := z.EncBinary()
					_ = yym2845
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2842 || yy2arr2842 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2842[1] {
					yym2847 := z.EncBinary()
					_ = yym2847
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2842[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2848 := z.EncBinary()
					_ = yym2848
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2842 || yy2arr2842 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2842[2] {
					yy2850 := &x.ObjectMeta
					yy2850.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2842[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2851 := &x.ObjectMeta
					yy2851.CodecEncodeSelf(e)
				}
			}
			if yyr2842 || yy2arr2842 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2853 := z.EncBinary()
					_ = yym2853
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Subsets"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2854 := z.EncBinary()
					_ = yym2854
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yyr2842 || yy2arr2842 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Endpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2855 := z.DecBinary()
	_ = yym2855
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2856 := r.ContainerType()
		if yyct2856 == codecSelferValueTypeMap1234 {
			yyl2856 := r.ReadMapStart()
			if yyl2856 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2856, d)
			}
		} else if yyct2856 == codecSelferValueTypeArray1234 {
			yyl2856 := r.ReadArrayStart()
			if yyl2856 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2856, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Endpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2857Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2857Slc
	var yyhl2857 bool = l >= 0
	for yyj2857 := 0; ; yyj2857++ {
		if yyhl2857 {
			if yyj2857 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2857Slc = r.DecodeBytes(yys2857Slc, true, true)
		yys2857 := string(yys2857Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2857 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv2860 := &x.ObjectMeta
				yyv2860.CodecDecodeSelf(d)
			}
		case "Subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2861 := &x.Subsets
				yym2862 := z.DecBinary()
				_ = yym2862
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2861), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2857)
		} // end switch yys2857
	} // end for yyj2857
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Endpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2863 int
	var yyb2863 bool
	var yyhl2863 bool = l >= 0
	yyj2863++
	if yyhl2863 {
		yyb2863 = yyj2863 > l
	} else {
		yyb2863 = r.CheckBreak()
	}
	if yyb2863 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2863++
	if yyhl2863 {
		yyb2863 = yyj2863 > l
	} else {
		yyb2863 = r.CheckBreak()
	}
	if yyb2863 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2863++
	if yyhl2863 {
		yyb2863 = yyj2863 > l
	} else {
		yyb2863 = r.CheckBreak()
	}
	if yyb2863 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2866 := &x.ObjectMeta
		yyv2866.CodecDecodeSelf(d)
	}
	yyj2863++
	if yyhl2863 {
		yyb2863 = yyj2863 > l
	} else {
		yyb2863 = r.CheckBreak()
	}
	if yyb2863 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2867 := &x.Subsets
		yym2868 := z.DecBinary()
		_ = yym2868
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2867), d)
		}
	}
	for {
		yyj2863++
		if yyhl2863 {
			yyb2863 = yyj2863 > l
		} else {
			yyb2863 = r.CheckBreak()
		}
		if yyb2863 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2863-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointSubset) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2869 := z.EncBinary()
		_ = yym2869
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2870 := !z.EncBinary()
			yy2arr2870 := z.EncBasicHandle().StructToArray
			var yyq2870 [3]bool
			_, _, _ = yysep2870, yyq2870, yy2arr2870
			const yyr2870 bool = false
			var yynn2870 int
			if yyr2870 || yy2arr2870 {
				r.EncodeArrayStart(3)
			} else {
				yynn2870 = 3
				for _, b := range yyq2870 {
					if b {
						yynn2870++
					}
				}
				r.EncodeMapStart(yynn2870)
				yynn2870 = 0
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2872 := z.EncBinary()
					_ = yym2872
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Addresses"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2873 := z.EncBinary()
					_ = yym2873
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2875 := z.EncBinary()
					_ = yym2875
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("NotReadyAddresses"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2876 := z.EncBinary()
					_ = yym2876
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2878 := z.EncBinary()
					_ = yym2878
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Ports"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2879 := z.EncBinary()
					_ = yym2879
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			}
			if yyr2870 || yy2arr2870 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointSubset) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2880 := z.DecBinary()
	_ = yym2880
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2881 := r.ContainerType()
		if yyct2881 == codecSelferValueTypeMap1234 {
			yyl2881 := r.ReadMapStart()
			if yyl2881 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2881, d)
			}
		} else if yyct2881 == codecSelferValueTypeArray1234 {
			yyl2881 := r.ReadArrayStart()
			if yyl2881 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2881, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointSubset) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2882Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2882Slc
	var yyhl2882 bool = l >= 0
	for yyj2882 := 0; ; yyj2882++ {
		if yyhl2882 {
			if yyj2882 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2882Slc = r.DecodeBytes(yys2882Slc, true, true)
		yys2882 := string(yys2882Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2882 {
		case "Addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2883 := &x.Addresses
				yym2884 := z.DecBinary()
				_ = yym2884
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2883), d)
				}
			}
		case "NotReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2885 := &x.NotReadyAddresses
				yym2886 := z.DecBinary()
				_ = yym2886
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2885), d)
				}
			}
		case "Ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2887 := &x.Ports
				yym2888 := z.DecBinary()
				_ = yym2888
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2887), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2882)
		} // end switch yys2882
	} // end for yyj2882
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointSubset) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2889 int
	var yyb2889 bool
	var yyhl2889 bool = l >= 0
	yyj2889++
	if yyhl2889 {
		yyb2889 = yyj2889 > l
	} else {
		yyb2889 = r.CheckBreak()
	}
	if yyb2889 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2890 := &x.Addresses
		yym2891 := z.DecBinary()
		_ = yym2891
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2890), d)
		}
	}
	yyj2889++
	if yyhl2889 {
		yyb2889 = yyj2889 > l
	} else {
		yyb2889 = r.CheckBreak()
	}
	if yyb2889 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2892 := &x.NotReadyAddresses
		yym2893 := z.DecBinary()
		_ = yym2893
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2892), d)
		}
	}
	yyj2889++
	if yyhl2889 {
		yyb2889 = yyj2889 > l
	} else {
		yyb2889 = r.CheckBreak()
	}
	if yyb2889 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2894 := &x.Ports
		yym2895 := z.DecBinary()
		_ = yym2895
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2894), d)
		}
	}
	for {
		yyj2889++
		if yyhl2889 {
			yyb2889 = yyj2889 > l
		} else {
			yyb2889 = r.CheckBreak()
		}
		if yyb2889 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2889-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2896 := z.EncBinary()
		_ = yym2896
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2897 := !z.EncBinary()
			yy2arr2897 := z.EncBasicHandle().StructToArray
			var yyq2897 [4]bool
			_, _, _ = yysep2897, yyq2897, yy2arr2897
			const yyr2897 bool = false
			yyq2897[1] = x.Hostname != ""
			yyq2897[2] = x.NodeName != nil
			var yynn2897 int
			if yyr2897 || yy2arr2897 {
				r.EncodeArrayStart(4)
			} else {
				yynn2897 = 2
				for _, b := range yyq2897 {
					if b {
						yynn2897++
					}
				}
				r.EncodeMapStart(yynn2897)
				yynn2897 = 0
			}
			if yyr2897 || yy2arr2897 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2899 := z.EncBinary()
				_ = yym2899
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("IP"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2900 := z.EncBinary()
				_ = yym2900
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2897 || yy2arr2897 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2897[1] {
					yym2902 := z.EncBinary()
					_ = yym2902
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2897[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2903 := z.EncBinary()
					_ = yym2903
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yyr2897 || yy2arr2897 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2897[2] {
					if x.NodeName == nil {
						r.EncodeNil()
					} else {
						yy2905 := *x.NodeName
						yym2906 := z.EncBinary()
						_ = yym2906
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy2905))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2897[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.NodeName == nil {
						r.EncodeNil()
					} else {
						yy2907 := *x.NodeName
						yym2908 := z.EncBinary()
						_ = yym2908
						if false {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy2907))
						}
					}
				}
			}
			if yyr2897 || yy2arr2897 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TargetRef == nil {
					r.EncodeNil()
				} else {
					x.TargetRef.CodecEncodeSelf(e)
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TargetRef"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TargetRef == nil {
					r.EncodeNil()
				} else {
					x.TargetRef.CodecEncodeSelf(e)
				}
			}
			if yyr2897 || yy2arr2897 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2910 := z.DecBinary()
	_ = yym2910
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2911 := r.ContainerType()
		if yyct2911 == codecSelferValueTypeMap1234 {
			yyl2911 := r.ReadMapStart()
			if yyl2911 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2911, d)
			}
		} else if yyct2911 == codecSelferValueTypeArray1234 {
			yyl2911 := r.ReadArrayStart()
			if yyl2911 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2911, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2912Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2912Slc
	var yyhl2912 bool = l >= 0
	for yyj2912 := 0; ; yyj2912++ {
		if yyhl2912 {
			if yyj2912 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2912Slc = r.DecodeBytes(yys2912Slc, true, true)
		yys2912 := string(yys2912Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2912 {
		case "IP":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(r.DecodeString())
			}
		case "hostname":
			if r.TryDecodeAsNil() {
				x.Hostname = ""
			} else {
				x.Hostname = string(r.DecodeString())
			}
		case "nodeName":
			if r.TryDecodeAsNil() {
				if x.NodeName != nil {
					x.NodeName = nil
				}
			} else {
				if x.NodeName == nil {
					x.NodeName = new(string)
				}
				yym2916 := z.DecBinary()
				_ = yym2916
				if false {
				} else {
					*((*string)(x.NodeName)) = r.DecodeString()
				}
			}
		case "TargetRef":
			if r.TryDecodeAsNil() {
				if x.TargetRef != nil {
					x.TargetRef = nil
				}
			} else {
				if x.TargetRef == nil {
					x.TargetRef = new(ObjectReference)
				}
				x.TargetRef.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2912)
		} // end switch yys2912
	} // end for yyj2912
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2918 int
	var yyb2918 bool
	var yyhl2918 bool = l >= 0
	yyj2918++
	if yyhl2918 {
		yyb2918 = yyj2918 > l
	} else {
		yyb2918 = r.CheckBreak()
	}
	if yyb2918 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2918++
	if yyhl2918 {
		yyb2918 = yyj2918 > l
	} else {
		yyb2918 = r.CheckBreak()
	}
	if yyb2918 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hostname = ""
	} else {
		x.Hostname = string(r.DecodeString())
	}
	yyj2918++
	if yyhl2918 {
		yyb2918 = yyj2918 > l
	} else {
		yyb2918 = r.CheckBreak()
	}
	if yyb2918 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.NodeName != nil {
			x.NodeName = nil
		}
	} else {
		if x.NodeName == nil {
			x.NodeName = new(string)
		}
		yym2922 := z.DecBinary()
		_ = yym2922
		if false {
		} else {
			*((*string)(x.NodeName)) = r.DecodeString()
		}
	}
	yyj2918++
	if yyhl2918 {
		yyb2918 = yyj2918 > l
	} else {
		yyb2918 = r.CheckBreak()
	}
	if yyb2918 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TargetRef != nil {
			x.TargetRef = nil
		}
	} else {
		if x.TargetRef == nil {
			x.TargetRef = new(ObjectReference)
		}
		x.TargetRef.CodecDecodeSelf(d)
	}
	for {
		yyj2918++
		if yyhl2918 {
			yyb2918 = yyj2918 > l
		} else {
			yyb2918 = r.CheckBreak()
		}
		if yyb2918 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2918-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2924 := z.EncBinary()
		_ = yym2924
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2925 := !z.EncBinary()
			yy2arr2925 := z.EncBasicHandle().StructToArray
			var yyq2925 [3]bool
			_, _, _ = yysep2925, yyq2925, yy2arr2925
			const yyr2925 bool = false
			var yynn2925 int
			if yyr2925 || yy2arr2925 {
				r.EncodeArrayStart(3)
			} else {
				yynn2925 = 3
				for _, b := range yyq2925 {
					if b {
						yynn2925++
					}
				}
				r.EncodeMapStart(yynn2925)
				yynn2925 = 0
			}
			if yyr2925 || yy2arr2925 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2927 := z.EncBinary()
				_ = yym2927
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2928 := z.EncBinary()
				_ = yym2928
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2925 || yy2arr2925 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym2930 := z.EncBinary()
				_ = yym2930
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym2931 := z.EncBinary()
				_ = yym2931
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2925 || yy2arr2925 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Protocol.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Protocol"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Protocol.CodecEncodeSelf(e)
			}
			if yyr2925 || yy2arr2925 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2933 := z.DecBinary()
	_ = yym2933
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2934 := r.ContainerType()
		if yyct2934 == codecSelferValueTypeMap1234 {
			yyl2934 := r.ReadMapStart()
			if yyl2934 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2934, d)
			}
		} else if yyct2934 == codecSelferValueTypeArray1234 {
			yyl2934 := r.ReadArrayStart()
			if yyl2934 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2934, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointPort) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2935Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2935Slc
	var yyhl2935 bool = l >= 0
	for yyj2935 := 0; ; yyj2935++ {
		if yyhl2935 {
			if yyj2935 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2935Slc = r.DecodeBytes(yys2935Slc, true, true)
		yys2935 := string(yys2935Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2935 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		case "Protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2935)
		} // end switch yys2935
	} // end for yyj2935
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2939 int
	var yyb2939 bool
	var yyhl2939 bool = l >= 0
	yyj2939++
	if yyhl2939 {
		yyb2939 = yyj2939 > l
	} else {
		yyb2939 = r.CheckBreak()
	}
	if yyb2939 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2939++
	if yyhl2939 {
		yyb2939 = yyj2939 > l
	} else {
		yyb2939 = r.CheckBreak()
	}
	if yyb2939 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	yyj2939++
	if yyhl2939 {
		yyb2939 = yyj2939 > l
	} else {
		yyb2939 = r.CheckBreak()
	}
	if yyb2939 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2939++
		if yyhl2939 {
			yyb2939 = yyj2939 > l
		} else {
			yyb2939 = r.CheckBreak()
		}
		if yyb2939 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2939-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EndpointsList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2943 := z.EncBinary()
		_ = yym2943
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2944 := !z.EncBinary()
			yy2arr2944 := z.EncBasicHandle().StructToArray
			var yyq2944 [4]bool
			_, _, _ = yysep2944, yyq2944, yy2arr2944
			const yyr2944 bool = false
			yyq2944[0] = x.Kind != ""
			yyq2944[1] = x.APIVersion != ""
			yyq2944[2] = true
			var yynn2944 int
			if yyr2944 || yy2arr2944 {
				r.EncodeArrayStart(4)
			} else {
				yynn2944 = 1
				for _, b := range yyq2944 {
					if b {
						yynn2944++
					}
				}
				r.EncodeMapStart(yynn2944)
				yynn2944 = 0
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2944[0] {
					yym2946 := z.EncBinary()
					_ = yym2946
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2944[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2947 := z.EncBinary()
					_ = yym2947
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2944[1] {
					yym2949 := z.EncBinary()
					_ = yym2949
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2944[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2950 := z.EncBinary()
					_ = yym2950
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2944[2] {
					yy2952 := &x.ListMeta
					yym2953 := z.EncBinary()
					_ = yym2953
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2952) {
					} else {
						z.EncFallback(yy2952)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2944[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy2954 := &x.ListMeta
					yym2955 := z.EncBinary()
					_ = yym2955
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2954) {
					} else {
						z.EncFallback(yy2954)
					}
				}
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2957 := z.EncBinary()
					_ = yym2957
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2958 := z.EncBinary()
					_ = yym2958
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yyr2944 || yy2arr2944 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EndpointsList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2959 := z.DecBinary()
	_ = yym2959
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2960 := r.ContainerType()
		if yyct2960 == codecSelferValueTypeMap1234 {
			yyl2960 := r.ReadMapStart()
			if yyl2960 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2960, d)
			}
		} else if yyct2960 == codecSelferValueTypeArray1234 {
			yyl2960 := r.ReadArrayStart()
			if yyl2960 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2960, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EndpointsList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2961Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2961Slc
	var yyhl2961 bool = l >= 0
	for yyj2961 := 0; ; yyj2961++ {
		if yyhl2961 {
			if yyj2961 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2961Slc = r.DecodeBytes(yys2961Slc, true, true)
		yys2961 := string(yys2961Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2961 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv2964 := &x.ListMeta
				yym2965 := z.DecBinary()
				_ = yym2965
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2964) {
				} else {
					z.DecFallback(yyv2964, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2966 := &x.Items
				yym2967 := z.DecBinary()
				_ = yym2967
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2966), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2961)
		} // end switch yys2961
	} // end for yyj2961
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EndpointsList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2968 int
	var yyb2968 bool
	var yyhl2968 bool = l >= 0
	yyj2968++
	if yyhl2968 {
		yyb2968 = yyj2968 > l
	} else {
		yyb2968 = r.CheckBreak()
	}
	if yyb2968 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2968++
	if yyhl2968 {
		yyb2968 = yyj2968 > l
	} else {
		yyb2968 = r.CheckBreak()
	}
	if yyb2968 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2968++
	if yyhl2968 {
		yyb2968 = yyj2968 > l
	} else {
		yyb2968 = r.CheckBreak()
	}
	if yyb2968 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2971 := &x.ListMeta
		yym2972 := z.DecBinary()
		_ = yym2972
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2971) {
		} else {
			z.DecFallback(yyv2971, false)
		}
	}
	yyj2968++
	if yyhl2968 {
		yyb2968 = yyj2968 > l
	} else {
		yyb2968 = r.CheckBreak()
	}
	if yyb2968 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2973 := &x.Items
		yym2974 := z.DecBinary()
		_ = yym2974
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2973), d)
		}
	}
	for {
		yyj2968++
		if yyhl2968 {
			yyb2968 = yyj2968 > l
		} else {
			yyb2968 = r.CheckBreak()
		}
		if yyb2968 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2968-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2975 := z.EncBinary()
		_ = yym2975
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2976 := !z.EncBinary()
			yy2arr2976 := z.EncBasicHandle().StructToArray
			var yyq2976 [4]bool
			_, _, _ = yysep2976, yyq2976, yy2arr2976
			const yyr2976 bool = false
			yyq2976[0] = x.PodCIDR != ""
			yyq2976[1] = x.ExternalID != ""
			yyq2976[2] = x.ProviderID != ""
			yyq2976[3] = x.Unschedulable != false
			var yynn2976 int
			if yyr2976 || yy2arr2976 {
				r.EncodeArrayStart(4)
			} else {
				yynn2976 = 0
				for _, b := range yyq2976 {
					if b {
						yynn2976++
					}
				}
				r.EncodeMapStart(yynn2976)
				yynn2976 = 0
			}
			if yyr2976 || yy2arr2976 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2976[0] {
					yym2978 := z.EncBinary()
					_ = yym2978
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2976[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2979 := z.EncBinary()
					_ = yym2979
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2976 || yy2arr2976 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2976[1] {
					yym2981 := z.EncBinary()
					_ = yym2981
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2976[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2982 := z.EncBinary()
					_ = yym2982
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2976 || yy2arr2976 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2976[2] {
					yym2984 := z.EncBinary()
					_ = yym2984
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2976[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2985 := z.EncBinary()
					_ = yym2985
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2976 || yy2arr2976 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq2976[3] {
					yym2987 := z.EncBinary()
					_ = yym2987
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2976[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym2988 := z.EncBinary()
					_ = yym2988
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yyr2976 || yy2arr2976 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2989 := z.DecBinary()
	_ = yym2989
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct2990 := r.ContainerType()
		if yyct2990 == codecSelferValueTypeMap1234 {
			yyl2990 := r.ReadMapStart()
			if yyl2990 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl2990, d)
			}
		} else if yyct2990 == codecSelferValueTypeArray1234 {
			yyl2990 := r.ReadArrayStart()
			if yyl2990 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl2990, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys2991Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2991Slc
	var yyhl2991 bool = l >= 0
	for yyj2991 := 0; ; yyj2991++ {
		if yyhl2991 {
			if yyj2991 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys2991Slc = r.DecodeBytes(yys2991Slc, true, true)
		yys2991 := string(yys2991Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys2991 {
		case "podCIDR":
			if r.TryDecodeAsNil() {
				x.PodCIDR = ""
			} else {
				x.PodCIDR = string(r.DecodeString())
			}
		case "externalID":
			if r.TryDecodeAsNil() {
				x.ExternalID = ""
			} else {
				x.ExternalID = string(r.DecodeString())
			}
		case "providerID":
			if r.TryDecodeAsNil() {
				x.ProviderID = ""
			} else {
				x.ProviderID = string(r.DecodeString())
			}
		case "unschedulable":
			if r.TryDecodeAsNil() {
				x.Unschedulable = false
			} else {
				x.Unschedulable = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2991)
		} // end switch yys2991
	} // end for yyj2991
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2996 int
	var yyb2996 bool
	var yyhl2996 bool = l >= 0
	yyj2996++
	if yyhl2996 {
		yyb2996 = yyj2996 > l
	} else {
		yyb2996 = r.CheckBreak()
	}
	if yyb2996 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodCIDR = ""
	} else {
		x.PodCIDR = string(r.DecodeString())
	}
	yyj2996++
	if yyhl2996 {
		yyb2996 = yyj2996 > l
	} else {
		yyb2996 = r.CheckBreak()
	}
	if yyb2996 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ExternalID = ""
	} else {
		x.ExternalID = string(r.DecodeString())
	}
	yyj2996++
	if yyhl2996 {
		yyb2996 = yyj2996 > l
	} else {
		yyb2996 = r.CheckBreak()
	}
	if yyb2996 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ProviderID = ""
	} else {
		x.ProviderID = string(r.DecodeString())
	}
	yyj2996++
	if yyhl2996 {
		yyb2996 = yyj2996 > l
	} else {
		yyb2996 = r.CheckBreak()
	}
	if yyb2996 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Unschedulable = false
	} else {
		x.Unschedulable = bool(r.DecodeBool())
	}
	for {
		yyj2996++
		if yyhl2996 {
			yyb2996 = yyj2996 > l
		} else {
			yyb2996 = r.CheckBreak()
		}
		if yyb2996 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj2996-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DaemonEndpoint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3001 := z.EncBinary()
		_ = yym3001
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3002 := !z.EncBinary()
			yy2arr3002 := z.EncBasicHandle().StructToArray
			var yyq3002 [1]bool
			_, _, _ = yysep3002, yyq3002, yy2arr3002
			const yyr3002 bool = false
			var yynn3002 int
			if yyr3002 || yy2arr3002 {
				r.EncodeArrayStart(1)
			} else {
				yynn3002 = 1
				for _, b := range yyq3002 {
					if b {
						yynn3002++
					}
				}
				r.EncodeMapStart(yynn3002)
				yynn3002 = 0
			}
			if yyr3002 || yy2arr3002 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3004 := z.EncBinary()
				_ = yym3004
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3005 := z.EncBinary()
				_ = yym3005
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr3002 || yy2arr3002 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DaemonEndpoint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3006 := z.DecBinary()
	_ = yym3006
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3007 := r.ContainerType()
		if yyct3007 == codecSelferValueTypeMap1234 {
			yyl3007 := r.ReadMapStart()
			if yyl3007 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3007, d)
			}
		} else if yyct3007 == codecSelferValueTypeArray1234 {
			yyl3007 := r.ReadArrayStart()
			if yyl3007 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3007, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3008Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3008Slc
	var yyhl3008 bool = l >= 0
	for yyj3008 := 0; ; yyj3008++ {
		if yyhl3008 {
			if yyj3008 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3008Slc = r.DecodeBytes(yys3008Slc, true, true)
		yys3008 := string(yys3008Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3008 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int32(r.DecodeInt(32))
			}
		default:
			z.DecStructFieldNotFound(-1, yys3008)
		} // end switch yys3008
	} // end for yyj3008
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DaemonEndpoint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3010 int
	var yyb3010 bool
	var yyhl3010 bool = l >= 0
	yyj3010++
	if yyhl3010 {
		yyb3010 = yyj3010 > l
	} else {
		yyb3010 = r.CheckBreak()
	}
	if yyb3010 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int32(r.DecodeInt(32))
	}
	for {
		yyj3010++
		if yyhl3010 {
			yyb3010 = yyj3010 > l
		} else {
			yyb3010 = r.CheckBreak()
		}
		if yyb3010 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3010-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeDaemonEndpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3012 := z.EncBinary()
		_ = yym3012
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3013 := !z.EncBinary()
			yy2arr3013 := z.EncBasicHandle().StructToArray
			var yyq3013 [1]bool
			_, _, _ = yysep3013, yyq3013, yy2arr3013
			const yyr3013 bool = false
			yyq3013[0] = true
			var yynn3013 int
			if yyr3013 || yy2arr3013 {
				r.EncodeArrayStart(1)
			} else {
				yynn3013 = 0
				for _, b := range yyq3013 {
					if b {
						yynn3013++
					}
				}
				r.EncodeMapStart(yynn3013)
				yynn3013 = 0
			}
			if yyr3013 || yy2arr3013 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3013[0] {
					yy3015 := &x.KubeletEndpoint
					yy3015.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3013[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3016 := &x.KubeletEndpoint
					yy3016.CodecEncodeSelf(e)
				}
			}
			if yyr3013 || yy2arr3013 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeDaemonEndpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3017 := z.DecBinary()
	_ = yym3017
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3018 := r.ContainerType()
		if yyct3018 == codecSelferValueTypeMap1234 {
			yyl3018 := r.ReadMapStart()
			if yyl3018 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3018, d)
			}
		} else if yyct3018 == codecSelferValueTypeArray1234 {
			yyl3018 := r.ReadArrayStart()
			if yyl3018 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3018, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3019Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3019Slc
	var yyhl3019 bool = l >= 0
	for yyj3019 := 0; ; yyj3019++ {
		if yyhl3019 {
			if yyj3019 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3019Slc = r.DecodeBytes(yys3019Slc, true, true)
		yys3019 := string(yys3019Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3019 {
		case "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv3020 := &x.KubeletEndpoint
				yyv3020.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3019)
		} // end switch yys3019
	} // end for yyj3019
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3021 int
	var yyb3021 bool
	var yyhl3021 bool = l >= 0
	yyj3021++
	if yyhl3021 {
		yyb3021 = yyj3021 > l
	} else {
		yyb3021 = r.CheckBreak()
	}
	if yyb3021 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv3022 := &x.KubeletEndpoint
		yyv3022.CodecDecodeSelf(d)
	}
	for {
		yyj3021++
		if yyhl3021 {
			yyb3021 = yyj3021 > l
		} else {
			yyb3021 = r.CheckBreak()
		}
		if yyb3021 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3021-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3023 := z.EncBinary()
		_ = yym3023
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3024 := !z.EncBinary()
			yy2arr3024 := z.EncBasicHandle().StructToArray
			var yyq3024 [10]bool
			_, _, _ = yysep3024, yyq3024, yy2arr3024
			const yyr3024 bool = false
			var yynn3024 int
			if yyr3024 || yy2arr3024 {
				r.EncodeArrayStart(10)
			} else {
				yynn3024 = 10
				for _, b := range yyq3024 {
					if b {
						yynn3024++
					}
				}
				r.EncodeMapStart(yynn3024)
				yynn3024 = 0
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3026 := z.EncBinary()
				_ = yym3026
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("machineID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3027 := z.EncBinary()
				_ = yym3027
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3029 := z.EncBinary()
				_ = yym3029
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("systemUUID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3030 := z.EncBinary()
				_ = yym3030
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3032 := z.EncBinary()
				_ = yym3032
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("bootID"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3033 := z.EncBinary()
				_ = yym3033
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3035 := z.EncBinary()
				_ = yym3035
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kernelVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3036 := z.EncBinary()
				_ = yym3036
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3038 := z.EncBinary()
				_ = yym3038
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("osImage"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3039 := z.EncBinary()
				_ = yym3039
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OSImage))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3041 := z.EncBinary()
				_ = yym3041
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("containerRuntimeVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3042 := z.EncBinary()
				_ = yym3042
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3044 := z.EncBinary()
				_ = yym3044
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kubeletVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3045 := z.EncBinary()
				_ = yym3045
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3047 := z.EncBinary()
				_ = yym3047
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kubeProxyVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3048 := z.EncBinary()
				_ = yym3048
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3050 := z.EncBinary()
				_ = yym3050
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("operatingSystem"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3051 := z.EncBinary()
				_ = yym3051
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OperatingSystem))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3053 := z.EncBinary()
				_ = yym3053
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("architecture"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3054 := z.EncBinary()
				_ = yym3054
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Architecture))
				}
			}
			if yyr3024 || yy2arr3024 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeSystemInfo) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3055 := z.DecBinary()
	_ = yym3055
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3056 := r.ContainerType()
		if yyct3056 == codecSelferValueTypeMap1234 {
			yyl3056 := r.ReadMapStart()
			if yyl3056 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3056, d)
			}
		} else if yyct3056 == codecSelferValueTypeArray1234 {
			yyl3056 := r.ReadArrayStart()
			if yyl3056 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3056, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeSystemInfo) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3057Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3057Slc
	var yyhl3057 bool = l >= 0
	for yyj3057 := 0; ; yyj3057++ {
		if yyhl3057 {
			if yyj3057 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3057Slc = r.DecodeBytes(yys3057Slc, true, true)
		yys3057 := string(yys3057Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3057 {
		case "machineID":
			if r.TryDecodeAsNil() {
				x.MachineID = ""
			} else {
				x.MachineID = string(r.DecodeString())
			}
		case "systemUUID":
			if r.TryDecodeAsNil() {
				x.SystemUUID = ""
			} else {
				x.SystemUUID = string(r.DecodeString())
			}
		case "bootID":
			if r.TryDecodeAsNil() {
				x.BootID = ""
			} else {
				x.BootID = string(r.DecodeString())
			}
		case "kernelVersion":
			if r.TryDecodeAsNil() {
				x.KernelVersion = ""
			} else {
				x.KernelVersion = string(r.DecodeString())
			}
		case "osImage":
			if r.TryDecodeAsNil() {
				x.OSImage = ""
			} else {
				x.OSImage = string(r.DecodeString())
			}
		case "containerRuntimeVersion":
			if r.TryDecodeAsNil() {
				x.ContainerRuntimeVersion = ""
			} else {
				x.ContainerRuntimeVersion = string(r.DecodeString())
			}
		case "kubeletVersion":
			if r.TryDecodeAsNil() {
				x.KubeletVersion = ""
			} else {
				x.KubeletVersion = string(r.DecodeString())
			}
		case "kubeProxyVersion":
			if r.TryDecodeAsNil() {
				x.KubeProxyVersion = ""
			} else {
				x.KubeProxyVersion = string(r.DecodeString())
			}
		case "operatingSystem":
			if r.TryDecodeAsNil() {
				x.OperatingSystem = ""
			} else {
				x.OperatingSystem = string(r.DecodeString())
			}
		case "architecture":
			if r.TryDecodeAsNil() {
				x.Architecture = ""
			} else {
				x.Architecture = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3057)
		} // end switch yys3057
	} // end for yyj3057
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3068 int
	var yyb3068 bool
	var yyhl3068 bool = l >= 0
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OSImage = ""
	} else {
		x.OSImage = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.OperatingSystem = ""
	} else {
		x.OperatingSystem = string(r.DecodeString())
	}
	yyj3068++
	if yyhl3068 {
		yyb3068 = yyj3068 > l
	} else {
		yyb3068 = r.CheckBreak()
	}
	if yyb3068 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Architecture = ""
	} else {
		x.Architecture = string(r.DecodeString())
	}
	for {
		yyj3068++
		if yyhl3068 {
			yyb3068 = yyj3068 > l
		} else {
			yyb3068 = r.CheckBreak()
		}
		if yyb3068 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3068-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3079 := z.EncBinary()
		_ = yym3079
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3080 := !z.EncBinary()
			yy2arr3080 := z.EncBasicHandle().StructToArray
			var yyq3080 [10]bool
			_, _, _ = yysep3080, yyq3080, yy2arr3080
			const yyr3080 bool = false
			yyq3080[0] = len(x.Capacity) != 0
			yyq3080[1] = len(x.Allocatable) != 0
			yyq3080[2] = x.Phase != ""
			yyq3080[3] = len(x.Conditions) != 0
			yyq3080[4] = len(x.Addresses) != 0
			yyq3080[5] = true
			yyq3080[6] = true
			yyq3080[7] = len(x.Images) != 0
			yyq3080[8] = len(x.VolumesInUse) != 0
			yyq3080[9] = len(x.VolumesAttached) != 0
			var yynn3080 int
			if yyr3080 || yy2arr3080 {
				r.EncodeArrayStart(10)
			} else {
				yynn3080 = 0
				for _, b := range yyq3080 {
					if b {
						yynn3080++
					}
				}
				r.EncodeMapStart(yynn3080)
				yynn3080 = 0
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[1] {
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("allocatable"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Allocatable == nil {
						r.EncodeNil()
					} else {
						x.Allocatable.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[2] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3080[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3085 := z.EncBinary()
						_ = yym3085
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3086 := z.EncBinary()
						_ = yym3086
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[4] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym3088 := z.EncBinary()
						_ = yym3088
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym3089 := z.EncBinary()
						_ = yym3089
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[5] {
					yy3091 := &x.DaemonEndpoints
					yy3091.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3092 := &x.DaemonEndpoints
					yy3092.CodecEncodeSelf(e)
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[6] {
					yy3094 := &x.NodeInfo
					yy3094.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3095 := &x.NodeInfo
					yy3095.CodecEncodeSelf(e)
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[7] {
					if x.Images == nil {
						r.EncodeNil()
					} else {
						yym3097 := z.EncBinary()
						_ = yym3097
						if false {
						} else {
							h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("images"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Images == nil {
						r.EncodeNil()
					} else {
						yym3098 := z.EncBinary()
						_ = yym3098
						if false {
						} else {
							h.encSliceContainerImage(([]ContainerImage)(x.Images), e)
						}
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[8] {
					if x.VolumesInUse == nil {
						r.EncodeNil()
					} else {
						yym3100 := z.EncBinary()
						_ = yym3100
						if false {
						} else {
							h.encSliceUniqueVolumeName(([]UniqueVolumeName)(x.VolumesInUse), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumesInUse"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumesInUse == nil {
						r.EncodeNil()
					} else {
						yym3101 := z.EncBinary()
						_ = yym3101
						if false {
						} else {
							h.encSliceUniqueVolumeName(([]UniqueVolumeName)(x.VolumesInUse), e)
						}
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3080[9] {
					if x.VolumesAttached == nil {
						r.EncodeNil()
					} else {
						yym3103 := z.EncBinary()
						_ = yym3103
						if false {
						} else {
							h.encSliceAttachedVolume(([]AttachedVolume)(x.VolumesAttached), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3080[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("volumesAttached"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.VolumesAttached == nil {
						r.EncodeNil()
					} else {
						yym3104 := z.EncBinary()
						_ = yym3104
						if false {
						} else {
							h.encSliceAttachedVolume(([]AttachedVolume)(x.VolumesAttached), e)
						}
					}
				}
			}
			if yyr3080 || yy2arr3080 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3105 := z.DecBinary()
	_ = yym3105
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3106 := r.ContainerType()
		if yyct3106 == codecSelferValueTypeMap1234 {
			yyl3106 := r.ReadMapStart()
			if yyl3106 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3106, d)
			}
		} else if yyct3106 == codecSelferValueTypeArray1234 {
			yyl3106 := r.ReadArrayStart()
			if yyl3106 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3106, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3107Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3107Slc
	var yyhl3107 bool = l >= 0
	for yyj3107 := 0; ; yyj3107++ {
		if yyhl3107 {
			if yyj3107 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3107Slc = r.DecodeBytes(yys3107Slc, true, true)
		yys3107 := string(yys3107Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3107 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv3108 := &x.Capacity
				yyv3108.CodecDecodeSelf(d)
			}
		case "allocatable":
			if r.TryDecodeAsNil() {
				x.Allocatable = nil
			} else {
				yyv3109 := &x.Allocatable
				yyv3109.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3111 := &x.Conditions
				yym3112 := z.DecBinary()
				_ = yym3112
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv3111), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv3113 := &x.Addresses
				yym3114 := z.DecBinary()
				_ = yym3114
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv3113), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv3115 := &x.DaemonEndpoints
				yyv3115.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv3116 := &x.NodeInfo
				yyv3116.CodecDecodeSelf(d)
			}
		case "images":
			if r.TryDecodeAsNil() {
				x.Images = nil
			} else {
				yyv3117 := &x.Images
				yym3118 := z.DecBinary()
				_ = yym3118
				if false {
				} else {
					h.decSliceContainerImage((*[]ContainerImage)(yyv3117), d)
				}
			}
		case "volumesInUse":
			if r.TryDecodeAsNil() {
				x.VolumesInUse = nil
			} else {
				yyv3119 := &x.VolumesInUse
				yym3120 := z.DecBinary()
				_ = yym3120
				if false {
				} else {
					h.decSliceUniqueVolumeName((*[]UniqueVolumeName)(yyv3119), d)
				}
			}
		case "volumesAttached":
			if r.TryDecodeAsNil() {
				x.VolumesAttached = nil
			} else {
				yyv3121 := &x.VolumesAttached
				yym3122 := z.DecBinary()
				_ = yym3122
				if false {
				} else {
					h.decSliceAttachedVolume((*[]AttachedVolume)(yyv3121), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3107)
		} // end switch yys3107
	} // end for yyj3107
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3123 int
	var yyb3123 bool
	var yyhl3123 bool = l >= 0
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv3124 := &x.Capacity
		yyv3124.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Allocatable = nil
	} else {
		yyv3125 := &x.Allocatable
		yyv3125.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3127 := &x.Conditions
		yym3128 := z.DecBinary()
		_ = yym3128
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv3127), d)
		}
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv3129 := &x.Addresses
		yym3130 := z.DecBinary()
		_ = yym3130
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv3129), d)
		}
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv3131 := &x.DaemonEndpoints
		yyv3131.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv3132 := &x.NodeInfo
		yyv3132.CodecDecodeSelf(d)
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Images = nil
	} else {
		yyv3133 := &x.Images
		yym3134 := z.DecBinary()
		_ = yym3134
		if false {
		} else {
			h.decSliceContainerImage((*[]ContainerImage)(yyv3133), d)
		}
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumesInUse = nil
	} else {
		yyv3135 := &x.VolumesInUse
		yym3136 := z.DecBinary()
		_ = yym3136
		if false {
		} else {
			h.decSliceUniqueVolumeName((*[]UniqueVolumeName)(yyv3135), d)
		}
	}
	yyj3123++
	if yyhl3123 {
		yyb3123 = yyj3123 > l
	} else {
		yyb3123 = r.CheckBreak()
	}
	if yyb3123 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.VolumesAttached = nil
	} else {
		yyv3137 := &x.VolumesAttached
		yym3138 := z.DecBinary()
		_ = yym3138
		if false {
		} else {
			h.decSliceAttachedVolume((*[]AttachedVolume)(yyv3137), d)
		}
	}
	for {
		yyj3123++
		if yyhl3123 {
			yyb3123 = yyj3123 > l
		} else {
			yyb3123 = r.CheckBreak()
		}
		if yyb3123 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3123-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x UniqueVolumeName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3139 := z.EncBinary()
	_ = yym3139
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *UniqueVolumeName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3140 := z.DecBinary()
	_ = yym3140
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *AttachedVolume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3141 := z.EncBinary()
		_ = yym3141
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3142 := !z.EncBinary()
			yy2arr3142 := z.EncBasicHandle().StructToArray
			var yyq3142 [2]bool
			_, _, _ = yysep3142, yyq3142, yy2arr3142
			const yyr3142 bool = false
			var yynn3142 int
			if yyr3142 || yy2arr3142 {
				r.EncodeArrayStart(2)
			} else {
				yynn3142 = 2
				for _, b := range yyq3142 {
					if b {
						yynn3142++
					}
				}
				r.EncodeMapStart(yynn3142)
				yynn3142 = 0
			}
			if yyr3142 || yy2arr3142 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Name.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Name.CodecEncodeSelf(e)
			}
			if yyr3142 || yy2arr3142 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3145 := z.EncBinary()
				_ = yym3145
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DevicePath))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("devicePath"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3146 := z.EncBinary()
				_ = yym3146
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DevicePath))
				}
			}
			if yyr3142 || yy2arr3142 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AttachedVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3147 := z.DecBinary()
	_ = yym3147
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3148 := r.ContainerType()
		if yyct3148 == codecSelferValueTypeMap1234 {
			yyl3148 := r.ReadMapStart()
			if yyl3148 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3148, d)
			}
		} else if yyct3148 == codecSelferValueTypeArray1234 {
			yyl3148 := r.ReadArrayStart()
			if yyl3148 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3148, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AttachedVolume) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3149Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3149Slc
	var yyhl3149 bool = l >= 0
	for yyj3149 := 0; ; yyj3149++ {
		if yyhl3149 {
			if yyj3149 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3149Slc = r.DecodeBytes(yys3149Slc, true, true)
		yys3149 := string(yys3149Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3149 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = UniqueVolumeName(r.DecodeString())
			}
		case "devicePath":
			if r.TryDecodeAsNil() {
				x.DevicePath = ""
			} else {
				x.DevicePath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3149)
		} // end switch yys3149
	} // end for yyj3149
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AttachedVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3152 int
	var yyb3152 bool
	var yyhl3152 bool = l >= 0
	yyj3152++
	if yyhl3152 {
		yyb3152 = yyj3152 > l
	} else {
		yyb3152 = r.CheckBreak()
	}
	if yyb3152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = UniqueVolumeName(r.DecodeString())
	}
	yyj3152++
	if yyhl3152 {
		yyb3152 = yyj3152 > l
	} else {
		yyb3152 = r.CheckBreak()
	}
	if yyb3152 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DevicePath = ""
	} else {
		x.DevicePath = string(r.DecodeString())
	}
	for {
		yyj3152++
		if yyhl3152 {
			yyb3152 = yyj3152 > l
		} else {
			yyb3152 = r.CheckBreak()
		}
		if yyb3152 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3152-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *AvoidPods) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3155 := z.EncBinary()
		_ = yym3155
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3156 := !z.EncBinary()
			yy2arr3156 := z.EncBasicHandle().StructToArray
			var yyq3156 [1]bool
			_, _, _ = yysep3156, yyq3156, yy2arr3156
			const yyr3156 bool = false
			yyq3156[0] = len(x.PreferAvoidPods) != 0
			var yynn3156 int
			if yyr3156 || yy2arr3156 {
				r.EncodeArrayStart(1)
			} else {
				yynn3156 = 0
				for _, b := range yyq3156 {
					if b {
						yynn3156++
					}
				}
				r.EncodeMapStart(yynn3156)
				yynn3156 = 0
			}
			if yyr3156 || yy2arr3156 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3156[0] {
					if x.PreferAvoidPods == nil {
						r.EncodeNil()
					} else {
						yym3158 := z.EncBinary()
						_ = yym3158
						if false {
						} else {
							h.encSlicePreferAvoidPodsEntry(([]PreferAvoidPodsEntry)(x.PreferAvoidPods), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3156[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preferAvoidPods"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PreferAvoidPods == nil {
						r.EncodeNil()
					} else {
						yym3159 := z.EncBinary()
						_ = yym3159
						if false {
						} else {
							h.encSlicePreferAvoidPodsEntry(([]PreferAvoidPodsEntry)(x.PreferAvoidPods), e)
						}
					}
				}
			}
			if yyr3156 || yy2arr3156 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *AvoidPods) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3160 := z.DecBinary()
	_ = yym3160
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3161 := r.ContainerType()
		if yyct3161 == codecSelferValueTypeMap1234 {
			yyl3161 := r.ReadMapStart()
			if yyl3161 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3161, d)
			}
		} else if yyct3161 == codecSelferValueTypeArray1234 {
			yyl3161 := r.ReadArrayStart()
			if yyl3161 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3161, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *AvoidPods) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3162Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3162Slc
	var yyhl3162 bool = l >= 0
	for yyj3162 := 0; ; yyj3162++ {
		if yyhl3162 {
			if yyj3162 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3162Slc = r.DecodeBytes(yys3162Slc, true, true)
		yys3162 := string(yys3162Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3162 {
		case "preferAvoidPods":
			if r.TryDecodeAsNil() {
				x.PreferAvoidPods = nil
			} else {
				yyv3163 := &x.PreferAvoidPods
				yym3164 := z.DecBinary()
				_ = yym3164
				if false {
				} else {
					h.decSlicePreferAvoidPodsEntry((*[]PreferAvoidPodsEntry)(yyv3163), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3162)
		} // end switch yys3162
	} // end for yyj3162
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *AvoidPods) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3165 int
	var yyb3165 bool
	var yyhl3165 bool = l >= 0
	yyj3165++
	if yyhl3165 {
		yyb3165 = yyj3165 > l
	} else {
		yyb3165 = r.CheckBreak()
	}
	if yyb3165 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PreferAvoidPods = nil
	} else {
		yyv3166 := &x.PreferAvoidPods
		yym3167 := z.DecBinary()
		_ = yym3167
		if false {
		} else {
			h.decSlicePreferAvoidPodsEntry((*[]PreferAvoidPodsEntry)(yyv3166), d)
		}
	}
	for {
		yyj3165++
		if yyhl3165 {
			yyb3165 = yyj3165 > l
		} else {
			yyb3165 = r.CheckBreak()
		}
		if yyb3165 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3165-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PreferAvoidPodsEntry) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3168 := z.EncBinary()
		_ = yym3168
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3169 := !z.EncBinary()
			yy2arr3169 := z.EncBasicHandle().StructToArray
			var yyq3169 [4]bool
			_, _, _ = yysep3169, yyq3169, yy2arr3169
			const yyr3169 bool = false
			yyq3169[1] = true
			yyq3169[2] = x.Reason != ""
			yyq3169[3] = x.Message != ""
			var yynn3169 int
			if yyr3169 || yy2arr3169 {
				r.EncodeArrayStart(4)
			} else {
				yynn3169 = 1
				for _, b := range yyq3169 {
					if b {
						yynn3169++
					}
				}
				r.EncodeMapStart(yynn3169)
				yynn3169 = 0
			}
			if yyr3169 || yy2arr3169 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3171 := &x.PodSignature
				yy3171.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("podSignature"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3172 := &x.PodSignature
				yy3172.CodecEncodeSelf(e)
			}
			if yyr3169 || yy2arr3169 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3169[1] {
					yy3174 := &x.EvictionTime
					yym3175 := z.EncBinary()
					_ = yym3175
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3174) {
					} else if yym3175 {
						z.EncBinaryMarshal(yy3174)
					} else if !yym3175 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3174)
					} else {
						z.EncFallback(yy3174)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3169[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("evictionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3176 := &x.EvictionTime
					yym3177 := z.EncBinary()
					_ = yym3177
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3176) {
					} else if yym3177 {
						z.EncBinaryMarshal(yy3176)
					} else if !yym3177 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3176)
					} else {
						z.EncFallback(yy3176)
					}
				}
			}
			if yyr3169 || yy2arr3169 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3169[2] {
					yym3179 := z.EncBinary()
					_ = yym3179
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3169[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3180 := z.EncBinary()
					_ = yym3180
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3169 || yy2arr3169 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3169[3] {
					yym3182 := z.EncBinary()
					_ = yym3182
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3169[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3183 := z.EncBinary()
					_ = yym3183
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3169 || yy2arr3169 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PreferAvoidPodsEntry) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3184 := z.DecBinary()
	_ = yym3184
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3185 := r.ContainerType()
		if yyct3185 == codecSelferValueTypeMap1234 {
			yyl3185 := r.ReadMapStart()
			if yyl3185 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3185, d)
			}
		} else if yyct3185 == codecSelferValueTypeArray1234 {
			yyl3185 := r.ReadArrayStart()
			if yyl3185 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3185, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PreferAvoidPodsEntry) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3186Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3186Slc
	var yyhl3186 bool = l >= 0
	for yyj3186 := 0; ; yyj3186++ {
		if yyhl3186 {
			if yyj3186 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3186Slc = r.DecodeBytes(yys3186Slc, true, true)
		yys3186 := string(yys3186Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3186 {
		case "podSignature":
			if r.TryDecodeAsNil() {
				x.PodSignature = PodSignature{}
			} else {
				yyv3187 := &x.PodSignature
				yyv3187.CodecDecodeSelf(d)
			}
		case "evictionTime":
			if r.TryDecodeAsNil() {
				x.EvictionTime = pkg2_unversioned.Time{}
			} else {
				yyv3188 := &x.EvictionTime
				yym3189 := z.DecBinary()
				_ = yym3189
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3188) {
				} else if yym3189 {
					z.DecBinaryUnmarshal(yyv3188)
				} else if !yym3189 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3188)
				} else {
					z.DecFallback(yyv3188, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3186)
		} // end switch yys3186
	} // end for yyj3186
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PreferAvoidPodsEntry) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3192 int
	var yyb3192 bool
	var yyhl3192 bool = l >= 0
	yyj3192++
	if yyhl3192 {
		yyb3192 = yyj3192 > l
	} else {
		yyb3192 = r.CheckBreak()
	}
	if yyb3192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.PodSignature = PodSignature{}
	} else {
		yyv3193 := &x.PodSignature
		yyv3193.CodecDecodeSelf(d)
	}
	yyj3192++
	if yyhl3192 {
		yyb3192 = yyj3192 > l
	} else {
		yyb3192 = r.CheckBreak()
	}
	if yyb3192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.EvictionTime = pkg2_unversioned.Time{}
	} else {
		yyv3194 := &x.EvictionTime
		yym3195 := z.DecBinary()
		_ = yym3195
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3194) {
		} else if yym3195 {
			z.DecBinaryUnmarshal(yyv3194)
		} else if !yym3195 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3194)
		} else {
			z.DecFallback(yyv3194, false)
		}
	}
	yyj3192++
	if yyhl3192 {
		yyb3192 = yyj3192 > l
	} else {
		yyb3192 = r.CheckBreak()
	}
	if yyb3192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3192++
	if yyhl3192 {
		yyb3192 = yyj3192 > l
	} else {
		yyb3192 = r.CheckBreak()
	}
	if yyb3192 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj3192++
		if yyhl3192 {
			yyb3192 = yyj3192 > l
		} else {
			yyb3192 = r.CheckBreak()
		}
		if yyb3192 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3192-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodSignature) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3198 := z.EncBinary()
		_ = yym3198
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3199 := !z.EncBinary()
			yy2arr3199 := z.EncBasicHandle().StructToArray
			var yyq3199 [1]bool
			_, _, _ = yysep3199, yyq3199, yy2arr3199
			const yyr3199 bool = false
			yyq3199[0] = x.PodController != nil
			var yynn3199 int
			if yyr3199 || yy2arr3199 {
				r.EncodeArrayStart(1)
			} else {
				yynn3199 = 0
				for _, b := range yyq3199 {
					if b {
						yynn3199++
					}
				}
				r.EncodeMapStart(yynn3199)
				yynn3199 = 0
			}
			if yyr3199 || yy2arr3199 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3199[0] {
					if x.PodController == nil {
						r.EncodeNil()
					} else {
						x.PodController.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3199[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("podController"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.PodController == nil {
						r.EncodeNil()
					} else {
						x.PodController.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3199 || yy2arr3199 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodSignature) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3201 := z.DecBinary()
	_ = yym3201
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3202 := r.ContainerType()
		if yyct3202 == codecSelferValueTypeMap1234 {
			yyl3202 := r.ReadMapStart()
			if yyl3202 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3202, d)
			}
		} else if yyct3202 == codecSelferValueTypeArray1234 {
			yyl3202 := r.ReadArrayStart()
			if yyl3202 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3202, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodSignature) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3203Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3203Slc
	var yyhl3203 bool = l >= 0
	for yyj3203 := 0; ; yyj3203++ {
		if yyhl3203 {
			if yyj3203 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3203Slc = r.DecodeBytes(yys3203Slc, true, true)
		yys3203 := string(yys3203Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3203 {
		case "podController":
			if r.TryDecodeAsNil() {
				if x.PodController != nil {
					x.PodController = nil
				}
			} else {
				if x.PodController == nil {
					x.PodController = new(OwnerReference)
				}
				x.PodController.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3203)
		} // end switch yys3203
	} // end for yyj3203
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodSignature) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3205 int
	var yyb3205 bool
	var yyhl3205 bool = l >= 0
	yyj3205++
	if yyhl3205 {
		yyb3205 = yyj3205 > l
	} else {
		yyb3205 = r.CheckBreak()
	}
	if yyb3205 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.PodController != nil {
			x.PodController = nil
		}
	} else {
		if x.PodController == nil {
			x.PodController = new(OwnerReference)
		}
		x.PodController.CodecDecodeSelf(d)
	}
	for {
		yyj3205++
		if yyhl3205 {
			yyb3205 = yyj3205 > l
		} else {
			yyb3205 = r.CheckBreak()
		}
		if yyb3205 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3205-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ContainerImage) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3207 := z.EncBinary()
		_ = yym3207
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3208 := !z.EncBinary()
			yy2arr3208 := z.EncBasicHandle().StructToArray
			var yyq3208 [2]bool
			_, _, _ = yysep3208, yyq3208, yy2arr3208
			const yyr3208 bool = false
			yyq3208[1] = x.SizeBytes != 0
			var yynn3208 int
			if yyr3208 || yy2arr3208 {
				r.EncodeArrayStart(2)
			} else {
				yynn3208 = 1
				for _, b := range yyq3208 {
					if b {
						yynn3208++
					}
				}
				r.EncodeMapStart(yynn3208)
				yynn3208 = 0
			}
			if yyr3208 || yy2arr3208 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Names == nil {
					r.EncodeNil()
				} else {
					yym3210 := z.EncBinary()
					_ = yym3210
					if false {
					} else {
						z.F.EncSliceStringV(x.Names, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("names"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Names == nil {
					r.EncodeNil()
				} else {
					yym3211 := z.EncBinary()
					_ = yym3211
					if false {
					} else {
						z.F.EncSliceStringV(x.Names, false, e)
					}
				}
			}
			if yyr3208 || yy2arr3208 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3208[1] {
					yym3213 := z.EncBinary()
					_ = yym3213
					if false {
					} else {
						r.EncodeInt(int64(x.SizeBytes))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3208[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("sizeBytes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3214 := z.EncBinary()
					_ = yym3214
					if false {
					} else {
						r.EncodeInt(int64(x.SizeBytes))
					}
				}
			}
			if yyr3208 || yy2arr3208 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ContainerImage) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3215 := z.DecBinary()
	_ = yym3215
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3216 := r.ContainerType()
		if yyct3216 == codecSelferValueTypeMap1234 {
			yyl3216 := r.ReadMapStart()
			if yyl3216 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3216, d)
			}
		} else if yyct3216 == codecSelferValueTypeArray1234 {
			yyl3216 := r.ReadArrayStart()
			if yyl3216 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3216, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ContainerImage) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3217Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3217Slc
	var yyhl3217 bool = l >= 0
	for yyj3217 := 0; ; yyj3217++ {
		if yyhl3217 {
			if yyj3217 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3217Slc = r.DecodeBytes(yys3217Slc, true, true)
		yys3217 := string(yys3217Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3217 {
		case "names":
			if r.TryDecodeAsNil() {
				x.Names = nil
			} else {
				yyv3218 := &x.Names
				yym3219 := z.DecBinary()
				_ = yym3219
				if false {
				} else {
					z.F.DecSliceStringX(yyv3218, false, d)
				}
			}
		case "sizeBytes":
			if r.TryDecodeAsNil() {
				x.SizeBytes = 0
			} else {
				x.SizeBytes = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys3217)
		} // end switch yys3217
	} // end for yyj3217
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ContainerImage) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3221 int
	var yyb3221 bool
	var yyhl3221 bool = l >= 0
	yyj3221++
	if yyhl3221 {
		yyb3221 = yyj3221 > l
	} else {
		yyb3221 = r.CheckBreak()
	}
	if yyb3221 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Names = nil
	} else {
		yyv3222 := &x.Names
		yym3223 := z.DecBinary()
		_ = yym3223
		if false {
		} else {
			z.F.DecSliceStringX(yyv3222, false, d)
		}
	}
	yyj3221++
	if yyhl3221 {
		yyb3221 = yyj3221 > l
	} else {
		yyb3221 = r.CheckBreak()
	}
	if yyb3221 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.SizeBytes = 0
	} else {
		x.SizeBytes = int64(r.DecodeInt(64))
	}
	for {
		yyj3221++
		if yyhl3221 {
			yyb3221 = yyj3221 > l
		} else {
			yyb3221 = r.CheckBreak()
		}
		if yyb3221 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3221-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3225 := z.EncBinary()
	_ = yym3225
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3226 := z.DecBinary()
	_ = yym3226
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x NodeConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3227 := z.EncBinary()
	_ = yym3227
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3228 := z.DecBinary()
	_ = yym3228
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3229 := z.EncBinary()
		_ = yym3229
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3230 := !z.EncBinary()
			yy2arr3230 := z.EncBasicHandle().StructToArray
			var yyq3230 [6]bool
			_, _, _ = yysep3230, yyq3230, yy2arr3230
			const yyr3230 bool = false
			yyq3230[2] = true
			yyq3230[3] = true
			yyq3230[4] = x.Reason != ""
			yyq3230[5] = x.Message != ""
			var yynn3230 int
			if yyr3230 || yy2arr3230 {
				r.EncodeArrayStart(6)
			} else {
				yynn3230 = 2
				for _, b := range yyq3230 {
					if b {
						yynn3230++
					}
				}
				r.EncodeMapStart(yynn3230)
				yynn3230 = 0
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3230[2] {
					yy3234 := &x.LastHeartbeatTime
					yym3235 := z.EncBinary()
					_ = yym3235
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3234) {
					} else if yym3235 {
						z.EncBinaryMarshal(yy3234)
					} else if !yym3235 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3234)
					} else {
						z.EncFallback(yy3234)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3230[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3236 := &x.LastHeartbeatTime
					yym3237 := z.EncBinary()
					_ = yym3237
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3236) {
					} else if yym3237 {
						z.EncBinaryMarshal(yy3236)
					} else if !yym3237 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3236)
					} else {
						z.EncFallback(yy3236)
					}
				}
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3230[3] {
					yy3239 := &x.LastTransitionTime
					yym3240 := z.EncBinary()
					_ = yym3240
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3239) {
					} else if yym3240 {
						z.EncBinaryMarshal(yy3239)
					} else if !yym3240 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3239)
					} else {
						z.EncFallback(yy3239)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3230[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3241 := &x.LastTransitionTime
					yym3242 := z.EncBinary()
					_ = yym3242
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3241) {
					} else if yym3242 {
						z.EncBinaryMarshal(yy3241)
					} else if !yym3242 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3241)
					} else {
						z.EncFallback(yy3241)
					}
				}
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3230[4] {
					yym3244 := z.EncBinary()
					_ = yym3244
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3230[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3245 := z.EncBinary()
					_ = yym3245
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3230[5] {
					yym3247 := z.EncBinary()
					_ = yym3247
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3230[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3248 := z.EncBinary()
					_ = yym3248
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3230 || yy2arr3230 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3249 := z.DecBinary()
	_ = yym3249
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3250 := r.ContainerType()
		if yyct3250 == codecSelferValueTypeMap1234 {
			yyl3250 := r.ReadMapStart()
			if yyl3250 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3250, d)
			}
		} else if yyct3250 == codecSelferValueTypeArray1234 {
			yyl3250 := r.ReadArrayStart()
			if yyl3250 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3250, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3251Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3251Slc
	var yyhl3251 bool = l >= 0
	for yyj3251 := 0; ; yyj3251++ {
		if yyhl3251 {
			if yyj3251 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3251Slc = r.DecodeBytes(yys3251Slc, true, true)
		yys3251 := string(yys3251Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3251 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "lastHeartbeatTime":
			if r.TryDecodeAsNil() {
				x.LastHeartbeatTime = pkg2_unversioned.Time{}
			} else {
				yyv3254 := &x.LastHeartbeatTime
				yym3255 := z.DecBinary()
				_ = yym3255
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3254) {
				} else if yym3255 {
					z.DecBinaryUnmarshal(yyv3254)
				} else if !yym3255 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3254)
				} else {
					z.DecFallback(yyv3254, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv3256 := &x.LastTransitionTime
				yym3257 := z.DecBinary()
				_ = yym3257
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3256) {
				} else if yym3257 {
					z.DecBinaryUnmarshal(yyv3256)
				} else if !yym3257 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3256)
				} else {
					z.DecFallback(yyv3256, false)
				}
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3251)
		} // end switch yys3251
	} // end for yyj3251
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3260 int
	var yyb3260 bool
	var yyhl3260 bool = l >= 0
	yyj3260++
	if yyhl3260 {
		yyb3260 = yyj3260 > l
	} else {
		yyb3260 = r.CheckBreak()
	}
	if yyb3260 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj3260++
	if yyhl3260 {
		yyb3260 = yyj3260 > l
	} else {
		yyb3260 = r.CheckBreak()
	}
	if yyb3260 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj3260++
	if yyhl3260 {
		yyb3260 = yyj3260 > l
	} else {
		yyb3260 = r.CheckBreak()
	}
	if yyb3260 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_unversioned.Time{}
	} else {
		yyv3263 := &x.LastHeartbeatTime
		yym3264 := z.DecBinary()
		_ = yym3264
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3263) {
		} else if yym3264 {
			z.DecBinaryUnmarshal(yyv3263)
		} else if !yym3264 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3263)
		} else {
			z.DecFallback(yyv3263, false)
		}
	}
	yyj3260++
	if yyhl3260 {
		yyb3260 = yyj3260 > l
	} else {
		yyb3260 = r.CheckBreak()
	}
	if yyb3260 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv3265 := &x.LastTransitionTime
		yym3266 := z.DecBinary()
		_ = yym3266
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3265) {
		} else if yym3266 {
			z.DecBinaryUnmarshal(yyv3265)
		} else if !yym3266 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv3265)
		} else {
			z.DecFallback(yyv3265, false)
		}
	}
	yyj3260++
	if yyhl3260 {
		yyb3260 = yyj3260 > l
	} else {
		yyb3260 = r.CheckBreak()
	}
	if yyb3260 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj3260++
	if yyhl3260 {
		yyb3260 = yyj3260 > l
	} else {
		yyb3260 = r.CheckBreak()
	}
	if yyb3260 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj3260++
		if yyhl3260 {
			yyb3260 = yyj3260 > l
		} else {
			yyb3260 = r.CheckBreak()
		}
		if yyb3260 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3260-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3269 := z.EncBinary()
	_ = yym3269
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NodeAddressType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3270 := z.DecBinary()
	_ = yym3270
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NodeAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3271 := z.EncBinary()
		_ = yym3271
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3272 := !z.EncBinary()
			yy2arr3272 := z.EncBasicHandle().StructToArray
			var yyq3272 [2]bool
			_, _, _ = yysep3272, yyq3272, yy2arr3272
			const yyr3272 bool = false
			var yynn3272 int
			if yyr3272 || yy2arr3272 {
				r.EncodeArrayStart(2)
			} else {
				yynn3272 = 2
				for _, b := range yyq3272 {
					if b {
						yynn3272++
					}
				}
				r.EncodeMapStart(yynn3272)
				yynn3272 = 0
			}
			if yyr3272 || yy2arr3272 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3272 || yy2arr3272 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3275 := z.EncBinary()
				_ = yym3275
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("address"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3276 := z.EncBinary()
				_ = yym3276
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yyr3272 || yy2arr3272 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3277 := z.DecBinary()
	_ = yym3277
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3278 := r.ContainerType()
		if yyct3278 == codecSelferValueTypeMap1234 {
			yyl3278 := r.ReadMapStart()
			if yyl3278 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3278, d)
			}
		} else if yyct3278 == codecSelferValueTypeArray1234 {
			yyl3278 := r.ReadArrayStart()
			if yyl3278 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3278, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeAddress) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3279Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3279Slc
	var yyhl3279 bool = l >= 0
	for yyj3279 := 0; ; yyj3279++ {
		if yyhl3279 {
			if yyj3279 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3279Slc = r.DecodeBytes(yys3279Slc, true, true)
		yys3279 := string(yys3279Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3279 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = NodeAddressType(r.DecodeString())
			}
		case "address":
			if r.TryDecodeAsNil() {
				x.Address = ""
			} else {
				x.Address = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3279)
		} // end switch yys3279
	} // end for yyj3279
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3282 int
	var yyb3282 bool
	var yyhl3282 bool = l >= 0
	yyj3282++
	if yyhl3282 {
		yyb3282 = yyj3282 > l
	} else {
		yyb3282 = r.CheckBreak()
	}
	if yyb3282 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeAddressType(r.DecodeString())
	}
	yyj3282++
	if yyhl3282 {
		yyb3282 = yyj3282 > l
	} else {
		yyb3282 = r.CheckBreak()
	}
	if yyb3282 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Address = ""
	} else {
		x.Address = string(r.DecodeString())
	}
	for {
		yyj3282++
		if yyhl3282 {
			yyb3282 = yyj3282 > l
		} else {
			yyb3282 = r.CheckBreak()
		}
		if yyb3282 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3282-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeResources) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3285 := z.EncBinary()
		_ = yym3285
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3286 := !z.EncBinary()
			yy2arr3286 := z.EncBasicHandle().StructToArray
			var yyq3286 [1]bool
			_, _, _ = yysep3286, yyq3286, yy2arr3286
			const yyr3286 bool = false
			yyq3286[0] = len(x.Capacity) != 0
			var yynn3286 int
			if yyr3286 || yy2arr3286 {
				r.EncodeArrayStart(1)
			} else {
				yynn3286 = 0
				for _, b := range yyq3286 {
					if b {
						yynn3286++
					}
				}
				r.EncodeMapStart(yynn3286)
				yynn3286 = 0
			}
			if yyr3286 || yy2arr3286 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3286[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3286[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3286 || yy2arr3286 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeResources) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3288 := z.DecBinary()
	_ = yym3288
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3289 := r.ContainerType()
		if yyct3289 == codecSelferValueTypeMap1234 {
			yyl3289 := r.ReadMapStart()
			if yyl3289 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3289, d)
			}
		} else if yyct3289 == codecSelferValueTypeArray1234 {
			yyl3289 := r.ReadArrayStart()
			if yyl3289 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3289, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeResources) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3290Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3290Slc
	var yyhl3290 bool = l >= 0
	for yyj3290 := 0; ; yyj3290++ {
		if yyhl3290 {
			if yyj3290 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3290Slc = r.DecodeBytes(yys3290Slc, true, true)
		yys3290 := string(yys3290Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3290 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv3291 := &x.Capacity
				yyv3291.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3290)
		} // end switch yys3290
	} // end for yyj3290
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeResources) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3292 int
	var yyb3292 bool
	var yyhl3292 bool = l >= 0
	yyj3292++
	if yyhl3292 {
		yyb3292 = yyj3292 > l
	} else {
		yyb3292 = r.CheckBreak()
	}
	if yyb3292 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv3293 := &x.Capacity
		yyv3293.CodecDecodeSelf(d)
	}
	for {
		yyj3292++
		if yyhl3292 {
			yyb3292 = yyj3292 > l
		} else {
			yyb3292 = r.CheckBreak()
		}
		if yyb3292 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3292-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3294 := z.EncBinary()
	_ = yym3294
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ResourceName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3295 := z.DecBinary()
	_ = yym3295
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ResourceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3296 := z.EncBinary()
		_ = yym3296
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			h.encResourceList((ResourceList)(x), e)
		}
	}
}

func (x *ResourceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3297 := z.DecBinary()
	_ = yym3297
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		h.decResourceList((*ResourceList)(x), d)
	}
}

func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3298 := z.EncBinary()
		_ = yym3298
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3299 := !z.EncBinary()
			yy2arr3299 := z.EncBasicHandle().StructToArray
			var yyq3299 [5]bool
			_, _, _ = yysep3299, yyq3299, yy2arr3299
			const yyr3299 bool = false
			yyq3299[0] = x.Kind != ""
			yyq3299[1] = x.APIVersion != ""
			yyq3299[2] = true
			yyq3299[3] = true
			yyq3299[4] = true
			var yynn3299 int
			if yyr3299 || yy2arr3299 {
				r.EncodeArrayStart(5)
			} else {
				yynn3299 = 0
				for _, b := range yyq3299 {
					if b {
						yynn3299++
					}
				}
				r.EncodeMapStart(yynn3299)
				yynn3299 = 0
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3299[0] {
					yym3301 := z.EncBinary()
					_ = yym3301
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3299[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3302 := z.EncBinary()
					_ = yym3302
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3299[1] {
					yym3304 := z.EncBinary()
					_ = yym3304
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3299[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3305 := z.EncBinary()
					_ = yym3305
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3299[2] {
					yy3307 := &x.ObjectMeta
					yy3307.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3299[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3308 := &x.ObjectMeta
					yy3308.CodecEncodeSelf(e)
				}
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3299[3] {
					yy3310 := &x.Spec
					yy3310.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3299[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3311 := &x.Spec
					yy3311.CodecEncodeSelf(e)
				}
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3299[4] {
					yy3313 := &x.Status
					yy3313.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3299[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3314 := &x.Status
					yy3314.CodecEncodeSelf(e)
				}
			}
			if yyr3299 || yy2arr3299 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3315 := z.DecBinary()
	_ = yym3315
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3316 := r.ContainerType()
		if yyct3316 == codecSelferValueTypeMap1234 {
			yyl3316 := r.ReadMapStart()
			if yyl3316 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3316, d)
			}
		} else if yyct3316 == codecSelferValueTypeArray1234 {
			yyl3316 := r.ReadArrayStart()
			if yyl3316 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3316, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Node) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3317Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3317Slc
	var yyhl3317 bool = l >= 0
	for yyj3317 := 0; ; yyj3317++ {
		if yyhl3317 {
			if yyj3317 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3317Slc = r.DecodeBytes(yys3317Slc, true, true)
		yys3317 := string(yys3317Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3317 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3320 := &x.ObjectMeta
				yyv3320.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv3321 := &x.Spec
				yyv3321.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv3322 := &x.Status
				yyv3322.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3317)
		} // end switch yys3317
	} // end for yyj3317
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3323 int
	var yyb3323 bool
	var yyhl3323 bool = l >= 0
	yyj3323++
	if yyhl3323 {
		yyb3323 = yyj3323 > l
	} else {
		yyb3323 = r.CheckBreak()
	}
	if yyb3323 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3323++
	if yyhl3323 {
		yyb3323 = yyj3323 > l
	} else {
		yyb3323 = r.CheckBreak()
	}
	if yyb3323 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3323++
	if yyhl3323 {
		yyb3323 = yyj3323 > l
	} else {
		yyb3323 = r.CheckBreak()
	}
	if yyb3323 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3326 := &x.ObjectMeta
		yyv3326.CodecDecodeSelf(d)
	}
	yyj3323++
	if yyhl3323 {
		yyb3323 = yyj3323 > l
	} else {
		yyb3323 = r.CheckBreak()
	}
	if yyb3323 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv3327 := &x.Spec
		yyv3327.CodecDecodeSelf(d)
	}
	yyj3323++
	if yyhl3323 {
		yyb3323 = yyj3323 > l
	} else {
		yyb3323 = r.CheckBreak()
	}
	if yyb3323 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv3328 := &x.Status
		yyv3328.CodecDecodeSelf(d)
	}
	for {
		yyj3323++
		if yyhl3323 {
			yyb3323 = yyj3323 > l
		} else {
			yyb3323 = r.CheckBreak()
		}
		if yyb3323 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3323-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3329 := z.EncBinary()
		_ = yym3329
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3330 := !z.EncBinary()
			yy2arr3330 := z.EncBasicHandle().StructToArray
			var yyq3330 [4]bool
			_, _, _ = yysep3330, yyq3330, yy2arr3330
			const yyr3330 bool = false
			yyq3330[0] = x.Kind != ""
			yyq3330[1] = x.APIVersion != ""
			yyq3330[2] = true
			var yynn3330 int
			if yyr3330 || yy2arr3330 {
				r.EncodeArrayStart(4)
			} else {
				yynn3330 = 1
				for _, b := range yyq3330 {
					if b {
						yynn3330++
					}
				}
				r.EncodeMapStart(yynn3330)
				yynn3330 = 0
			}
			if yyr3330 || yy2arr3330 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3330[0] {
					yym3332 := z.EncBinary()
					_ = yym3332
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3330[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3333 := z.EncBinary()
					_ = yym3333
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3330 || yy2arr3330 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3330[1] {
					yym3335 := z.EncBinary()
					_ = yym3335
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3330[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3336 := z.EncBinary()
					_ = yym3336
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3330 || yy2arr3330 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3330[2] {
					yy3338 := &x.ListMeta
					yym3339 := z.EncBinary()
					_ = yym3339
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3338) {
					} else {
						z.EncFallback(yy3338)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3330[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3340 := &x.ListMeta
					yym3341 := z.EncBinary()
					_ = yym3341
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3340) {
					} else {
						z.EncFallback(yy3340)
					}
				}
			}
			if yyr3330 || yy2arr3330 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3343 := z.EncBinary()
					_ = yym3343
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3344 := z.EncBinary()
					_ = yym3344
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yyr3330 || yy2arr3330 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3345 := z.DecBinary()
	_ = yym3345
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3346 := r.ContainerType()
		if yyct3346 == codecSelferValueTypeMap1234 {
			yyl3346 := r.ReadMapStart()
			if yyl3346 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3346, d)
			}
		} else if yyct3346 == codecSelferValueTypeArray1234 {
			yyl3346 := r.ReadArrayStart()
			if yyl3346 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3346, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3347Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3347Slc
	var yyhl3347 bool = l >= 0
	for yyj3347 := 0; ; yyj3347++ {
		if yyhl3347 {
			if yyj3347 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3347Slc = r.DecodeBytes(yys3347Slc, true, true)
		yys3347 := string(yys3347Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3347 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3350 := &x.ListMeta
				yym3351 := z.DecBinary()
				_ = yym3351
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3350) {
				} else {
					z.DecFallback(yyv3350, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3352 := &x.Items
				yym3353 := z.DecBinary()
				_ = yym3353
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv3352), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3347)
		} // end switch yys3347
	} // end for yyj3347
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3354 int
	var yyb3354 bool
	var yyhl3354 bool = l >= 0
	yyj3354++
	if yyhl3354 {
		yyb3354 = yyj3354 > l
	} else {
		yyb3354 = r.CheckBreak()
	}
	if yyb3354 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3354++
	if yyhl3354 {
		yyb3354 = yyj3354 > l
	} else {
		yyb3354 = r.CheckBreak()
	}
	if yyb3354 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3354++
	if yyhl3354 {
		yyb3354 = yyj3354 > l
	} else {
		yyb3354 = r.CheckBreak()
	}
	if yyb3354 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3357 := &x.ListMeta
		yym3358 := z.DecBinary()
		_ = yym3358
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3357) {
		} else {
			z.DecFallback(yyv3357, false)
		}
	}
	yyj3354++
	if yyhl3354 {
		yyb3354 = yyj3354 > l
	} else {
		yyb3354 = r.CheckBreak()
	}
	if yyb3354 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3359 := &x.Items
		yym3360 := z.DecBinary()
		_ = yym3360
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv3359), d)
		}
	}
	for {
		yyj3354++
		if yyhl3354 {
			yyb3354 = yyj3354 > l
		} else {
			yyb3354 = r.CheckBreak()
		}
		if yyb3354 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3354-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NamespaceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3361 := z.EncBinary()
		_ = yym3361
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3362 := !z.EncBinary()
			yy2arr3362 := z.EncBasicHandle().StructToArray
			var yyq3362 [1]bool
			_, _, _ = yysep3362, yyq3362, yy2arr3362
			const yyr3362 bool = false
			var yynn3362 int
			if yyr3362 || yy2arr3362 {
				r.EncodeArrayStart(1)
			} else {
				yynn3362 = 1
				for _, b := range yyq3362 {
					if b {
						yynn3362++
					}
				}
				r.EncodeMapStart(yynn3362)
				yynn3362 = 0
			}
			if yyr3362 || yy2arr3362 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym3364 := z.EncBinary()
					_ = yym3364
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Finalizers"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym3365 := z.EncBinary()
					_ = yym3365
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			}
			if yyr3362 || yy2arr3362 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3366 := z.DecBinary()
	_ = yym3366
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3367 := r.ContainerType()
		if yyct3367 == codecSelferValueTypeMap1234 {
			yyl3367 := r.ReadMapStart()
			if yyl3367 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3367, d)
			}
		} else if yyct3367 == codecSelferValueTypeArray1234 {
			yyl3367 := r.ReadArrayStart()
			if yyl3367 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3367, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3368Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3368Slc
	var yyhl3368 bool = l >= 0
	for yyj3368 := 0; ; yyj3368++ {
		if yyhl3368 {
			if yyj3368 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3368Slc = r.DecodeBytes(yys3368Slc, true, true)
		yys3368 := string(yys3368Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3368 {
		case "Finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv3369 := &x.Finalizers
				yym3370 := z.DecBinary()
				_ = yym3370
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv3369), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3368)
		} // end switch yys3368
	} // end for yyj3368
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3371 int
	var yyb3371 bool
	var yyhl3371 bool = l >= 0
	yyj3371++
	if yyhl3371 {
		yyb3371 = yyj3371 > l
	} else {
		yyb3371 = r.CheckBreak()
	}
	if yyb3371 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv3372 := &x.Finalizers
		yym3373 := z.DecBinary()
		_ = yym3373
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv3372), d)
		}
	}
	for {
		yyj3371++
		if yyhl3371 {
			yyb3371 = yyj3371 > l
		} else {
			yyb3371 = r.CheckBreak()
		}
		if yyb3371 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3371-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3374 := z.EncBinary()
	_ = yym3374
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *FinalizerName) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3375 := z.DecBinary()
	_ = yym3375
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *NamespaceStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3376 := z.EncBinary()
		_ = yym3376
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3377 := !z.EncBinary()
			yy2arr3377 := z.EncBasicHandle().StructToArray
			var yyq3377 [1]bool
			_, _, _ = yysep3377, yyq3377, yy2arr3377
			const yyr3377 bool = false
			yyq3377[0] = x.Phase != ""
			var yynn3377 int
			if yyr3377 || yy2arr3377 {
				r.EncodeArrayStart(1)
			} else {
				yynn3377 = 0
				for _, b := range yyq3377 {
					if b {
						yynn3377++
					}
				}
				r.EncodeMapStart(yynn3377)
				yynn3377 = 0
			}
			if yyr3377 || yy2arr3377 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3377[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3377[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr3377 || yy2arr3377 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3379 := z.DecBinary()
	_ = yym3379
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3380 := r.ContainerType()
		if yyct3380 == codecSelferValueTypeMap1234 {
			yyl3380 := r.ReadMapStart()
			if yyl3380 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3380, d)
			}
		} else if yyct3380 == codecSelferValueTypeArray1234 {
			yyl3380 := r.ReadArrayStart()
			if yyl3380 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3380, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3381Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3381Slc
	var yyhl3381 bool = l >= 0
	for yyj3381 := 0; ; yyj3381++ {
		if yyhl3381 {
			if yyj3381 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3381Slc = r.DecodeBytes(yys3381Slc, true, true)
		yys3381 := string(yys3381Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3381 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3381)
		} // end switch yys3381
	} // end for yyj3381
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3383 int
	var yyb3383 bool
	var yyhl3383 bool = l >= 0
	yyj3383++
	if yyhl3383 {
		yyb3383 = yyj3383 > l
	} else {
		yyb3383 = r.CheckBreak()
	}
	if yyb3383 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NamespacePhase(r.DecodeString())
	}
	for {
		yyj3383++
		if yyhl3383 {
			yyb3383 = yyj3383 > l
		} else {
			yyb3383 = r.CheckBreak()
		}
		if yyb3383 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3383-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3385 := z.EncBinary()
	_ = yym3385
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *NamespacePhase) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3386 := z.DecBinary()
	_ = yym3386
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *Namespace) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3387 := z.EncBinary()
		_ = yym3387
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3388 := !z.EncBinary()
			yy2arr3388 := z.EncBasicHandle().StructToArray
			var yyq3388 [5]bool
			_, _, _ = yysep3388, yyq3388, yy2arr3388
			const yyr3388 bool = false
			yyq3388[0] = x.Kind != ""
			yyq3388[1] = x.APIVersion != ""
			yyq3388[2] = true
			yyq3388[3] = true
			yyq3388[4] = true
			var yynn3388 int
			if yyr3388 || yy2arr3388 {
				r.EncodeArrayStart(5)
			} else {
				yynn3388 = 0
				for _, b := range yyq3388 {
					if b {
						yynn3388++
					}
				}
				r.EncodeMapStart(yynn3388)
				yynn3388 = 0
			}
			if yyr3388 || yy2arr3388 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3388[0] {
					yym3390 := z.EncBinary()
					_ = yym3390
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3388[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3391 := z.EncBinary()
					_ = yym3391
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3388 || yy2arr3388 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3388[1] {
					yym3393 := z.EncBinary()
					_ = yym3393
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3388[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3394 := z.EncBinary()
					_ = yym3394
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3388 || yy2arr3388 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3388[2] {
					yy3396 := &x.ObjectMeta
					yy3396.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3388[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3397 := &x.ObjectMeta
					yy3397.CodecEncodeSelf(e)
				}
			}
			if yyr3388 || yy2arr3388 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3388[3] {
					yy3399 := &x.Spec
					yy3399.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3388[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3400 := &x.Spec
					yy3400.CodecEncodeSelf(e)
				}
			}
			if yyr3388 || yy2arr3388 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3388[4] {
					yy3402 := &x.Status
					yy3402.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3388[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3403 := &x.Status
					yy3403.CodecEncodeSelf(e)
				}
			}
			if yyr3388 || yy2arr3388 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Namespace) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3404 := z.DecBinary()
	_ = yym3404
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3405 := r.ContainerType()
		if yyct3405 == codecSelferValueTypeMap1234 {
			yyl3405 := r.ReadMapStart()
			if yyl3405 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3405, d)
			}
		} else if yyct3405 == codecSelferValueTypeArray1234 {
			yyl3405 := r.ReadArrayStart()
			if yyl3405 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3405, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Namespace) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3406Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3406Slc
	var yyhl3406 bool = l >= 0
	for yyj3406 := 0; ; yyj3406++ {
		if yyhl3406 {
			if yyj3406 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3406Slc = r.DecodeBytes(yys3406Slc, true, true)
		yys3406 := string(yys3406Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3406 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3409 := &x.ObjectMeta
				yyv3409.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv3410 := &x.Spec
				yyv3410.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv3411 := &x.Status
				yyv3411.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3406)
		} // end switch yys3406
	} // end for yyj3406
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Namespace) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3412 int
	var yyb3412 bool
	var yyhl3412 bool = l >= 0
	yyj3412++
	if yyhl3412 {
		yyb3412 = yyj3412 > l
	} else {
		yyb3412 = r.CheckBreak()
	}
	if yyb3412 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3412++
	if yyhl3412 {
		yyb3412 = yyj3412 > l
	} else {
		yyb3412 = r.CheckBreak()
	}
	if yyb3412 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3412++
	if yyhl3412 {
		yyb3412 = yyj3412 > l
	} else {
		yyb3412 = r.CheckBreak()
	}
	if yyb3412 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3415 := &x.ObjectMeta
		yyv3415.CodecDecodeSelf(d)
	}
	yyj3412++
	if yyhl3412 {
		yyb3412 = yyj3412 > l
	} else {
		yyb3412 = r.CheckBreak()
	}
	if yyb3412 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv3416 := &x.Spec
		yyv3416.CodecDecodeSelf(d)
	}
	yyj3412++
	if yyhl3412 {
		yyb3412 = yyj3412 > l
	} else {
		yyb3412 = r.CheckBreak()
	}
	if yyb3412 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv3417 := &x.Status
		yyv3417.CodecDecodeSelf(d)
	}
	for {
		yyj3412++
		if yyhl3412 {
			yyb3412 = yyj3412 > l
		} else {
			yyb3412 = r.CheckBreak()
		}
		if yyb3412 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3412-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NamespaceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3418 := z.EncBinary()
		_ = yym3418
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3419 := !z.EncBinary()
			yy2arr3419 := z.EncBasicHandle().StructToArray
			var yyq3419 [4]bool
			_, _, _ = yysep3419, yyq3419, yy2arr3419
			const yyr3419 bool = false
			yyq3419[0] = x.Kind != ""
			yyq3419[1] = x.APIVersion != ""
			yyq3419[2] = true
			var yynn3419 int
			if yyr3419 || yy2arr3419 {
				r.EncodeArrayStart(4)
			} else {
				yynn3419 = 1
				for _, b := range yyq3419 {
					if b {
						yynn3419++
					}
				}
				r.EncodeMapStart(yynn3419)
				yynn3419 = 0
			}
			if yyr3419 || yy2arr3419 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3419[0] {
					yym3421 := z.EncBinary()
					_ = yym3421
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3419[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3422 := z.EncBinary()
					_ = yym3422
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3419 || yy2arr3419 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3419[1] {
					yym3424 := z.EncBinary()
					_ = yym3424
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3419[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3425 := z.EncBinary()
					_ = yym3425
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3419 || yy2arr3419 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3419[2] {
					yy3427 := &x.ListMeta
					yym3428 := z.EncBinary()
					_ = yym3428
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3427) {
					} else {
						z.EncFallback(yy3427)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3419[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3429 := &x.ListMeta
					yym3430 := z.EncBinary()
					_ = yym3430
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3429) {
					} else {
						z.EncFallback(yy3429)
					}
				}
			}
			if yyr3419 || yy2arr3419 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3432 := z.EncBinary()
					_ = yym3432
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3433 := z.EncBinary()
					_ = yym3433
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yyr3419 || yy2arr3419 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NamespaceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3434 := z.DecBinary()
	_ = yym3434
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3435 := r.ContainerType()
		if yyct3435 == codecSelferValueTypeMap1234 {
			yyl3435 := r.ReadMapStart()
			if yyl3435 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3435, d)
			}
		} else if yyct3435 == codecSelferValueTypeArray1234 {
			yyl3435 := r.ReadArrayStart()
			if yyl3435 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3435, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NamespaceList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3436Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3436Slc
	var yyhl3436 bool = l >= 0
	for yyj3436 := 0; ; yyj3436++ {
		if yyhl3436 {
			if yyj3436 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3436Slc = r.DecodeBytes(yys3436Slc, true, true)
		yys3436 := string(yys3436Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3436 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv3439 := &x.ListMeta
				yym3440 := z.DecBinary()
				_ = yym3440
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3439) {
				} else {
					z.DecFallback(yyv3439, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3441 := &x.Items
				yym3442 := z.DecBinary()
				_ = yym3442
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv3441), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3436)
		} // end switch yys3436
	} // end for yyj3436
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NamespaceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3443 int
	var yyb3443 bool
	var yyhl3443 bool = l >= 0
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3446 := &x.ListMeta
		yym3447 := z.DecBinary()
		_ = yym3447
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3446) {
		} else {
			z.DecFallback(yyv3446, false)
		}
	}
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3448 := &x.Items
		yym3449 := z.DecBinary()
		_ = yym3449
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv3448), d)
		}
	}
	for {
		yyj3443++
		if yyhl3443 {
			yyb3443 = yyj3443 > l
		} else {
			yyb3443 = r.CheckBreak()
		}
		if yyb3443 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3443-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Binding) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3450 := z.EncBinary()
		_ = yym3450
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3451 := !z.EncBinary()
			yy2arr3451 := z.EncBasicHandle().StructToArray
			var yyq3451 [4]bool
			_, _, _ = yysep3451, yyq3451, yy2arr3451
			const yyr3451 bool = false
			yyq3451[0] = x.Kind != ""
			yyq3451[1] = x.APIVersion != ""
			yyq3451[2] = true
			var yynn3451 int
			if yyr3451 || yy2arr3451 {
				r.EncodeArrayStart(4)
			} else {
				yynn3451 = 1
				for _, b := range yyq3451 {
					if b {
						yynn3451++
					}
				}
				r.EncodeMapStart(yynn3451)
				yynn3451 = 0
			}
			if yyr3451 || yy2arr3451 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3451[0] {
					yym3453 := z.EncBinary()
					_ = yym3453
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3451[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3454 := z.EncBinary()
					_ = yym3454
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3451 || yy2arr3451 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3451[1] {
					yym3456 := z.EncBinary()
					_ = yym3456
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3451[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3457 := z.EncBinary()
					_ = yym3457
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3451 || yy2arr3451 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3451[2] {
					yy3459 := &x.ObjectMeta
					yy3459.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3451[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3460 := &x.ObjectMeta
					yy3460.CodecEncodeSelf(e)
				}
			}
			if yyr3451 || yy2arr3451 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yy3462 := &x.Target
				yy3462.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yy3463 := &x.Target
				yy3463.CodecEncodeSelf(e)
			}
			if yyr3451 || yy2arr3451 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Binding) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3464 := z.DecBinary()
	_ = yym3464
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3465 := r.ContainerType()
		if yyct3465 == codecSelferValueTypeMap1234 {
			yyl3465 := r.ReadMapStart()
			if yyl3465 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3465, d)
			}
		} else if yyct3465 == codecSelferValueTypeArray1234 {
			yyl3465 := r.ReadArrayStart()
			if yyl3465 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3465, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Binding) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3466Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3466Slc
	var yyhl3466 bool = l >= 0
	for yyj3466 := 0; ; yyj3466++ {
		if yyhl3466 {
			if yyj3466 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3466Slc = r.DecodeBytes(yys3466Slc, true, true)
		yys3466 := string(yys3466Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3466 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3469 := &x.ObjectMeta
				yyv3469.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv3470 := &x.Target
				yyv3470.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3466)
		} // end switch yys3466
	} // end for yyj3466
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Binding) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3471 int
	var yyb3471 bool
	var yyhl3471 bool = l >= 0
	yyj3471++
	if yyhl3471 {
		yyb3471 = yyj3471 > l
	} else {
		yyb3471 = r.CheckBreak()
	}
	if yyb3471 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3471++
	if yyhl3471 {
		yyb3471 = yyj3471 > l
	} else {
		yyb3471 = r.CheckBreak()
	}
	if yyb3471 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3471++
	if yyhl3471 {
		yyb3471 = yyj3471 > l
	} else {
		yyb3471 = r.CheckBreak()
	}
	if yyb3471 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3474 := &x.ObjectMeta
		yyv3474.CodecDecodeSelf(d)
	}
	yyj3471++
	if yyhl3471 {
		yyb3471 = yyj3471 > l
	} else {
		yyb3471 = r.CheckBreak()
	}
	if yyb3471 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv3475 := &x.Target
		yyv3475.CodecDecodeSelf(d)
	}
	for {
		yyj3471++
		if yyhl3471 {
			yyb3471 = yyj3471 > l
		} else {
			yyb3471 = r.CheckBreak()
		}
		if yyb3471 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3471-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Preconditions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3476 := z.EncBinary()
		_ = yym3476
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3477 := !z.EncBinary()
			yy2arr3477 := z.EncBasicHandle().StructToArray
			var yyq3477 [1]bool
			_, _, _ = yysep3477, yyq3477, yy2arr3477
			const yyr3477 bool = false
			yyq3477[0] = x.UID != nil
			var yynn3477 int
			if yyr3477 || yy2arr3477 {
				r.EncodeArrayStart(1)
			} else {
				yynn3477 = 0
				for _, b := range yyq3477 {
					if b {
						yynn3477++
					}
				}
				r.EncodeMapStart(yynn3477)
				yynn3477 = 0
			}
			if yyr3477 || yy2arr3477 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3477[0] {
					if x.UID == nil {
						r.EncodeNil()
					} else {
						yy3479 := *x.UID
						yym3480 := z.EncBinary()
						_ = yym3480
						if false {
						} else if z.HasExtensions() && z.EncExt(yy3479) {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy3479))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3477[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.UID == nil {
						r.EncodeNil()
					} else {
						yy3481 := *x.UID
						yym3482 := z.EncBinary()
						_ = yym3482
						if false {
						} else if z.HasExtensions() && z.EncExt(yy3481) {
						} else {
							r.EncodeString(codecSelferC_UTF81234, string(yy3481))
						}
					}
				}
			}
			if yyr3477 || yy2arr3477 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Preconditions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3483 := z.DecBinary()
	_ = yym3483
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3484 := r.ContainerType()
		if yyct3484 == codecSelferValueTypeMap1234 {
			yyl3484 := r.ReadMapStart()
			if yyl3484 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3484, d)
			}
		} else if yyct3484 == codecSelferValueTypeArray1234 {
			yyl3484 := r.ReadArrayStart()
			if yyl3484 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3484, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Preconditions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3485Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3485Slc
	var yyhl3485 bool = l >= 0
	for yyj3485 := 0; ; yyj3485++ {
		if yyhl3485 {
			if yyj3485 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3485Slc = r.DecodeBytes(yys3485Slc, true, true)
		yys3485 := string(yys3485Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3485 {
		case "uid":
			if r.TryDecodeAsNil() {
				if x.UID != nil {
					x.UID = nil
				}
			} else {
				if x.UID == nil {
					x.UID = new(pkg1_types.UID)
				}
				yym3487 := z.DecBinary()
				_ = yym3487
				if false {
				} else if z.HasExtensions() && z.DecExt(x.UID) {
				} else {
					*((*string)(x.UID)) = r.DecodeString()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3485)
		} // end switch yys3485
	} // end for yyj3485
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Preconditions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3488 int
	var yyb3488 bool
	var yyhl3488 bool = l >= 0
	yyj3488++
	if yyhl3488 {
		yyb3488 = yyj3488 > l
	} else {
		yyb3488 = r.CheckBreak()
	}
	if yyb3488 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.UID != nil {
			x.UID = nil
		}
	} else {
		if x.UID == nil {
			x.UID = new(pkg1_types.UID)
		}
		yym3490 := z.DecBinary()
		_ = yym3490
		if false {
		} else if z.HasExtensions() && z.DecExt(x.UID) {
		} else {
			*((*string)(x.UID)) = r.DecodeString()
		}
	}
	for {
		yyj3488++
		if yyhl3488 {
			yyb3488 = yyj3488 > l
		} else {
			yyb3488 = r.CheckBreak()
		}
		if yyb3488 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3488-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *DeleteOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3491 := z.EncBinary()
		_ = yym3491
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3492 := !z.EncBinary()
			yy2arr3492 := z.EncBasicHandle().StructToArray
			var yyq3492 [5]bool
			_, _, _ = yysep3492, yyq3492, yy2arr3492
			const yyr3492 bool = false
			yyq3492[0] = x.Kind != ""
			yyq3492[1] = x.APIVersion != ""
			yyq3492[2] = x.GracePeriodSeconds != nil
			yyq3492[3] = x.Preconditions != nil
			yyq3492[4] = x.OrphanDependents != nil
			var yynn3492 int
			if yyr3492 || yy2arr3492 {
				r.EncodeArrayStart(5)
			} else {
				yynn3492 = 0
				for _, b := range yyq3492 {
					if b {
						yynn3492++
					}
				}
				r.EncodeMapStart(yynn3492)
				yynn3492 = 0
			}
			if yyr3492 || yy2arr3492 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3492[0] {
					yym3494 := z.EncBinary()
					_ = yym3494
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3492[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3495 := z.EncBinary()
					_ = yym3495
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3492 || yy2arr3492 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3492[1] {
					yym3497 := z.EncBinary()
					_ = yym3497
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3492[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3498 := z.EncBinary()
					_ = yym3498
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3492 || yy2arr3492 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3492[2] {
					if x.GracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy3500 := *x.GracePeriodSeconds
						yym3501 := z.EncBinary()
						_ = yym3501
						if false {
						} else {
							r.EncodeInt(int64(yy3500))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3492[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.GracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy3502 := *x.GracePeriodSeconds
						yym3503 := z.EncBinary()
						_ = yym3503
						if false {
						} else {
							r.EncodeInt(int64(yy3502))
						}
					}
				}
			}
			if yyr3492 || yy2arr3492 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3492[3] {
					if x.Preconditions == nil {
						r.EncodeNil()
					} else {
						x.Preconditions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3492[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("preconditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Preconditions == nil {
						r.EncodeNil()
					} else {
						x.Preconditions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3492 || yy2arr3492 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3492[4] {
					if x.OrphanDependents == nil {
						r.EncodeNil()
					} else {
						yy3506 := *x.OrphanDependents
						yym3507 := z.EncBinary()
						_ = yym3507
						if false {
						} else {
							r.EncodeBool(bool(yy3506))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3492[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("orphanDependents"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.OrphanDependents == nil {
						r.EncodeNil()
					} else {
						yy3508 := *x.OrphanDependents
						yym3509 := z.EncBinary()
						_ = yym3509
						if false {
						} else {
							r.EncodeBool(bool(yy3508))
						}
					}
				}
			}
			if yyr3492 || yy2arr3492 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *DeleteOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3510 := z.DecBinary()
	_ = yym3510
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3511 := r.ContainerType()
		if yyct3511 == codecSelferValueTypeMap1234 {
			yyl3511 := r.ReadMapStart()
			if yyl3511 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3511, d)
			}
		} else if yyct3511 == codecSelferValueTypeArray1234 {
			yyl3511 := r.ReadArrayStart()
			if yyl3511 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3511, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *DeleteOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3512Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3512Slc
	var yyhl3512 bool = l >= 0
	for yyj3512 := 0; ; yyj3512++ {
		if yyhl3512 {
			if yyj3512 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3512Slc = r.DecodeBytes(yys3512Slc, true, true)
		yys3512 := string(yys3512Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3512 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "gracePeriodSeconds":
			if r.TryDecodeAsNil() {
				if x.GracePeriodSeconds != nil {
					x.GracePeriodSeconds = nil
				}
			} else {
				if x.GracePeriodSeconds == nil {
					x.GracePeriodSeconds = new(int64)
				}
				yym3516 := z.DecBinary()
				_ = yym3516
				if false {
				} else {
					*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "preconditions":
			if r.TryDecodeAsNil() {
				if x.Preconditions != nil {
					x.Preconditions = nil
				}
			} else {
				if x.Preconditions == nil {
					x.Preconditions = new(Preconditions)
				}
				x.Preconditions.CodecDecodeSelf(d)
			}
		case "orphanDependents":
			if r.TryDecodeAsNil() {
				if x.OrphanDependents != nil {
					x.OrphanDependents = nil
				}
			} else {
				if x.OrphanDependents == nil {
					x.OrphanDependents = new(bool)
				}
				yym3519 := z.DecBinary()
				_ = yym3519
				if false {
				} else {
					*((*bool)(x.OrphanDependents)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3512)
		} // end switch yys3512
	} // end for yyj3512
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *DeleteOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3520 int
	var yyb3520 bool
	var yyhl3520 bool = l >= 0
	yyj3520++
	if yyhl3520 {
		yyb3520 = yyj3520 > l
	} else {
		yyb3520 = r.CheckBreak()
	}
	if yyb3520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3520++
	if yyhl3520 {
		yyb3520 = yyj3520 > l
	} else {
		yyb3520 = r.CheckBreak()
	}
	if yyb3520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3520++
	if yyhl3520 {
		yyb3520 = yyj3520 > l
	} else {
		yyb3520 = r.CheckBreak()
	}
	if yyb3520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.GracePeriodSeconds != nil {
			x.GracePeriodSeconds = nil
		}
	} else {
		if x.GracePeriodSeconds == nil {
			x.GracePeriodSeconds = new(int64)
		}
		yym3524 := z.DecBinary()
		_ = yym3524
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj3520++
	if yyhl3520 {
		yyb3520 = yyj3520 > l
	} else {
		yyb3520 = r.CheckBreak()
	}
	if yyb3520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Preconditions != nil {
			x.Preconditions = nil
		}
	} else {
		if x.Preconditions == nil {
			x.Preconditions = new(Preconditions)
		}
		x.Preconditions.CodecDecodeSelf(d)
	}
	yyj3520++
	if yyhl3520 {
		yyb3520 = yyj3520 > l
	} else {
		yyb3520 = r.CheckBreak()
	}
	if yyb3520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.OrphanDependents != nil {
			x.OrphanDependents = nil
		}
	} else {
		if x.OrphanDependents == nil {
			x.OrphanDependents = new(bool)
		}
		yym3527 := z.DecBinary()
		_ = yym3527
		if false {
		} else {
			*((*bool)(x.OrphanDependents)) = r.DecodeBool()
		}
	}
	for {
		yyj3520++
		if yyhl3520 {
			yyb3520 = yyj3520 > l
		} else {
			yyb3520 = r.CheckBreak()
		}
		if yyb3520 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3520-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ExportOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3528 := z.EncBinary()
		_ = yym3528
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3529 := !z.EncBinary()
			yy2arr3529 := z.EncBasicHandle().StructToArray
			var yyq3529 [4]bool
			_, _, _ = yysep3529, yyq3529, yy2arr3529
			const yyr3529 bool = false
			yyq3529[0] = x.Kind != ""
			yyq3529[1] = x.APIVersion != ""
			var yynn3529 int
			if yyr3529 || yy2arr3529 {
				r.EncodeArrayStart(4)
			} else {
				yynn3529 = 2
				for _, b := range yyq3529 {
					if b {
						yynn3529++
					}
				}
				r.EncodeMapStart(yynn3529)
				yynn3529 = 0
			}
			if yyr3529 || yy2arr3529 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3529[0] {
					yym3531 := z.EncBinary()
					_ = yym3531
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3529[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3532 := z.EncBinary()
					_ = yym3532
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3529 || yy2arr3529 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3529[1] {
					yym3534 := z.EncBinary()
					_ = yym3534
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3529[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3535 := z.EncBinary()
					_ = yym3535
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3529 || yy2arr3529 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3537 := z.EncBinary()
				_ = yym3537
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("export"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3538 := z.EncBinary()
				_ = yym3538
				if false {
				} else {
					r.EncodeBool(bool(x.Export))
				}
			}
			if yyr3529 || yy2arr3529 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3540 := z.EncBinary()
				_ = yym3540
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("exact"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3541 := z.EncBinary()
				_ = yym3541
				if false {
				} else {
					r.EncodeBool(bool(x.Exact))
				}
			}
			if yyr3529 || yy2arr3529 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ExportOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3542 := z.DecBinary()
	_ = yym3542
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3543 := r.ContainerType()
		if yyct3543 == codecSelferValueTypeMap1234 {
			yyl3543 := r.ReadMapStart()
			if yyl3543 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3543, d)
			}
		} else if yyct3543 == codecSelferValueTypeArray1234 {
			yyl3543 := r.ReadArrayStart()
			if yyl3543 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3543, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ExportOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3544Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3544Slc
	var yyhl3544 bool = l >= 0
	for yyj3544 := 0; ; yyj3544++ {
		if yyhl3544 {
			if yyj3544 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3544Slc = r.DecodeBytes(yys3544Slc, true, true)
		yys3544 := string(yys3544Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3544 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "export":
			if r.TryDecodeAsNil() {
				x.Export = false
			} else {
				x.Export = bool(r.DecodeBool())
			}
		case "exact":
			if r.TryDecodeAsNil() {
				x.Exact = false
			} else {
				x.Exact = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3544)
		} // end switch yys3544
	} // end for yyj3544
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ExportOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3549 int
	var yyb3549 bool
	var yyhl3549 bool = l >= 0
	yyj3549++
	if yyhl3549 {
		yyb3549 = yyj3549 > l
	} else {
		yyb3549 = r.CheckBreak()
	}
	if yyb3549 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3549++
	if yyhl3549 {
		yyb3549 = yyj3549 > l
	} else {
		yyb3549 = r.CheckBreak()
	}
	if yyb3549 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3549++
	if yyhl3549 {
		yyb3549 = yyj3549 > l
	} else {
		yyb3549 = r.CheckBreak()
	}
	if yyb3549 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Export = false
	} else {
		x.Export = bool(r.DecodeBool())
	}
	yyj3549++
	if yyhl3549 {
		yyb3549 = yyj3549 > l
	} else {
		yyb3549 = r.CheckBreak()
	}
	if yyb3549 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Exact = false
	} else {
		x.Exact = bool(r.DecodeBool())
	}
	for {
		yyj3549++
		if yyhl3549 {
			yyb3549 = yyj3549 > l
		} else {
			yyb3549 = r.CheckBreak()
		}
		if yyb3549 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3549-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ListOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3554 := z.EncBinary()
		_ = yym3554
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3555 := !z.EncBinary()
			yy2arr3555 := z.EncBasicHandle().StructToArray
			var yyq3555 [7]bool
			_, _, _ = yysep3555, yyq3555, yy2arr3555
			const yyr3555 bool = false
			yyq3555[0] = x.Kind != ""
			yyq3555[1] = x.APIVersion != ""
			var yynn3555 int
			if yyr3555 || yy2arr3555 {
				r.EncodeArrayStart(7)
			} else {
				yynn3555 = 5
				for _, b := range yyq3555 {
					if b {
						yynn3555++
					}
				}
				r.EncodeMapStart(yynn3555)
				yynn3555 = 0
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3555[0] {
					yym3557 := z.EncBinary()
					_ = yym3557
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3555[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3558 := z.EncBinary()
					_ = yym3558
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3555[1] {
					yym3560 := z.EncBinary()
					_ = yym3560
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3555[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3561 := z.EncBinary()
					_ = yym3561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym3563 := z.EncBinary()
					_ = yym3563
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("LabelSelector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym3564 := z.EncBinary()
					_ = yym3564
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym3566 := z.EncBinary()
					_ = yym3566
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("FieldSelector"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym3567 := z.EncBinary()
					_ = yym3567
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3569 := z.EncBinary()
				_ = yym3569
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Watch"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3570 := z.EncBinary()
				_ = yym3570
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3572 := z.EncBinary()
				_ = yym3572
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("ResourceVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3573 := z.EncBinary()
				_ = yym3573
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy3575 := *x.TimeoutSeconds
					yym3576 := z.EncBinary()
					_ = yym3576
					if false {
					} else {
						r.EncodeInt(int64(yy3575))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TimeoutSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy3577 := *x.TimeoutSeconds
					yym3578 := z.EncBinary()
					_ = yym3578
					if false {
					} else {
						r.EncodeInt(int64(yy3577))
					}
				}
			}
			if yyr3555 || yy2arr3555 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ListOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3579 := z.DecBinary()
	_ = yym3579
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3580 := r.ContainerType()
		if yyct3580 == codecSelferValueTypeMap1234 {
			yyl3580 := r.ReadMapStart()
			if yyl3580 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3580, d)
			}
		} else if yyct3580 == codecSelferValueTypeArray1234 {
			yyl3580 := r.ReadArrayStart()
			if yyl3580 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3580, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ListOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3581Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3581Slc
	var yyhl3581 bool = l >= 0
	for yyj3581 := 0; ; yyj3581++ {
		if yyhl3581 {
			if yyj3581 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3581Slc = r.DecodeBytes(yys3581Slc, true, true)
		yys3581 := string(yys3581Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3581 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "LabelSelector":
			if r.TryDecodeAsNil() {
				x.LabelSelector = nil
			} else {
				yyv3584 := &x.LabelSelector
				yym3585 := z.DecBinary()
				_ = yym3585
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3584) {
				} else {
					z.DecFallback(yyv3584, true)
				}
			}
		case "FieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = nil
			} else {
				yyv3586 := &x.FieldSelector
				yym3587 := z.DecBinary()
				_ = yym3587
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3586) {
				} else {
					z.DecFallback(yyv3586, true)
				}
			}
		case "Watch":
			if r.TryDecodeAsNil() {
				x.Watch = false
			} else {
				x.Watch = bool(r.DecodeBool())
			}
		case "ResourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "TimeoutSeconds":
			if r.TryDecodeAsNil() {
				if x.TimeoutSeconds != nil {
					x.TimeoutSeconds = nil
				}
			} else {
				if x.TimeoutSeconds == nil {
					x.TimeoutSeconds = new(int64)
				}
				yym3591 := z.DecBinary()
				_ = yym3591
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3581)
		} // end switch yys3581
	} // end for yyj3581
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ListOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3592 int
	var yyb3592 bool
	var yyhl3592 bool = l >= 0
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LabelSelector = nil
	} else {
		yyv3595 := &x.LabelSelector
		yym3596 := z.DecBinary()
		_ = yym3596
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3595) {
		} else {
			z.DecFallback(yyv3595, true)
		}
	}
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldSelector = nil
	} else {
		yyv3597 := &x.FieldSelector
		yym3598 := z.DecBinary()
		_ = yym3598
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3597) {
		} else {
			z.DecFallback(yyv3597, true)
		}
	}
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj3592++
	if yyhl3592 {
		yyb3592 = yyj3592 > l
	} else {
		yyb3592 = r.CheckBreak()
	}
	if yyb3592 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TimeoutSeconds != nil {
			x.TimeoutSeconds = nil
		}
	} else {
		if x.TimeoutSeconds == nil {
			x.TimeoutSeconds = new(int64)
		}
		yym3602 := z.DecBinary()
		_ = yym3602
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj3592++
		if yyhl3592 {
			yyb3592 = yyj3592 > l
		} else {
			yyb3592 = r.CheckBreak()
		}
		if yyb3592 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3592-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodLogOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3603 := z.EncBinary()
		_ = yym3603
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3604 := !z.EncBinary()
			yy2arr3604 := z.EncBasicHandle().StructToArray
			var yyq3604 [10]bool
			_, _, _ = yysep3604, yyq3604, yy2arr3604
			const yyr3604 bool = false
			yyq3604[0] = x.Kind != ""
			yyq3604[1] = x.APIVersion != ""
			var yynn3604 int
			if yyr3604 || yy2arr3604 {
				r.EncodeArrayStart(10)
			} else {
				yynn3604 = 8
				for _, b := range yyq3604 {
					if b {
						yynn3604++
					}
				}
				r.EncodeMapStart(yynn3604)
				yynn3604 = 0
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3604[0] {
					yym3606 := z.EncBinary()
					_ = yym3606
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3604[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3607 := z.EncBinary()
					_ = yym3607
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3604[1] {
					yym3609 := z.EncBinary()
					_ = yym3609
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3604[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3610 := z.EncBinary()
					_ = yym3610
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3612 := z.EncBinary()
				_ = yym3612
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Container"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3613 := z.EncBinary()
				_ = yym3613
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3615 := z.EncBinary()
				_ = yym3615
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Follow"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3616 := z.EncBinary()
				_ = yym3616
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3618 := z.EncBinary()
				_ = yym3618
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Previous"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3619 := z.EncBinary()
				_ = yym3619
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy3621 := *x.SinceSeconds
					yym3622 := z.EncBinary()
					_ = yym3622
					if false {
					} else {
						r.EncodeInt(int64(yy3621))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("SinceSeconds"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy3623 := *x.SinceSeconds
					yym3624 := z.EncBinary()
					_ = yym3624
					if false {
					} else {
						r.EncodeInt(int64(yy3623))
					}
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym3626 := z.EncBinary()
					_ = yym3626
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym3626 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym3626 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("SinceTime"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym3627 := z.EncBinary()
					_ = yym3627
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym3627 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym3627 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3629 := z.EncBinary()
				_ = yym3629
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Timestamps"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3630 := z.EncBinary()
				_ = yym3630
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy3632 := *x.TailLines
					yym3633 := z.EncBinary()
					_ = yym3633
					if false {
					} else {
						r.EncodeInt(int64(yy3632))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TailLines"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy3634 := *x.TailLines
					yym3635 := z.EncBinary()
					_ = yym3635
					if false {
					} else {
						r.EncodeInt(int64(yy3634))
					}
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy3637 := *x.LimitBytes
					yym3638 := z.EncBinary()
					_ = yym3638
					if false {
					} else {
						r.EncodeInt(int64(yy3637))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("LimitBytes"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy3639 := *x.LimitBytes
					yym3640 := z.EncBinary()
					_ = yym3640
					if false {
					} else {
						r.EncodeInt(int64(yy3639))
					}
				}
			}
			if yyr3604 || yy2arr3604 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodLogOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3641 := z.DecBinary()
	_ = yym3641
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3642 := r.ContainerType()
		if yyct3642 == codecSelferValueTypeMap1234 {
			yyl3642 := r.ReadMapStart()
			if yyl3642 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3642, d)
			}
		} else if yyct3642 == codecSelferValueTypeArray1234 {
			yyl3642 := r.ReadArrayStart()
			if yyl3642 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3642, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodLogOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3643Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3643Slc
	var yyhl3643 bool = l >= 0
	for yyj3643 := 0; ; yyj3643++ {
		if yyhl3643 {
			if yyj3643 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3643Slc = r.DecodeBytes(yys3643Slc, true, true)
		yys3643 := string(yys3643Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3643 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "Follow":
			if r.TryDecodeAsNil() {
				x.Follow = false
			} else {
				x.Follow = bool(r.DecodeBool())
			}
		case "Previous":
			if r.TryDecodeAsNil() {
				x.Previous = false
			} else {
				x.Previous = bool(r.DecodeBool())
			}
		case "SinceSeconds":
			if r.TryDecodeAsNil() {
				if x.SinceSeconds != nil {
					x.SinceSeconds = nil
				}
			} else {
				if x.SinceSeconds == nil {
					x.SinceSeconds = new(int64)
				}
				yym3650 := z.DecBinary()
				_ = yym3650
				if false {
				} else {
					*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "SinceTime":
			if r.TryDecodeAsNil() {
				if x.SinceTime != nil {
					x.SinceTime = nil
				}
			} else {
				if x.SinceTime == nil {
					x.SinceTime = new(pkg2_unversioned.Time)
				}
				yym3652 := z.DecBinary()
				_ = yym3652
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym3652 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym3652 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.SinceTime)
				} else {
					z.DecFallback(x.SinceTime, false)
				}
			}
		case "Timestamps":
			if r.TryDecodeAsNil() {
				x.Timestamps = false
			} else {
				x.Timestamps = bool(r.DecodeBool())
			}
		case "TailLines":
			if r.TryDecodeAsNil() {
				if x.TailLines != nil {
					x.TailLines = nil
				}
			} else {
				if x.TailLines == nil {
					x.TailLines = new(int64)
				}
				yym3655 := z.DecBinary()
				_ = yym3655
				if false {
				} else {
					*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
				}
			}
		case "LimitBytes":
			if r.TryDecodeAsNil() {
				if x.LimitBytes != nil {
					x.LimitBytes = nil
				}
			} else {
				if x.LimitBytes == nil {
					x.LimitBytes = new(int64)
				}
				yym3657 := z.DecBinary()
				_ = yym3657
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3643)
		} // end switch yys3643
	} // end for yyj3643
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodLogOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3658 int
	var yyb3658 bool
	var yyhl3658 bool = l >= 0
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SinceSeconds != nil {
			x.SinceSeconds = nil
		}
	} else {
		if x.SinceSeconds == nil {
			x.SinceSeconds = new(int64)
		}
		yym3665 := z.DecBinary()
		_ = yym3665
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SinceTime != nil {
			x.SinceTime = nil
		}
	} else {
		if x.SinceTime == nil {
			x.SinceTime = new(pkg2_unversioned.Time)
		}
		yym3667 := z.DecBinary()
		_ = yym3667
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym3667 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym3667 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.TailLines != nil {
			x.TailLines = nil
		}
	} else {
		if x.TailLines == nil {
			x.TailLines = new(int64)
		}
		yym3670 := z.DecBinary()
		_ = yym3670
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj3658++
	if yyhl3658 {
		yyb3658 = yyj3658 > l
	} else {
		yyb3658 = r.CheckBreak()
	}
	if yyb3658 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.LimitBytes != nil {
			x.LimitBytes = nil
		}
	} else {
		if x.LimitBytes == nil {
			x.LimitBytes = new(int64)
		}
		yym3672 := z.DecBinary()
		_ = yym3672
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj3658++
		if yyhl3658 {
			yyb3658 = yyj3658 > l
		} else {
			yyb3658 = r.CheckBreak()
		}
		if yyb3658 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3658-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodAttachOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3673 := z.EncBinary()
		_ = yym3673
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3674 := !z.EncBinary()
			yy2arr3674 := z.EncBasicHandle().StructToArray
			var yyq3674 [7]bool
			_, _, _ = yysep3674, yyq3674, yy2arr3674
			const yyr3674 bool = false
			yyq3674[0] = x.Kind != ""
			yyq3674[1] = x.APIVersion != ""
			yyq3674[2] = x.Stdin != false
			yyq3674[3] = x.Stdout != false
			yyq3674[4] = x.Stderr != false
			yyq3674[5] = x.TTY != false
			yyq3674[6] = x.Container != ""
			var yynn3674 int
			if yyr3674 || yy2arr3674 {
				r.EncodeArrayStart(7)
			} else {
				yynn3674 = 0
				for _, b := range yyq3674 {
					if b {
						yynn3674++
					}
				}
				r.EncodeMapStart(yynn3674)
				yynn3674 = 0
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[0] {
					yym3676 := z.EncBinary()
					_ = yym3676
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3674[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3677 := z.EncBinary()
					_ = yym3677
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[1] {
					yym3679 := z.EncBinary()
					_ = yym3679
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3674[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3680 := z.EncBinary()
					_ = yym3680
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[2] {
					yym3682 := z.EncBinary()
					_ = yym3682
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3674[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3683 := z.EncBinary()
					_ = yym3683
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[3] {
					yym3685 := z.EncBinary()
					_ = yym3685
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3674[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3686 := z.EncBinary()
					_ = yym3686
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[4] {
					yym3688 := z.EncBinary()
					_ = yym3688
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3674[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3689 := z.EncBinary()
					_ = yym3689
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[5] {
					yym3691 := z.EncBinary()
					_ = yym3691
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq3674[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3692 := z.EncBinary()
					_ = yym3692
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3674[6] {
					yym3694 := z.EncBinary()
					_ = yym3694
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3674[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3695 := z.EncBinary()
					_ = yym3695
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yyr3674 || yy2arr3674 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodAttachOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3696 := z.DecBinary()
	_ = yym3696
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3697 := r.ContainerType()
		if yyct3697 == codecSelferValueTypeMap1234 {
			yyl3697 := r.ReadMapStart()
			if yyl3697 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3697, d)
			}
		} else if yyct3697 == codecSelferValueTypeArray1234 {
			yyl3697 := r.ReadArrayStart()
			if yyl3697 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3697, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodAttachOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3698Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3698Slc
	var yyhl3698 bool = l >= 0
	for yyj3698 := 0; ; yyj3698++ {
		if yyhl3698 {
			if yyj3698 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3698Slc = r.DecodeBytes(yys3698Slc, true, true)
		yys3698 := string(yys3698Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3698 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "tty":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3698)
		} // end switch yys3698
	} // end for yyj3698
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodAttachOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3706 int
	var yyb3706 bool
	var yyhl3706 bool = l >= 0
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj3706++
	if yyhl3706 {
		yyb3706 = yyj3706 > l
	} else {
		yyb3706 = r.CheckBreak()
	}
	if yyb3706 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	for {
		yyj3706++
		if yyhl3706 {
			yyb3706 = yyj3706 > l
		} else {
			yyb3706 = r.CheckBreak()
		}
		if yyb3706 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3706-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodExecOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3714 := z.EncBinary()
		_ = yym3714
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3715 := !z.EncBinary()
			yy2arr3715 := z.EncBasicHandle().StructToArray
			var yyq3715 [8]bool
			_, _, _ = yysep3715, yyq3715, yy2arr3715
			const yyr3715 bool = false
			yyq3715[0] = x.Kind != ""
			yyq3715[1] = x.APIVersion != ""
			var yynn3715 int
			if yyr3715 || yy2arr3715 {
				r.EncodeArrayStart(8)
			} else {
				yynn3715 = 6
				for _, b := range yyq3715 {
					if b {
						yynn3715++
					}
				}
				r.EncodeMapStart(yynn3715)
				yynn3715 = 0
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3715[0] {
					yym3717 := z.EncBinary()
					_ = yym3717
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3715[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3718 := z.EncBinary()
					_ = yym3718
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3715[1] {
					yym3720 := z.EncBinary()
					_ = yym3720
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3715[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3721 := z.EncBinary()
					_ = yym3721
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3723 := z.EncBinary()
				_ = yym3723
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdin"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3724 := z.EncBinary()
				_ = yym3724
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3726 := z.EncBinary()
				_ = yym3726
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stdout"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3727 := z.EncBinary()
				_ = yym3727
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3729 := z.EncBinary()
				_ = yym3729
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Stderr"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3730 := z.EncBinary()
				_ = yym3730
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3732 := z.EncBinary()
				_ = yym3732
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("TTY"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3733 := z.EncBinary()
				_ = yym3733
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3735 := z.EncBinary()
				_ = yym3735
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Container"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3736 := z.EncBinary()
				_ = yym3736
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym3738 := z.EncBinary()
					_ = yym3738
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Command"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym3739 := z.EncBinary()
					_ = yym3739
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yyr3715 || yy2arr3715 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodExecOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3740 := z.DecBinary()
	_ = yym3740
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3741 := r.ContainerType()
		if yyct3741 == codecSelferValueTypeMap1234 {
			yyl3741 := r.ReadMapStart()
			if yyl3741 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3741, d)
			}
		} else if yyct3741 == codecSelferValueTypeArray1234 {
			yyl3741 := r.ReadArrayStart()
			if yyl3741 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3741, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodExecOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3742Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3742Slc
	var yyhl3742 bool = l >= 0
	for yyj3742 := 0; ; yyj3742++ {
		if yyhl3742 {
			if yyj3742 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3742Slc = r.DecodeBytes(yys3742Slc, true, true)
		yys3742 := string(yys3742Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3742 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Stdin":
			if r.TryDecodeAsNil() {
				x.Stdin = false
			} else {
				x.Stdin = bool(r.DecodeBool())
			}
		case "Stdout":
			if r.TryDecodeAsNil() {
				x.Stdout = false
			} else {
				x.Stdout = bool(r.DecodeBool())
			}
		case "Stderr":
			if r.TryDecodeAsNil() {
				x.Stderr = false
			} else {
				x.Stderr = bool(r.DecodeBool())
			}
		case "TTY":
			if r.TryDecodeAsNil() {
				x.TTY = false
			} else {
				x.TTY = bool(r.DecodeBool())
			}
		case "Container":
			if r.TryDecodeAsNil() {
				x.Container = ""
			} else {
				x.Container = string(r.DecodeString())
			}
		case "Command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv3750 := &x.Command
				yym3751 := z.DecBinary()
				_ = yym3751
				if false {
				} else {
					z.F.DecSliceStringX(yyv3750, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3742)
		} // end switch yys3742
	} // end for yyj3742
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodExecOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3752 int
	var yyb3752 bool
	var yyhl3752 bool = l >= 0
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stdout = false
	} else {
		x.Stdout = bool(r.DecodeBool())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Stderr = false
	} else {
		x.Stderr = bool(r.DecodeBool())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj3752++
	if yyhl3752 {
		yyb3752 = yyj3752 > l
	} else {
		yyb3752 = r.CheckBreak()
	}
	if yyb3752 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv3760 := &x.Command
		yym3761 := z.DecBinary()
		_ = yym3761
		if false {
		} else {
			z.F.DecSliceStringX(yyv3760, false, d)
		}
	}
	for {
		yyj3752++
		if yyhl3752 {
			yyb3752 = yyj3752 > l
		} else {
			yyb3752 = r.CheckBreak()
		}
		if yyb3752 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3752-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *PodProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3762 := z.EncBinary()
		_ = yym3762
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3763 := !z.EncBinary()
			yy2arr3763 := z.EncBasicHandle().StructToArray
			var yyq3763 [3]bool
			_, _, _ = yysep3763, yyq3763, yy2arr3763
			const yyr3763 bool = false
			yyq3763[0] = x.Kind != ""
			yyq3763[1] = x.APIVersion != ""
			var yynn3763 int
			if yyr3763 || yy2arr3763 {
				r.EncodeArrayStart(3)
			} else {
				yynn3763 = 1
				for _, b := range yyq3763 {
					if b {
						yynn3763++
					}
				}
				r.EncodeMapStart(yynn3763)
				yynn3763 = 0
			}
			if yyr3763 || yy2arr3763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3763[0] {
					yym3765 := z.EncBinary()
					_ = yym3765
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3763[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3766 := z.EncBinary()
					_ = yym3766
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3763 || yy2arr3763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3763[1] {
					yym3768 := z.EncBinary()
					_ = yym3768
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3763[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3769 := z.EncBinary()
					_ = yym3769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3763 || yy2arr3763 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3771 := z.EncBinary()
				_ = yym3771
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3772 := z.EncBinary()
				_ = yym3772
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3763 || yy2arr3763 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *PodProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3773 := z.DecBinary()
	_ = yym3773
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3774 := r.ContainerType()
		if yyct3774 == codecSelferValueTypeMap1234 {
			yyl3774 := r.ReadMapStart()
			if yyl3774 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3774, d)
			}
		} else if yyct3774 == codecSelferValueTypeArray1234 {
			yyl3774 := r.ReadArrayStart()
			if yyl3774 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3774, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *PodProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3775Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3775Slc
	var yyhl3775 bool = l >= 0
	for yyj3775 := 0; ; yyj3775++ {
		if yyhl3775 {
			if yyj3775 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3775Slc = r.DecodeBytes(yys3775Slc, true, true)
		yys3775 := string(yys3775Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3775 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3775)
		} // end switch yys3775
	} // end for yyj3775
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *PodProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3779 int
	var yyb3779 bool
	var yyhl3779 bool = l >= 0
	yyj3779++
	if yyhl3779 {
		yyb3779 = yyj3779 > l
	} else {
		yyb3779 = r.CheckBreak()
	}
	if yyb3779 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3779++
	if yyhl3779 {
		yyb3779 = yyj3779 > l
	} else {
		yyb3779 = r.CheckBreak()
	}
	if yyb3779 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3779++
	if yyhl3779 {
		yyb3779 = yyj3779 > l
	} else {
		yyb3779 = r.CheckBreak()
	}
	if yyb3779 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3779++
		if yyhl3779 {
			yyb3779 = yyj3779 > l
		} else {
			yyb3779 = r.CheckBreak()
		}
		if yyb3779 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3779-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *NodeProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3783 := z.EncBinary()
		_ = yym3783
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3784 := !z.EncBinary()
			yy2arr3784 := z.EncBasicHandle().StructToArray
			var yyq3784 [3]bool
			_, _, _ = yysep3784, yyq3784, yy2arr3784
			const yyr3784 bool = false
			yyq3784[0] = x.Kind != ""
			yyq3784[1] = x.APIVersion != ""
			var yynn3784 int
			if yyr3784 || yy2arr3784 {
				r.EncodeArrayStart(3)
			} else {
				yynn3784 = 1
				for _, b := range yyq3784 {
					if b {
						yynn3784++
					}
				}
				r.EncodeMapStart(yynn3784)
				yynn3784 = 0
			}
			if yyr3784 || yy2arr3784 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3784[0] {
					yym3786 := z.EncBinary()
					_ = yym3786
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3784[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3787 := z.EncBinary()
					_ = yym3787
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3784 || yy2arr3784 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3784[1] {
					yym3789 := z.EncBinary()
					_ = yym3789
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3784[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3790 := z.EncBinary()
					_ = yym3790
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3784 || yy2arr3784 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3792 := z.EncBinary()
				_ = yym3792
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3793 := z.EncBinary()
				_ = yym3793
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3784 || yy2arr3784 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *NodeProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3794 := z.DecBinary()
	_ = yym3794
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3795 := r.ContainerType()
		if yyct3795 == codecSelferValueTypeMap1234 {
			yyl3795 := r.ReadMapStart()
			if yyl3795 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3795, d)
			}
		} else if yyct3795 == codecSelferValueTypeArray1234 {
			yyl3795 := r.ReadArrayStart()
			if yyl3795 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3795, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *NodeProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3796Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3796Slc
	var yyhl3796 bool = l >= 0
	for yyj3796 := 0; ; yyj3796++ {
		if yyhl3796 {
			if yyj3796 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3796Slc = r.DecodeBytes(yys3796Slc, true, true)
		yys3796 := string(yys3796Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3796 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3796)
		} // end switch yys3796
	} // end for yyj3796
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *NodeProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3800 int
	var yyb3800 bool
	var yyhl3800 bool = l >= 0
	yyj3800++
	if yyhl3800 {
		yyb3800 = yyj3800 > l
	} else {
		yyb3800 = r.CheckBreak()
	}
	if yyb3800 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3800++
	if yyhl3800 {
		yyb3800 = yyj3800 > l
	} else {
		yyb3800 = r.CheckBreak()
	}
	if yyb3800 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3800++
	if yyhl3800 {
		yyb3800 = yyj3800 > l
	} else {
		yyb3800 = r.CheckBreak()
	}
	if yyb3800 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3800++
		if yyhl3800 {
			yyb3800 = yyj3800 > l
		} else {
			yyb3800 = r.CheckBreak()
		}
		if yyb3800 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3800-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ServiceProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3804 := z.EncBinary()
		_ = yym3804
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3805 := !z.EncBinary()
			yy2arr3805 := z.EncBasicHandle().StructToArray
			var yyq3805 [3]bool
			_, _, _ = yysep3805, yyq3805, yy2arr3805
			const yyr3805 bool = false
			yyq3805[0] = x.Kind != ""
			yyq3805[1] = x.APIVersion != ""
			var yynn3805 int
			if yyr3805 || yy2arr3805 {
				r.EncodeArrayStart(3)
			} else {
				yynn3805 = 1
				for _, b := range yyq3805 {
					if b {
						yynn3805++
					}
				}
				r.EncodeMapStart(yynn3805)
				yynn3805 = 0
			}
			if yyr3805 || yy2arr3805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3805[0] {
					yym3807 := z.EncBinary()
					_ = yym3807
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3805[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3808 := z.EncBinary()
					_ = yym3808
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3805 || yy2arr3805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3805[1] {
					yym3810 := z.EncBinary()
					_ = yym3810
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3805[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3811 := z.EncBinary()
					_ = yym3811
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3805 || yy2arr3805 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3813 := z.EncBinary()
				_ = yym3813
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3814 := z.EncBinary()
				_ = yym3814
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr3805 || yy2arr3805 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ServiceProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3815 := z.DecBinary()
	_ = yym3815
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3816 := r.ContainerType()
		if yyct3816 == codecSelferValueTypeMap1234 {
			yyl3816 := r.ReadMapStart()
			if yyl3816 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3816, d)
			}
		} else if yyct3816 == codecSelferValueTypeArray1234 {
			yyl3816 := r.ReadArrayStart()
			if yyl3816 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3816, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ServiceProxyOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3817Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3817Slc
	var yyhl3817 bool = l >= 0
	for yyj3817 := 0; ; yyj3817++ {
		if yyhl3817 {
			if yyj3817 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3817Slc = r.DecodeBytes(yys3817Slc, true, true)
		yys3817 := string(yys3817Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3817 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "Path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3817)
		} // end switch yys3817
	} // end for yyj3817
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ServiceProxyOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3821 int
	var yyb3821 bool
	var yyhl3821 bool = l >= 0
	yyj3821++
	if yyhl3821 {
		yyb3821 = yyj3821 > l
	} else {
		yyb3821 = r.CheckBreak()
	}
	if yyb3821 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3821++
	if yyhl3821 {
		yyb3821 = yyj3821 > l
	} else {
		yyb3821 = r.CheckBreak()
	}
	if yyb3821 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3821++
	if yyhl3821 {
		yyb3821 = yyj3821 > l
	} else {
		yyb3821 = r.CheckBreak()
	}
	if yyb3821 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	for {
		yyj3821++
		if yyhl3821 {
			yyb3821 = yyj3821 > l
		} else {
			yyb3821 = r.CheckBreak()
		}
		if yyb3821 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3821-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *OwnerReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3825 := z.EncBinary()
		_ = yym3825
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3826 := !z.EncBinary()
			yy2arr3826 := z.EncBasicHandle().StructToArray
			var yyq3826 [5]bool
			_, _, _ = yysep3826, yyq3826, yy2arr3826
			const yyr3826 bool = false
			yyq3826[4] = x.Controller != nil
			var yynn3826 int
			if yyr3826 || yy2arr3826 {
				r.EncodeArrayStart(5)
			} else {
				yynn3826 = 4
				for _, b := range yyq3826 {
					if b {
						yynn3826++
					}
				}
				r.EncodeMapStart(yynn3826)
				yynn3826 = 0
			}
			if yyr3826 || yy2arr3826 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3828 := z.EncBinary()
				_ = yym3828
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3829 := z.EncBinary()
				_ = yym3829
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr3826 || yy2arr3826 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3831 := z.EncBinary()
				_ = yym3831
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("kind"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3832 := z.EncBinary()
				_ = yym3832
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
				}
			}
			if yyr3826 || yy2arr3826 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3834 := z.EncBinary()
				_ = yym3834
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3835 := z.EncBinary()
				_ = yym3835
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr3826 || yy2arr3826 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3837 := z.EncBinary()
				_ = yym3837
				if false {
				} else if z.HasExtensions() && z.EncExt(x.UID) {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.UID))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("uid"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3838 := z.EncBinary()
				_ = yym3838
				if false {
				} else if z.HasExtensions() && z.EncExt(x.UID) {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.UID))
				}
			}
			if yyr3826 || yy2arr3826 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3826[4] {
					if x.Controller == nil {
						r.EncodeNil()
					} else {
						yy3840 := *x.Controller
						yym3841 := z.EncBinary()
						_ = yym3841
						if false {
						} else {
							r.EncodeBool(bool(yy3840))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3826[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("controller"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Controller == nil {
						r.EncodeNil()
					} else {
						yy3842 := *x.Controller
						yym3843 := z.EncBinary()
						_ = yym3843
						if false {
						} else {
							r.EncodeBool(bool(yy3842))
						}
					}
				}
			}
			if yyr3826 || yy2arr3826 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *OwnerReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3844 := z.DecBinary()
	_ = yym3844
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3845 := r.ContainerType()
		if yyct3845 == codecSelferValueTypeMap1234 {
			yyl3845 := r.ReadMapStart()
			if yyl3845 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3845, d)
			}
		} else if yyct3845 == codecSelferValueTypeArray1234 {
			yyl3845 := r.ReadArrayStart()
			if yyl3845 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3845, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *OwnerReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3846Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3846Slc
	var yyhl3846 bool = l >= 0
	for yyj3846 := 0; ; yyj3846++ {
		if yyhl3846 {
			if yyj3846 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3846Slc = r.DecodeBytes(yys3846Slc, true, true)
		yys3846 := string(yys3846Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3846 {
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "controller":
			if r.TryDecodeAsNil() {
				if x.Controller != nil {
					x.Controller = nil
				}
			} else {
				if x.Controller == nil {
					x.Controller = new(bool)
				}
				yym3852 := z.DecBinary()
				_ = yym3852
				if false {
				} else {
					*((*bool)(x.Controller)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3846)
		} // end switch yys3846
	} // end for yyj3846
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *OwnerReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3853 int
	var yyb3853 bool
	var yyhl3853 bool = l >= 0
	yyj3853++
	if yyhl3853 {
		yyb3853 = yyj3853 > l
	} else {
		yyb3853 = r.CheckBreak()
	}
	if yyb3853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3853++
	if yyhl3853 {
		yyb3853 = yyj3853 > l
	} else {
		yyb3853 = r.CheckBreak()
	}
	if yyb3853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3853++
	if yyhl3853 {
		yyb3853 = yyj3853 > l
	} else {
		yyb3853 = r.CheckBreak()
	}
	if yyb3853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj3853++
	if yyhl3853 {
		yyb3853 = yyj3853 > l
	} else {
		yyb3853 = r.CheckBreak()
	}
	if yyb3853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj3853++
	if yyhl3853 {
		yyb3853 = yyj3853 > l
	} else {
		yyb3853 = r.CheckBreak()
	}
	if yyb3853 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Controller != nil {
			x.Controller = nil
		}
	} else {
		if x.Controller == nil {
			x.Controller = new(bool)
		}
		yym3859 := z.DecBinary()
		_ = yym3859
		if false {
		} else {
			*((*bool)(x.Controller)) = r.DecodeBool()
		}
	}
	for {
		yyj3853++
		if yyhl3853 {
			yyb3853 = yyj3853 > l
		} else {
			yyb3853 = r.CheckBreak()
		}
		if yyb3853 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3853-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3860 := z.EncBinary()
		_ = yym3860
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3861 := !z.EncBinary()
			yy2arr3861 := z.EncBasicHandle().StructToArray
			var yyq3861 [7]bool
			_, _, _ = yysep3861, yyq3861, yy2arr3861
			const yyr3861 bool = false
			yyq3861[0] = x.Kind != ""
			yyq3861[1] = x.Namespace != ""
			yyq3861[2] = x.Name != ""
			yyq3861[3] = x.UID != ""
			yyq3861[4] = x.APIVersion != ""
			yyq3861[5] = x.ResourceVersion != ""
			yyq3861[6] = x.FieldPath != ""
			var yynn3861 int
			if yyr3861 || yy2arr3861 {
				r.EncodeArrayStart(7)
			} else {
				yynn3861 = 0
				for _, b := range yyq3861 {
					if b {
						yynn3861++
					}
				}
				r.EncodeMapStart(yynn3861)
				yynn3861 = 0
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[0] {
					yym3863 := z.EncBinary()
					_ = yym3863
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3864 := z.EncBinary()
					_ = yym3864
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[1] {
					yym3866 := z.EncBinary()
					_ = yym3866
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3867 := z.EncBinary()
					_ = yym3867
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[2] {
					yym3869 := z.EncBinary()
					_ = yym3869
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3870 := z.EncBinary()
					_ = yym3870
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[3] {
					yym3872 := z.EncBinary()
					_ = yym3872
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3873 := z.EncBinary()
					_ = yym3873
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[4] {
					yym3875 := z.EncBinary()
					_ = yym3875
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3876 := z.EncBinary()
					_ = yym3876
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[5] {
					yym3878 := z.EncBinary()
					_ = yym3878
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3879 := z.EncBinary()
					_ = yym3879
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3861[6] {
					yym3881 := z.EncBinary()
					_ = yym3881
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3861[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3882 := z.EncBinary()
					_ = yym3882
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yyr3861 || yy2arr3861 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3883 := z.DecBinary()
	_ = yym3883
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3884 := r.ContainerType()
		if yyct3884 == codecSelferValueTypeMap1234 {
			yyl3884 := r.ReadMapStart()
			if yyl3884 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3884, d)
			}
		} else if yyct3884 == codecSelferValueTypeArray1234 {
			yyl3884 := r.ReadArrayStart()
			if yyl3884 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3884, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3885Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3885Slc
	var yyhl3885 bool = l >= 0
	for yyj3885 := 0; ; yyj3885++ {
		if yyhl3885 {
			if yyj3885 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3885Slc = r.DecodeBytes(yys3885Slc, true, true)
		yys3885 := string(yys3885Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3885 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "namespace":
			if r.TryDecodeAsNil() {
				x.Namespace = ""
			} else {
				x.Namespace = string(r.DecodeString())
			}
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "uid":
			if r.TryDecodeAsNil() {
				x.UID = ""
			} else {
				x.UID = pkg1_types.UID(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "resourceVersion":
			if r.TryDecodeAsNil() {
				x.ResourceVersion = ""
			} else {
				x.ResourceVersion = string(r.DecodeString())
			}
		case "fieldPath":
			if r.TryDecodeAsNil() {
				x.FieldPath = ""
			} else {
				x.FieldPath = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3885)
		} // end switch yys3885
	} // end for yyj3885
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3893 int
	var yyb3893 bool
	var yyhl3893 bool = l >= 0
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj3893++
	if yyhl3893 {
		yyb3893 = yyj3893 > l
	} else {
		yyb3893 = r.CheckBreak()
	}
	if yyb3893 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FieldPath = ""
	} else {
		x.FieldPath = string(r.DecodeString())
	}
	for {
		yyj3893++
		if yyhl3893 {
			yyb3893 = yyj3893 > l
		} else {
			yyb3893 = r.CheckBreak()
		}
		if yyb3893 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3893-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LocalObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3901 := z.EncBinary()
		_ = yym3901
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3902 := !z.EncBinary()
			yy2arr3902 := z.EncBasicHandle().StructToArray
			var yyq3902 [1]bool
			_, _, _ = yysep3902, yyq3902, yy2arr3902
			const yyr3902 bool = false
			var yynn3902 int
			if yyr3902 || yy2arr3902 {
				r.EncodeArrayStart(1)
			} else {
				yynn3902 = 1
				for _, b := range yyq3902 {
					if b {
						yynn3902++
					}
				}
				r.EncodeMapStart(yynn3902)
				yynn3902 = 0
			}
			if yyr3902 || yy2arr3902 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym3904 := z.EncBinary()
				_ = yym3904
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym3905 := z.EncBinary()
				_ = yym3905
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr3902 || yy2arr3902 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LocalObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3906 := z.DecBinary()
	_ = yym3906
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3907 := r.ContainerType()
		if yyct3907 == codecSelferValueTypeMap1234 {
			yyl3907 := r.ReadMapStart()
			if yyl3907 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3907, d)
			}
		} else if yyct3907 == codecSelferValueTypeArray1234 {
			yyl3907 := r.ReadArrayStart()
			if yyl3907 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3907, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LocalObjectReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3908Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3908Slc
	var yyhl3908 bool = l >= 0
	for yyj3908 := 0; ; yyj3908++ {
		if yyhl3908 {
			if yyj3908 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3908Slc = r.DecodeBytes(yys3908Slc, true, true)
		yys3908 := string(yys3908Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3908 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3908)
		} // end switch yys3908
	} // end for yyj3908
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LocalObjectReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3910 int
	var yyb3910 bool
	var yyhl3910 bool = l >= 0
	yyj3910++
	if yyhl3910 {
		yyb3910 = yyj3910 > l
	} else {
		yyb3910 = r.CheckBreak()
	}
	if yyb3910 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	for {
		yyj3910++
		if yyhl3910 {
			yyb3910 = yyj3910 > l
		} else {
			yyb3910 = r.CheckBreak()
		}
		if yyb3910 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3910-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SerializedReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3912 := z.EncBinary()
		_ = yym3912
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3913 := !z.EncBinary()
			yy2arr3913 := z.EncBasicHandle().StructToArray
			var yyq3913 [3]bool
			_, _, _ = yysep3913, yyq3913, yy2arr3913
			const yyr3913 bool = false
			yyq3913[0] = x.Kind != ""
			yyq3913[1] = x.APIVersion != ""
			yyq3913[2] = true
			var yynn3913 int
			if yyr3913 || yy2arr3913 {
				r.EncodeArrayStart(3)
			} else {
				yynn3913 = 0
				for _, b := range yyq3913 {
					if b {
						yynn3913++
					}
				}
				r.EncodeMapStart(yynn3913)
				yynn3913 = 0
			}
			if yyr3913 || yy2arr3913 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3913[0] {
					yym3915 := z.EncBinary()
					_ = yym3915
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3913[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3916 := z.EncBinary()
					_ = yym3916
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3913 || yy2arr3913 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3913[1] {
					yym3918 := z.EncBinary()
					_ = yym3918
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3913[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3919 := z.EncBinary()
					_ = yym3919
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3913 || yy2arr3913 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3913[2] {
					yy3921 := &x.Reference
					yy3921.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3913[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3922 := &x.Reference
					yy3922.CodecEncodeSelf(e)
				}
			}
			if yyr3913 || yy2arr3913 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SerializedReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3923 := z.DecBinary()
	_ = yym3923
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3924 := r.ContainerType()
		if yyct3924 == codecSelferValueTypeMap1234 {
			yyl3924 := r.ReadMapStart()
			if yyl3924 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3924, d)
			}
		} else if yyct3924 == codecSelferValueTypeArray1234 {
			yyl3924 := r.ReadArrayStart()
			if yyl3924 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3924, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SerializedReference) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3925Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3925Slc
	var yyhl3925 bool = l >= 0
	for yyj3925 := 0; ; yyj3925++ {
		if yyhl3925 {
			if yyj3925 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3925Slc = r.DecodeBytes(yys3925Slc, true, true)
		yys3925 := string(yys3925Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3925 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "reference":
			if r.TryDecodeAsNil() {
				x.Reference = ObjectReference{}
			} else {
				yyv3928 := &x.Reference
				yyv3928.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3925)
		} // end switch yys3925
	} // end for yyj3925
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SerializedReference) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3929 int
	var yyb3929 bool
	var yyhl3929 bool = l >= 0
	yyj3929++
	if yyhl3929 {
		yyb3929 = yyj3929 > l
	} else {
		yyb3929 = r.CheckBreak()
	}
	if yyb3929 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3929++
	if yyhl3929 {
		yyb3929 = yyj3929 > l
	} else {
		yyb3929 = r.CheckBreak()
	}
	if yyb3929 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3929++
	if yyhl3929 {
		yyb3929 = yyj3929 > l
	} else {
		yyb3929 = r.CheckBreak()
	}
	if yyb3929 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reference = ObjectReference{}
	} else {
		yyv3932 := &x.Reference
		yyv3932.CodecDecodeSelf(d)
	}
	for {
		yyj3929++
		if yyhl3929 {
			yyb3929 = yyj3929 > l
		} else {
			yyb3929 = r.CheckBreak()
		}
		if yyb3929 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3929-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EventSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3933 := z.EncBinary()
		_ = yym3933
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3934 := !z.EncBinary()
			yy2arr3934 := z.EncBasicHandle().StructToArray
			var yyq3934 [2]bool
			_, _, _ = yysep3934, yyq3934, yy2arr3934
			const yyr3934 bool = false
			yyq3934[0] = x.Component != ""
			yyq3934[1] = x.Host != ""
			var yynn3934 int
			if yyr3934 || yy2arr3934 {
				r.EncodeArrayStart(2)
			} else {
				yynn3934 = 0
				for _, b := range yyq3934 {
					if b {
						yynn3934++
					}
				}
				r.EncodeMapStart(yynn3934)
				yynn3934 = 0
			}
			if yyr3934 || yy2arr3934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3934[0] {
					yym3936 := z.EncBinary()
					_ = yym3936
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3934[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3937 := z.EncBinary()
					_ = yym3937
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr3934 || yy2arr3934 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3934[1] {
					yym3939 := z.EncBinary()
					_ = yym3939
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3934[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3940 := z.EncBinary()
					_ = yym3940
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr3934 || yy2arr3934 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EventSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3941 := z.DecBinary()
	_ = yym3941
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3942 := r.ContainerType()
		if yyct3942 == codecSelferValueTypeMap1234 {
			yyl3942 := r.ReadMapStart()
			if yyl3942 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3942, d)
			}
		} else if yyct3942 == codecSelferValueTypeArray1234 {
			yyl3942 := r.ReadArrayStart()
			if yyl3942 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3942, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventSource) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3943Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3943Slc
	var yyhl3943 bool = l >= 0
	for yyj3943 := 0; ; yyj3943++ {
		if yyhl3943 {
			if yyj3943 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3943Slc = r.DecodeBytes(yys3943Slc, true, true)
		yys3943 := string(yys3943Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3943 {
		case "component":
			if r.TryDecodeAsNil() {
				x.Component = ""
			} else {
				x.Component = string(r.DecodeString())
			}
		case "host":
			if r.TryDecodeAsNil() {
				x.Host = ""
			} else {
				x.Host = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3943)
		} // end switch yys3943
	} // end for yyj3943
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EventSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3946 int
	var yyb3946 bool
	var yyhl3946 bool = l >= 0
	yyj3946++
	if yyhl3946 {
		yyb3946 = yyj3946 > l
	} else {
		yyb3946 = r.CheckBreak()
	}
	if yyb3946 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Component = ""
	} else {
		x.Component = string(r.DecodeString())
	}
	yyj3946++
	if yyhl3946 {
		yyb3946 = yyj3946 > l
	} else {
		yyb3946 = r.CheckBreak()
	}
	if yyb3946 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	for {
		yyj3946++
		if yyhl3946 {
			yyb3946 = yyj3946 > l
		} else {
			yyb3946 = r.CheckBreak()
		}
		if yyb3946 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj3946-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Event) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3949 := z.EncBinary()
		_ = yym3949
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3950 := !z.EncBinary()
			yy2arr3950 := z.EncBasicHandle().StructToArray
			var yyq3950 [11]bool
			_, _, _ = yysep3950, yyq3950, yy2arr3950
			const yyr3950 bool = false
			yyq3950[0] = x.Kind != ""
			yyq3950[1] = x.APIVersion != ""
			yyq3950[2] = true
			yyq3950[3] = true
			yyq3950[4] = x.Reason != ""
			yyq3950[5] = x.Message != ""
			yyq3950[6] = true
			yyq3950[7] = true
			yyq3950[8] = true
			yyq3950[9] = x.Count != 0
			yyq3950[10] = x.Type != ""
			var yynn3950 int
			if yyr3950 || yy2arr3950 {
				r.EncodeArrayStart(11)
			} else {
				yynn3950 = 0
				for _, b := range yyq3950 {
					if b {
						yynn3950++
					}
				}
				r.EncodeMapStart(yynn3950)
				yynn3950 = 0
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[0] {
					yym3952 := z.EncBinary()
					_ = yym3952
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3950[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3953 := z.EncBinary()
					_ = yym3953
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[1] {
					yym3955 := z.EncBinary()
					_ = yym3955
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3950[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3956 := z.EncBinary()
					_ = yym3956
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[2] {
					yy3958 := &x.ObjectMeta
					yy3958.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3950[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3959 := &x.ObjectMeta
					yy3959.CodecEncodeSelf(e)
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[3] {
					yy3961 := &x.InvolvedObject
					yy3961.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3950[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3962 := &x.InvolvedObject
					yy3962.CodecEncodeSelf(e)
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[4] {
					yym3964 := z.EncBinary()
					_ = yym3964
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3950[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3965 := z.EncBinary()
					_ = yym3965
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[5] {
					yym3967 := z.EncBinary()
					_ = yym3967
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3950[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3968 := z.EncBinary()
					_ = yym3968
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[6] {
					yy3970 := &x.Source
					yy3970.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3950[6] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3971 := &x.Source
					yy3971.CodecEncodeSelf(e)
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[7] {
					yy3973 := &x.FirstTimestamp
					yym3974 := z.EncBinary()
					_ = yym3974
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3973) {
					} else if yym3974 {
						z.EncBinaryMarshal(yy3973)
					} else if !yym3974 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3973)
					} else {
						z.EncFallback(yy3973)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3950[7] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3975 := &x.FirstTimestamp
					yym3976 := z.EncBinary()
					_ = yym3976
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3975) {
					} else if yym3976 {
						z.EncBinaryMarshal(yy3975)
					} else if !yym3976 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3975)
					} else {
						z.EncFallback(yy3975)
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[8] {
					yy3978 := &x.LastTimestamp
					yym3979 := z.EncBinary()
					_ = yym3979
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3978) {
					} else if yym3979 {
						z.EncBinaryMarshal(yy3978)
					} else if !yym3979 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3978)
					} else {
						z.EncFallback(yy3978)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3950[8] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy3980 := &x.LastTimestamp
					yym3981 := z.EncBinary()
					_ = yym3981
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3980) {
					} else if yym3981 {
						z.EncBinaryMarshal(yy3980)
					} else if !yym3981 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy3980)
					} else {
						z.EncFallback(yy3980)
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[9] {
					yym3983 := z.EncBinary()
					_ = yym3983
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq3950[9] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3984 := z.EncBinary()
					_ = yym3984
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq3950[10] {
					yym3986 := z.EncBinary()
					_ = yym3986
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3950[10] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym3987 := z.EncBinary()
					_ = yym3987
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3950 || yy2arr3950 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Event) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3988 := z.DecBinary()
	_ = yym3988
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct3989 := r.ContainerType()
		if yyct3989 == codecSelferValueTypeMap1234 {
			yyl3989 := r.ReadMapStart()
			if yyl3989 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl3989, d)
			}
		} else if yyct3989 == codecSelferValueTypeArray1234 {
			yyl3989 := r.ReadArrayStart()
			if yyl3989 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl3989, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Event) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys3990Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3990Slc
	var yyhl3990 bool = l >= 0
	for yyj3990 := 0; ; yyj3990++ {
		if yyhl3990 {
			if yyj3990 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys3990Slc = r.DecodeBytes(yys3990Slc, true, true)
		yys3990 := string(yys3990Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys3990 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv3993 := &x.ObjectMeta
				yyv3993.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv3994 := &x.InvolvedObject
				yyv3994.CodecDecodeSelf(d)
			}
		case "reason":
			if r.TryDecodeAsNil() {
				x.Reason = ""
			} else {
				x.Reason = string(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "source":
			if r.TryDecodeAsNil() {
				x.Source = EventSource{}
			} else {
				yyv3997 := &x.Source
				yyv3997.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv3998 := &x.FirstTimestamp
				yym3999 := z.DecBinary()
				_ = yym3999
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3998) {
				} else if yym3999 {
					z.DecBinaryUnmarshal(yyv3998)
				} else if !yym3999 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3998)
				} else {
					z.DecFallback(yyv3998, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv4000 := &x.LastTimestamp
				yym4001 := z.DecBinary()
				_ = yym4001
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4000) {
				} else if yym4001 {
					z.DecBinaryUnmarshal(yyv4000)
				} else if !yym4001 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4000)
				} else {
					z.DecFallback(yyv4000, false)
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				x.Count = int32(r.DecodeInt(32))
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3990)
		} // end switch yys3990
	} // end for yyj3990
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Event) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4004 int
	var yyb4004 bool
	var yyhl4004 bool = l >= 0
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4007 := &x.ObjectMeta
		yyv4007.CodecDecodeSelf(d)
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv4008 := &x.InvolvedObject
		yyv4008.CodecDecodeSelf(d)
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv4011 := &x.Source
		yyv4011.CodecDecodeSelf(d)
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv4012 := &x.FirstTimestamp
		yym4013 := z.DecBinary()
		_ = yym4013
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4012) {
		} else if yym4013 {
			z.DecBinaryUnmarshal(yyv4012)
		} else if !yym4013 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv4012)
		} else {
			z.DecFallback(yyv4012, false)
		}
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv4014 := &x.LastTimestamp
		yym4015 := z.DecBinary()
		_ = yym4015
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4014) {
		} else if yym4015 {
			z.DecBinaryUnmarshal(yyv4014)
		} else if !yym4015 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv4014)
		} else {
			z.DecFallback(yyv4014, false)
		}
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int32(r.DecodeInt(32))
	}
	yyj4004++
	if yyhl4004 {
		yyb4004 = yyj4004 > l
	} else {
		yyb4004 = r.CheckBreak()
	}
	if yyb4004 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	for {
		yyj4004++
		if yyhl4004 {
			yyb4004 = yyj4004 > l
		} else {
			yyb4004 = r.CheckBreak()
		}
		if yyb4004 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4004-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *EventList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4018 := z.EncBinary()
		_ = yym4018
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4019 := !z.EncBinary()
			yy2arr4019 := z.EncBasicHandle().StructToArray
			var yyq4019 [4]bool
			_, _, _ = yysep4019, yyq4019, yy2arr4019
			const yyr4019 bool = false
			yyq4019[0] = x.Kind != ""
			yyq4019[1] = x.APIVersion != ""
			yyq4019[2] = true
			var yynn4019 int
			if yyr4019 || yy2arr4019 {
				r.EncodeArrayStart(4)
			} else {
				yynn4019 = 1
				for _, b := range yyq4019 {
					if b {
						yynn4019++
					}
				}
				r.EncodeMapStart(yynn4019)
				yynn4019 = 0
			}
			if yyr4019 || yy2arr4019 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4019[0] {
					yym4021 := z.EncBinary()
					_ = yym4021
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4019[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4022 := z.EncBinary()
					_ = yym4022
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4019 || yy2arr4019 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4019[1] {
					yym4024 := z.EncBinary()
					_ = yym4024
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4019[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4025 := z.EncBinary()
					_ = yym4025
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4019 || yy2arr4019 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4019[2] {
					yy4027 := &x.ListMeta
					yym4028 := z.EncBinary()
					_ = yym4028
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4027) {
					} else {
						z.EncFallback(yy4027)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4019[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4029 := &x.ListMeta
					yym4030 := z.EncBinary()
					_ = yym4030
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4029) {
					} else {
						z.EncFallback(yy4029)
					}
				}
			}
			if yyr4019 || yy2arr4019 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4032 := z.EncBinary()
					_ = yym4032
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4033 := z.EncBinary()
					_ = yym4033
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yyr4019 || yy2arr4019 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *EventList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4034 := z.DecBinary()
	_ = yym4034
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4035 := r.ContainerType()
		if yyct4035 == codecSelferValueTypeMap1234 {
			yyl4035 := r.ReadMapStart()
			if yyl4035 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4035, d)
			}
		} else if yyct4035 == codecSelferValueTypeArray1234 {
			yyl4035 := r.ReadArrayStart()
			if yyl4035 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4035, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *EventList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4036Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4036Slc
	var yyhl4036 bool = l >= 0
	for yyj4036 := 0; ; yyj4036++ {
		if yyhl4036 {
			if yyj4036 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4036Slc = r.DecodeBytes(yys4036Slc, true, true)
		yys4036 := string(yys4036Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4036 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4039 := &x.ListMeta
				yym4040 := z.DecBinary()
				_ = yym4040
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4039) {
				} else {
					z.DecFallback(yyv4039, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4041 := &x.Items
				yym4042 := z.DecBinary()
				_ = yym4042
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv4041), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4036)
		} // end switch yys4036
	} // end for yyj4036
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *EventList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4043 int
	var yyb4043 bool
	var yyhl4043 bool = l >= 0
	yyj4043++
	if yyhl4043 {
		yyb4043 = yyj4043 > l
	} else {
		yyb4043 = r.CheckBreak()
	}
	if yyb4043 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4043++
	if yyhl4043 {
		yyb4043 = yyj4043 > l
	} else {
		yyb4043 = r.CheckBreak()
	}
	if yyb4043 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4043++
	if yyhl4043 {
		yyb4043 = yyj4043 > l
	} else {
		yyb4043 = r.CheckBreak()
	}
	if yyb4043 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4046 := &x.ListMeta
		yym4047 := z.DecBinary()
		_ = yym4047
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4046) {
		} else {
			z.DecFallback(yyv4046, false)
		}
	}
	yyj4043++
	if yyhl4043 {
		yyb4043 = yyj4043 > l
	} else {
		yyb4043 = r.CheckBreak()
	}
	if yyb4043 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4048 := &x.Items
		yym4049 := z.DecBinary()
		_ = yym4049
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv4048), d)
		}
	}
	for {
		yyj4043++
		if yyhl4043 {
			yyb4043 = yyj4043 > l
		} else {
			yyb4043 = r.CheckBreak()
		}
		if yyb4043 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4043-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *List) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4050 := z.EncBinary()
		_ = yym4050
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4051 := !z.EncBinary()
			yy2arr4051 := z.EncBasicHandle().StructToArray
			var yyq4051 [4]bool
			_, _, _ = yysep4051, yyq4051, yy2arr4051
			const yyr4051 bool = false
			yyq4051[0] = x.Kind != ""
			yyq4051[1] = x.APIVersion != ""
			yyq4051[2] = true
			var yynn4051 int
			if yyr4051 || yy2arr4051 {
				r.EncodeArrayStart(4)
			} else {
				yynn4051 = 1
				for _, b := range yyq4051 {
					if b {
						yynn4051++
					}
				}
				r.EncodeMapStart(yynn4051)
				yynn4051 = 0
			}
			if yyr4051 || yy2arr4051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4051[0] {
					yym4053 := z.EncBinary()
					_ = yym4053
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4051[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4054 := z.EncBinary()
					_ = yym4054
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4051 || yy2arr4051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4051[1] {
					yym4056 := z.EncBinary()
					_ = yym4056
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4051[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4057 := z.EncBinary()
					_ = yym4057
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4051 || yy2arr4051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4051[2] {
					yy4059 := &x.ListMeta
					yym4060 := z.EncBinary()
					_ = yym4060
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4059) {
					} else {
						z.EncFallback(yy4059)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4051[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4061 := &x.ListMeta
					yym4062 := z.EncBinary()
					_ = yym4062
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4061) {
					} else {
						z.EncFallback(yy4061)
					}
				}
			}
			if yyr4051 || yy2arr4051 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4064 := z.EncBinary()
					_ = yym4064
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg7_runtime.Object)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4065 := z.EncBinary()
					_ = yym4065
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg7_runtime.Object)(x.Items), e)
					}
				}
			}
			if yyr4051 || yy2arr4051 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *List) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4066 := z.DecBinary()
	_ = yym4066
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4067 := r.ContainerType()
		if yyct4067 == codecSelferValueTypeMap1234 {
			yyl4067 := r.ReadMapStart()
			if yyl4067 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4067, d)
			}
		} else if yyct4067 == codecSelferValueTypeArray1234 {
			yyl4067 := r.ReadArrayStart()
			if yyl4067 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4067, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *List) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4068Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4068Slc
	var yyhl4068 bool = l >= 0
	for yyj4068 := 0; ; yyj4068++ {
		if yyhl4068 {
			if yyj4068 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4068Slc = r.DecodeBytes(yys4068Slc, true, true)
		yys4068 := string(yys4068Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4068 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4071 := &x.ListMeta
				yym4072 := z.DecBinary()
				_ = yym4072
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4071) {
				} else {
					z.DecFallback(yyv4071, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4073 := &x.Items
				yym4074 := z.DecBinary()
				_ = yym4074
				if false {
				} else {
					h.decSliceruntime_Object((*[]pkg7_runtime.Object)(yyv4073), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4068)
		} // end switch yys4068
	} // end for yyj4068
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *List) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4075 int
	var yyb4075 bool
	var yyhl4075 bool = l >= 0
	yyj4075++
	if yyhl4075 {
		yyb4075 = yyj4075 > l
	} else {
		yyb4075 = r.CheckBreak()
	}
	if yyb4075 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4075++
	if yyhl4075 {
		yyb4075 = yyj4075 > l
	} else {
		yyb4075 = r.CheckBreak()
	}
	if yyb4075 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4075++
	if yyhl4075 {
		yyb4075 = yyj4075 > l
	} else {
		yyb4075 = r.CheckBreak()
	}
	if yyb4075 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4078 := &x.ListMeta
		yym4079 := z.DecBinary()
		_ = yym4079
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4078) {
		} else {
			z.DecFallback(yyv4078, false)
		}
	}
	yyj4075++
	if yyhl4075 {
		yyb4075 = yyj4075 > l
	} else {
		yyb4075 = r.CheckBreak()
	}
	if yyb4075 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4080 := &x.Items
		yym4081 := z.DecBinary()
		_ = yym4081
		if false {
		} else {
			h.decSliceruntime_Object((*[]pkg7_runtime.Object)(yyv4080), d)
		}
	}
	for {
		yyj4075++
		if yyhl4075 {
			yyb4075 = yyj4075 > l
		} else {
			yyb4075 = r.CheckBreak()
		}
		if yyb4075 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4075-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4082 := z.EncBinary()
	_ = yym4082
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *LimitType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4083 := z.DecBinary()
	_ = yym4083
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *LimitRangeItem) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4084 := z.EncBinary()
		_ = yym4084
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4085 := !z.EncBinary()
			yy2arr4085 := z.EncBasicHandle().StructToArray
			var yyq4085 [6]bool
			_, _, _ = yysep4085, yyq4085, yy2arr4085
			const yyr4085 bool = false
			yyq4085[0] = x.Type != ""
			yyq4085[1] = len(x.Max) != 0
			yyq4085[2] = len(x.Min) != 0
			yyq4085[3] = len(x.Default) != 0
			yyq4085[4] = len(x.DefaultRequest) != 0
			yyq4085[5] = len(x.MaxLimitRequestRatio) != 0
			var yynn4085 int
			if yyr4085 || yy2arr4085 {
				r.EncodeArrayStart(6)
			} else {
				yynn4085 = 0
				for _, b := range yyq4085 {
					if b {
						yynn4085++
					}
				}
				r.EncodeMapStart(yynn4085)
				yynn4085 = 0
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4085[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4085[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4085[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4085[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("max"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4085[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4085[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("min"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4085[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4085[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("default"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4085[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4085[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("defaultRequest"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4085[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4085[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("maxLimitRequestRatio"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4085 || yy2arr4085 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeItem) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4092 := z.DecBinary()
	_ = yym4092
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4093 := r.ContainerType()
		if yyct4093 == codecSelferValueTypeMap1234 {
			yyl4093 := r.ReadMapStart()
			if yyl4093 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4093, d)
			}
		} else if yyct4093 == codecSelferValueTypeArray1234 {
			yyl4093 := r.ReadArrayStart()
			if yyl4093 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4093, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeItem) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4094Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4094Slc
	var yyhl4094 bool = l >= 0
	for yyj4094 := 0; ; yyj4094++ {
		if yyhl4094 {
			if yyj4094 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4094Slc = r.DecodeBytes(yys4094Slc, true, true)
		yys4094 := string(yys4094Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4094 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv4096 := &x.Max
				yyv4096.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv4097 := &x.Min
				yyv4097.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv4098 := &x.Default
				yyv4098.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv4099 := &x.DefaultRequest
				yyv4099.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv4100 := &x.MaxLimitRequestRatio
				yyv4100.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4094)
		} // end switch yys4094
	} // end for yyj4094
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeItem) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4101 int
	var yyb4101 bool
	var yyhl4101 bool = l >= 0
	yyj4101++
	if yyhl4101 {
		yyb4101 = yyj4101 > l
	} else {
		yyb4101 = r.CheckBreak()
	}
	if yyb4101 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj4101++
	if yyhl4101 {
		yyb4101 = yyj4101 > l
	} else {
		yyb4101 = r.CheckBreak()
	}
	if yyb4101 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv4103 := &x.Max
		yyv4103.CodecDecodeSelf(d)
	}
	yyj4101++
	if yyhl4101 {
		yyb4101 = yyj4101 > l
	} else {
		yyb4101 = r.CheckBreak()
	}
	if yyb4101 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv4104 := &x.Min
		yyv4104.CodecDecodeSelf(d)
	}
	yyj4101++
	if yyhl4101 {
		yyb4101 = yyj4101 > l
	} else {
		yyb4101 = r.CheckBreak()
	}
	if yyb4101 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv4105 := &x.Default
		yyv4105.CodecDecodeSelf(d)
	}
	yyj4101++
	if yyhl4101 {
		yyb4101 = yyj4101 > l
	} else {
		yyb4101 = r.CheckBreak()
	}
	if yyb4101 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv4106 := &x.DefaultRequest
		yyv4106.CodecDecodeSelf(d)
	}
	yyj4101++
	if yyhl4101 {
		yyb4101 = yyj4101 > l
	} else {
		yyb4101 = r.CheckBreak()
	}
	if yyb4101 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv4107 := &x.MaxLimitRequestRatio
		yyv4107.CodecDecodeSelf(d)
	}
	for {
		yyj4101++
		if yyhl4101 {
			yyb4101 = yyj4101 > l
		} else {
			yyb4101 = r.CheckBreak()
		}
		if yyb4101 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4101-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRangeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4108 := z.EncBinary()
		_ = yym4108
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4109 := !z.EncBinary()
			yy2arr4109 := z.EncBasicHandle().StructToArray
			var yyq4109 [1]bool
			_, _, _ = yysep4109, yyq4109, yy2arr4109
			const yyr4109 bool = false
			var yynn4109 int
			if yyr4109 || yy2arr4109 {
				r.EncodeArrayStart(1)
			} else {
				yynn4109 = 1
				for _, b := range yyq4109 {
					if b {
						yynn4109++
					}
				}
				r.EncodeMapStart(yynn4109)
				yynn4109 = 0
			}
			if yyr4109 || yy2arr4109 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym4111 := z.EncBinary()
					_ = yym4111
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("limits"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym4112 := z.EncBinary()
					_ = yym4112
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yyr4109 || yy2arr4109 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4113 := z.DecBinary()
	_ = yym4113
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4114 := r.ContainerType()
		if yyct4114 == codecSelferValueTypeMap1234 {
			yyl4114 := r.ReadMapStart()
			if yyl4114 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4114, d)
			}
		} else if yyct4114 == codecSelferValueTypeArray1234 {
			yyl4114 := r.ReadArrayStart()
			if yyl4114 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4114, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4115Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4115Slc
	var yyhl4115 bool = l >= 0
	for yyj4115 := 0; ; yyj4115++ {
		if yyhl4115 {
			if yyj4115 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4115Slc = r.DecodeBytes(yys4115Slc, true, true)
		yys4115 := string(yys4115Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4115 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv4116 := &x.Limits
				yym4117 := z.DecBinary()
				_ = yym4117
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv4116), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4115)
		} // end switch yys4115
	} // end for yyj4115
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4118 int
	var yyb4118 bool
	var yyhl4118 bool = l >= 0
	yyj4118++
	if yyhl4118 {
		yyb4118 = yyj4118 > l
	} else {
		yyb4118 = r.CheckBreak()
	}
	if yyb4118 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv4119 := &x.Limits
		yym4120 := z.DecBinary()
		_ = yym4120
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv4119), d)
		}
	}
	for {
		yyj4118++
		if yyhl4118 {
			yyb4118 = yyj4118 > l
		} else {
			yyb4118 = r.CheckBreak()
		}
		if yyb4118 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4118-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRange) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4121 := z.EncBinary()
		_ = yym4121
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4122 := !z.EncBinary()
			yy2arr4122 := z.EncBasicHandle().StructToArray
			var yyq4122 [4]bool
			_, _, _ = yysep4122, yyq4122, yy2arr4122
			const yyr4122 bool = false
			yyq4122[0] = x.Kind != ""
			yyq4122[1] = x.APIVersion != ""
			yyq4122[2] = true
			yyq4122[3] = true
			var yynn4122 int
			if yyr4122 || yy2arr4122 {
				r.EncodeArrayStart(4)
			} else {
				yynn4122 = 0
				for _, b := range yyq4122 {
					if b {
						yynn4122++
					}
				}
				r.EncodeMapStart(yynn4122)
				yynn4122 = 0
			}
			if yyr4122 || yy2arr4122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4122[0] {
					yym4124 := z.EncBinary()
					_ = yym4124
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4122[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4125 := z.EncBinary()
					_ = yym4125
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4122 || yy2arr4122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4122[1] {
					yym4127 := z.EncBinary()
					_ = yym4127
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4122[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4128 := z.EncBinary()
					_ = yym4128
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4122 || yy2arr4122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4122[2] {
					yy4130 := &x.ObjectMeta
					yy4130.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4122[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4131 := &x.ObjectMeta
					yy4131.CodecEncodeSelf(e)
				}
			}
			if yyr4122 || yy2arr4122 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4122[3] {
					yy4133 := &x.Spec
					yy4133.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4122[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4134 := &x.Spec
					yy4134.CodecEncodeSelf(e)
				}
			}
			if yyr4122 || yy2arr4122 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRange) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4135 := z.DecBinary()
	_ = yym4135
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4136 := r.ContainerType()
		if yyct4136 == codecSelferValueTypeMap1234 {
			yyl4136 := r.ReadMapStart()
			if yyl4136 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4136, d)
			}
		} else if yyct4136 == codecSelferValueTypeArray1234 {
			yyl4136 := r.ReadArrayStart()
			if yyl4136 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4136, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRange) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4137Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4137Slc
	var yyhl4137 bool = l >= 0
	for yyj4137 := 0; ; yyj4137++ {
		if yyhl4137 {
			if yyj4137 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4137Slc = r.DecodeBytes(yys4137Slc, true, true)
		yys4137 := string(yys4137Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4137 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4140 := &x.ObjectMeta
				yyv4140.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv4141 := &x.Spec
				yyv4141.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4137)
		} // end switch yys4137
	} // end for yyj4137
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRange) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4142 int
	var yyb4142 bool
	var yyhl4142 bool = l >= 0
	yyj4142++
	if yyhl4142 {
		yyb4142 = yyj4142 > l
	} else {
		yyb4142 = r.CheckBreak()
	}
	if yyb4142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4142++
	if yyhl4142 {
		yyb4142 = yyj4142 > l
	} else {
		yyb4142 = r.CheckBreak()
	}
	if yyb4142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4142++
	if yyhl4142 {
		yyb4142 = yyj4142 > l
	} else {
		yyb4142 = r.CheckBreak()
	}
	if yyb4142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4145 := &x.ObjectMeta
		yyv4145.CodecDecodeSelf(d)
	}
	yyj4142++
	if yyhl4142 {
		yyb4142 = yyj4142 > l
	} else {
		yyb4142 = r.CheckBreak()
	}
	if yyb4142 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv4146 := &x.Spec
		yyv4146.CodecDecodeSelf(d)
	}
	for {
		yyj4142++
		if yyhl4142 {
			yyb4142 = yyj4142 > l
		} else {
			yyb4142 = r.CheckBreak()
		}
		if yyb4142 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4142-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *LimitRangeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4147 := z.EncBinary()
		_ = yym4147
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4148 := !z.EncBinary()
			yy2arr4148 := z.EncBasicHandle().StructToArray
			var yyq4148 [4]bool
			_, _, _ = yysep4148, yyq4148, yy2arr4148
			const yyr4148 bool = false
			yyq4148[0] = x.Kind != ""
			yyq4148[1] = x.APIVersion != ""
			yyq4148[2] = true
			var yynn4148 int
			if yyr4148 || yy2arr4148 {
				r.EncodeArrayStart(4)
			} else {
				yynn4148 = 1
				for _, b := range yyq4148 {
					if b {
						yynn4148++
					}
				}
				r.EncodeMapStart(yynn4148)
				yynn4148 = 0
			}
			if yyr4148 || yy2arr4148 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4148[0] {
					yym4150 := z.EncBinary()
					_ = yym4150
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4148[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4151 := z.EncBinary()
					_ = yym4151
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4148 || yy2arr4148 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4148[1] {
					yym4153 := z.EncBinary()
					_ = yym4153
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4148[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4154 := z.EncBinary()
					_ = yym4154
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4148 || yy2arr4148 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4148[2] {
					yy4156 := &x.ListMeta
					yym4157 := z.EncBinary()
					_ = yym4157
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4156) {
					} else {
						z.EncFallback(yy4156)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4148[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4158 := &x.ListMeta
					yym4159 := z.EncBinary()
					_ = yym4159
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4158) {
					} else {
						z.EncFallback(yy4158)
					}
				}
			}
			if yyr4148 || yy2arr4148 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4161 := z.EncBinary()
					_ = yym4161
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4162 := z.EncBinary()
					_ = yym4162
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yyr4148 || yy2arr4148 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *LimitRangeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4163 := z.DecBinary()
	_ = yym4163
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4164 := r.ContainerType()
		if yyct4164 == codecSelferValueTypeMap1234 {
			yyl4164 := r.ReadMapStart()
			if yyl4164 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4164, d)
			}
		} else if yyct4164 == codecSelferValueTypeArray1234 {
			yyl4164 := r.ReadArrayStart()
			if yyl4164 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4164, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *LimitRangeList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4165Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4165Slc
	var yyhl4165 bool = l >= 0
	for yyj4165 := 0; ; yyj4165++ {
		if yyhl4165 {
			if yyj4165 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4165Slc = r.DecodeBytes(yys4165Slc, true, true)
		yys4165 := string(yys4165Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4165 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4168 := &x.ListMeta
				yym4169 := z.DecBinary()
				_ = yym4169
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4168) {
				} else {
					z.DecFallback(yyv4168, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4170 := &x.Items
				yym4171 := z.DecBinary()
				_ = yym4171
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv4170), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4165)
		} // end switch yys4165
	} // end for yyj4165
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *LimitRangeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4172 int
	var yyb4172 bool
	var yyhl4172 bool = l >= 0
	yyj4172++
	if yyhl4172 {
		yyb4172 = yyj4172 > l
	} else {
		yyb4172 = r.CheckBreak()
	}
	if yyb4172 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4172++
	if yyhl4172 {
		yyb4172 = yyj4172 > l
	} else {
		yyb4172 = r.CheckBreak()
	}
	if yyb4172 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4172++
	if yyhl4172 {
		yyb4172 = yyj4172 > l
	} else {
		yyb4172 = r.CheckBreak()
	}
	if yyb4172 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4175 := &x.ListMeta
		yym4176 := z.DecBinary()
		_ = yym4176
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4175) {
		} else {
			z.DecFallback(yyv4175, false)
		}
	}
	yyj4172++
	if yyhl4172 {
		yyb4172 = yyj4172 > l
	} else {
		yyb4172 = r.CheckBreak()
	}
	if yyb4172 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4177 := &x.Items
		yym4178 := z.DecBinary()
		_ = yym4178
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv4177), d)
		}
	}
	for {
		yyj4172++
		if yyhl4172 {
			yyb4172 = yyj4172 > l
		} else {
			yyb4172 = r.CheckBreak()
		}
		if yyb4172 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4172-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x ResourceQuotaScope) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4179 := z.EncBinary()
	_ = yym4179
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ResourceQuotaScope) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4180 := z.DecBinary()
	_ = yym4180
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ResourceQuotaSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4181 := z.EncBinary()
		_ = yym4181
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4182 := !z.EncBinary()
			yy2arr4182 := z.EncBasicHandle().StructToArray
			var yyq4182 [2]bool
			_, _, _ = yysep4182, yyq4182, yy2arr4182
			const yyr4182 bool = false
			yyq4182[0] = len(x.Hard) != 0
			yyq4182[1] = len(x.Scopes) != 0
			var yynn4182 int
			if yyr4182 || yy2arr4182 {
				r.EncodeArrayStart(2)
			} else {
				yynn4182 = 0
				for _, b := range yyq4182 {
					if b {
						yynn4182++
					}
				}
				r.EncodeMapStart(yynn4182)
				yynn4182 = 0
			}
			if yyr4182 || yy2arr4182 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4182[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4182[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4182 || yy2arr4182 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4182[1] {
					if x.Scopes == nil {
						r.EncodeNil()
					} else {
						yym4185 := z.EncBinary()
						_ = yym4185
						if false {
						} else {
							h.encSliceResourceQuotaScope(([]ResourceQuotaScope)(x.Scopes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4182[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("scopes"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Scopes == nil {
						r.EncodeNil()
					} else {
						yym4186 := z.EncBinary()
						_ = yym4186
						if false {
						} else {
							h.encSliceResourceQuotaScope(([]ResourceQuotaScope)(x.Scopes), e)
						}
					}
				}
			}
			if yyr4182 || yy2arr4182 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4187 := z.DecBinary()
	_ = yym4187
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4188 := r.ContainerType()
		if yyct4188 == codecSelferValueTypeMap1234 {
			yyl4188 := r.ReadMapStart()
			if yyl4188 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4188, d)
			}
		} else if yyct4188 == codecSelferValueTypeArray1234 {
			yyl4188 := r.ReadArrayStart()
			if yyl4188 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4188, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4189Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4189Slc
	var yyhl4189 bool = l >= 0
	for yyj4189 := 0; ; yyj4189++ {
		if yyhl4189 {
			if yyj4189 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4189Slc = r.DecodeBytes(yys4189Slc, true, true)
		yys4189 := string(yys4189Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4189 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv4190 := &x.Hard
				yyv4190.CodecDecodeSelf(d)
			}
		case "scopes":
			if r.TryDecodeAsNil() {
				x.Scopes = nil
			} else {
				yyv4191 := &x.Scopes
				yym4192 := z.DecBinary()
				_ = yym4192
				if false {
				} else {
					h.decSliceResourceQuotaScope((*[]ResourceQuotaScope)(yyv4191), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4189)
		} // end switch yys4189
	} // end for yyj4189
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4193 int
	var yyb4193 bool
	var yyhl4193 bool = l >= 0
	yyj4193++
	if yyhl4193 {
		yyb4193 = yyj4193 > l
	} else {
		yyb4193 = r.CheckBreak()
	}
	if yyb4193 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv4194 := &x.Hard
		yyv4194.CodecDecodeSelf(d)
	}
	yyj4193++
	if yyhl4193 {
		yyb4193 = yyj4193 > l
	} else {
		yyb4193 = r.CheckBreak()
	}
	if yyb4193 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Scopes = nil
	} else {
		yyv4195 := &x.Scopes
		yym4196 := z.DecBinary()
		_ = yym4196
		if false {
		} else {
			h.decSliceResourceQuotaScope((*[]ResourceQuotaScope)(yyv4195), d)
		}
	}
	for {
		yyj4193++
		if yyhl4193 {
			yyb4193 = yyj4193 > l
		} else {
			yyb4193 = r.CheckBreak()
		}
		if yyb4193 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4193-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4197 := z.EncBinary()
		_ = yym4197
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4198 := !z.EncBinary()
			yy2arr4198 := z.EncBasicHandle().StructToArray
			var yyq4198 [2]bool
			_, _, _ = yysep4198, yyq4198, yy2arr4198
			const yyr4198 bool = false
			yyq4198[0] = len(x.Hard) != 0
			yyq4198[1] = len(x.Used) != 0
			var yynn4198 int
			if yyr4198 || yy2arr4198 {
				r.EncodeArrayStart(2)
			} else {
				yynn4198 = 0
				for _, b := range yyq4198 {
					if b {
						yynn4198++
					}
				}
				r.EncodeMapStart(yynn4198)
				yynn4198 = 0
			}
			if yyr4198 || yy2arr4198 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4198[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4198[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4198 || yy2arr4198 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4198[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4198[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("used"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4198 || yy2arr4198 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4201 := z.DecBinary()
	_ = yym4201
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4202 := r.ContainerType()
		if yyct4202 == codecSelferValueTypeMap1234 {
			yyl4202 := r.ReadMapStart()
			if yyl4202 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4202, d)
			}
		} else if yyct4202 == codecSelferValueTypeArray1234 {
			yyl4202 := r.ReadArrayStart()
			if yyl4202 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4202, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4203Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4203Slc
	var yyhl4203 bool = l >= 0
	for yyj4203 := 0; ; yyj4203++ {
		if yyhl4203 {
			if yyj4203 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4203Slc = r.DecodeBytes(yys4203Slc, true, true)
		yys4203 := string(yys4203Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4203 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv4204 := &x.Hard
				yyv4204.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv4205 := &x.Used
				yyv4205.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4203)
		} // end switch yys4203
	} // end for yyj4203
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4206 int
	var yyb4206 bool
	var yyhl4206 bool = l >= 0
	yyj4206++
	if yyhl4206 {
		yyb4206 = yyj4206 > l
	} else {
		yyb4206 = r.CheckBreak()
	}
	if yyb4206 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv4207 := &x.Hard
		yyv4207.CodecDecodeSelf(d)
	}
	yyj4206++
	if yyhl4206 {
		yyb4206 = yyj4206 > l
	} else {
		yyb4206 = r.CheckBreak()
	}
	if yyb4206 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv4208 := &x.Used
		yyv4208.CodecDecodeSelf(d)
	}
	for {
		yyj4206++
		if yyhl4206 {
			yyb4206 = yyj4206 > l
		} else {
			yyb4206 = r.CheckBreak()
		}
		if yyb4206 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4206-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuota) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4209 := z.EncBinary()
		_ = yym4209
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4210 := !z.EncBinary()
			yy2arr4210 := z.EncBasicHandle().StructToArray
			var yyq4210 [5]bool
			_, _, _ = yysep4210, yyq4210, yy2arr4210
			const yyr4210 bool = false
			yyq4210[0] = x.Kind != ""
			yyq4210[1] = x.APIVersion != ""
			yyq4210[2] = true
			yyq4210[3] = true
			yyq4210[4] = true
			var yynn4210 int
			if yyr4210 || yy2arr4210 {
				r.EncodeArrayStart(5)
			} else {
				yynn4210 = 0
				for _, b := range yyq4210 {
					if b {
						yynn4210++
					}
				}
				r.EncodeMapStart(yynn4210)
				yynn4210 = 0
			}
			if yyr4210 || yy2arr4210 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4210[0] {
					yym4212 := z.EncBinary()
					_ = yym4212
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4210[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4213 := z.EncBinary()
					_ = yym4213
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4210 || yy2arr4210 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4210[1] {
					yym4215 := z.EncBinary()
					_ = yym4215
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4210[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4216 := z.EncBinary()
					_ = yym4216
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4210 || yy2arr4210 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4210[2] {
					yy4218 := &x.ObjectMeta
					yy4218.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4210[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4219 := &x.ObjectMeta
					yy4219.CodecEncodeSelf(e)
				}
			}
			if yyr4210 || yy2arr4210 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4210[3] {
					yy4221 := &x.Spec
					yy4221.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4210[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4222 := &x.Spec
					yy4222.CodecEncodeSelf(e)
				}
			}
			if yyr4210 || yy2arr4210 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4210[4] {
					yy4224 := &x.Status
					yy4224.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4210[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4225 := &x.Status
					yy4225.CodecEncodeSelf(e)
				}
			}
			if yyr4210 || yy2arr4210 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuota) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4226 := z.DecBinary()
	_ = yym4226
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4227 := r.ContainerType()
		if yyct4227 == codecSelferValueTypeMap1234 {
			yyl4227 := r.ReadMapStart()
			if yyl4227 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4227, d)
			}
		} else if yyct4227 == codecSelferValueTypeArray1234 {
			yyl4227 := r.ReadArrayStart()
			if yyl4227 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4227, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuota) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4228Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4228Slc
	var yyhl4228 bool = l >= 0
	for yyj4228 := 0; ; yyj4228++ {
		if yyhl4228 {
			if yyj4228 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4228Slc = r.DecodeBytes(yys4228Slc, true, true)
		yys4228 := string(yys4228Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4228 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4231 := &x.ObjectMeta
				yyv4231.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv4232 := &x.Spec
				yyv4232.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv4233 := &x.Status
				yyv4233.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys4228)
		} // end switch yys4228
	} // end for yyj4228
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuota) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4234 int
	var yyb4234 bool
	var yyhl4234 bool = l >= 0
	yyj4234++
	if yyhl4234 {
		yyb4234 = yyj4234 > l
	} else {
		yyb4234 = r.CheckBreak()
	}
	if yyb4234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4234++
	if yyhl4234 {
		yyb4234 = yyj4234 > l
	} else {
		yyb4234 = r.CheckBreak()
	}
	if yyb4234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4234++
	if yyhl4234 {
		yyb4234 = yyj4234 > l
	} else {
		yyb4234 = r.CheckBreak()
	}
	if yyb4234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4237 := &x.ObjectMeta
		yyv4237.CodecDecodeSelf(d)
	}
	yyj4234++
	if yyhl4234 {
		yyb4234 = yyj4234 > l
	} else {
		yyb4234 = r.CheckBreak()
	}
	if yyb4234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv4238 := &x.Spec
		yyv4238.CodecDecodeSelf(d)
	}
	yyj4234++
	if yyhl4234 {
		yyb4234 = yyj4234 > l
	} else {
		yyb4234 = r.CheckBreak()
	}
	if yyb4234 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv4239 := &x.Status
		yyv4239.CodecDecodeSelf(d)
	}
	for {
		yyj4234++
		if yyhl4234 {
			yyb4234 = yyj4234 > l
		} else {
			yyb4234 = r.CheckBreak()
		}
		if yyb4234 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4234-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ResourceQuotaList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4240 := z.EncBinary()
		_ = yym4240
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4241 := !z.EncBinary()
			yy2arr4241 := z.EncBasicHandle().StructToArray
			var yyq4241 [4]bool
			_, _, _ = yysep4241, yyq4241, yy2arr4241
			const yyr4241 bool = false
			yyq4241[0] = x.Kind != ""
			yyq4241[1] = x.APIVersion != ""
			yyq4241[2] = true
			var yynn4241 int
			if yyr4241 || yy2arr4241 {
				r.EncodeArrayStart(4)
			} else {
				yynn4241 = 1
				for _, b := range yyq4241 {
					if b {
						yynn4241++
					}
				}
				r.EncodeMapStart(yynn4241)
				yynn4241 = 0
			}
			if yyr4241 || yy2arr4241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4241[0] {
					yym4243 := z.EncBinary()
					_ = yym4243
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4241[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4244 := z.EncBinary()
					_ = yym4244
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4241 || yy2arr4241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4241[1] {
					yym4246 := z.EncBinary()
					_ = yym4246
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4241[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4247 := z.EncBinary()
					_ = yym4247
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4241 || yy2arr4241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4241[2] {
					yy4249 := &x.ListMeta
					yym4250 := z.EncBinary()
					_ = yym4250
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4249) {
					} else {
						z.EncFallback(yy4249)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4241[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4251 := &x.ListMeta
					yym4252 := z.EncBinary()
					_ = yym4252
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4251) {
					} else {
						z.EncFallback(yy4251)
					}
				}
			}
			if yyr4241 || yy2arr4241 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4254 := z.EncBinary()
					_ = yym4254
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4255 := z.EncBinary()
					_ = yym4255
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yyr4241 || yy2arr4241 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ResourceQuotaList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4256 := z.DecBinary()
	_ = yym4256
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4257 := r.ContainerType()
		if yyct4257 == codecSelferValueTypeMap1234 {
			yyl4257 := r.ReadMapStart()
			if yyl4257 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4257, d)
			}
		} else if yyct4257 == codecSelferValueTypeArray1234 {
			yyl4257 := r.ReadArrayStart()
			if yyl4257 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4257, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ResourceQuotaList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4258Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4258Slc
	var yyhl4258 bool = l >= 0
	for yyj4258 := 0; ; yyj4258++ {
		if yyhl4258 {
			if yyj4258 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4258Slc = r.DecodeBytes(yys4258Slc, true, true)
		yys4258 := string(yys4258Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4258 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4261 := &x.ListMeta
				yym4262 := z.DecBinary()
				_ = yym4262
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4261) {
				} else {
					z.DecFallback(yyv4261, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4263 := &x.Items
				yym4264 := z.DecBinary()
				_ = yym4264
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv4263), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4258)
		} // end switch yys4258
	} // end for yyj4258
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ResourceQuotaList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4265 int
	var yyb4265 bool
	var yyhl4265 bool = l >= 0
	yyj4265++
	if yyhl4265 {
		yyb4265 = yyj4265 > l
	} else {
		yyb4265 = r.CheckBreak()
	}
	if yyb4265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4265++
	if yyhl4265 {
		yyb4265 = yyj4265 > l
	} else {
		yyb4265 = r.CheckBreak()
	}
	if yyb4265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4265++
	if yyhl4265 {
		yyb4265 = yyj4265 > l
	} else {
		yyb4265 = r.CheckBreak()
	}
	if yyb4265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4268 := &x.ListMeta
		yym4269 := z.DecBinary()
		_ = yym4269
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4268) {
		} else {
			z.DecFallback(yyv4268, false)
		}
	}
	yyj4265++
	if yyhl4265 {
		yyb4265 = yyj4265 > l
	} else {
		yyb4265 = r.CheckBreak()
	}
	if yyb4265 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4270 := &x.Items
		yym4271 := z.DecBinary()
		_ = yym4271
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv4270), d)
		}
	}
	for {
		yyj4265++
		if yyhl4265 {
			yyb4265 = yyj4265 > l
		} else {
			yyb4265 = r.CheckBreak()
		}
		if yyb4265 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4265-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *Secret) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4272 := z.EncBinary()
		_ = yym4272
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4273 := !z.EncBinary()
			yy2arr4273 := z.EncBasicHandle().StructToArray
			var yyq4273 [5]bool
			_, _, _ = yysep4273, yyq4273, yy2arr4273
			const yyr4273 bool = false
			yyq4273[0] = x.Kind != ""
			yyq4273[1] = x.APIVersion != ""
			yyq4273[2] = true
			yyq4273[3] = len(x.Data) != 0
			yyq4273[4] = x.Type != ""
			var yynn4273 int
			if yyr4273 || yy2arr4273 {
				r.EncodeArrayStart(5)
			} else {
				yynn4273 = 0
				for _, b := range yyq4273 {
					if b {
						yynn4273++
					}
				}
				r.EncodeMapStart(yynn4273)
				yynn4273 = 0
			}
			if yyr4273 || yy2arr4273 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4273[0] {
					yym4275 := z.EncBinary()
					_ = yym4275
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4273[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4276 := z.EncBinary()
					_ = yym4276
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4273 || yy2arr4273 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4273[1] {
					yym4278 := z.EncBinary()
					_ = yym4278
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4273[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4279 := z.EncBinary()
					_ = yym4279
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4273 || yy2arr4273 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4273[2] {
					yy4281 := &x.ObjectMeta
					yy4281.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4273[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4282 := &x.ObjectMeta
					yy4282.CodecEncodeSelf(e)
				}
			}
			if yyr4273 || yy2arr4273 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4273[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4284 := z.EncBinary()
						_ = yym4284
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4273[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4285 := z.EncBinary()
						_ = yym4285
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr4273 || yy2arr4273 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4273[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4273[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr4273 || yy2arr4273 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *Secret) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4287 := z.DecBinary()
	_ = yym4287
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4288 := r.ContainerType()
		if yyct4288 == codecSelferValueTypeMap1234 {
			yyl4288 := r.ReadMapStart()
			if yyl4288 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4288, d)
			}
		} else if yyct4288 == codecSelferValueTypeArray1234 {
			yyl4288 := r.ReadArrayStart()
			if yyl4288 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4288, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *Secret) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4289Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4289Slc
	var yyhl4289 bool = l >= 0
	for yyj4289 := 0; ; yyj4289++ {
		if yyhl4289 {
			if yyj4289 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4289Slc = r.DecodeBytes(yys4289Slc, true, true)
		yys4289 := string(yys4289Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4289 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4292 := &x.ObjectMeta
				yyv4292.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4293 := &x.Data
				yym4294 := z.DecBinary()
				_ = yym4294
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv4293), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4289)
		} // end switch yys4289
	} // end for yyj4289
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *Secret) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4296 int
	var yyb4296 bool
	var yyhl4296 bool = l >= 0
	yyj4296++
	if yyhl4296 {
		yyb4296 = yyj4296 > l
	} else {
		yyb4296 = r.CheckBreak()
	}
	if yyb4296 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4296++
	if yyhl4296 {
		yyb4296 = yyj4296 > l
	} else {
		yyb4296 = r.CheckBreak()
	}
	if yyb4296 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4296++
	if yyhl4296 {
		yyb4296 = yyj4296 > l
	} else {
		yyb4296 = r.CheckBreak()
	}
	if yyb4296 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4299 := &x.ObjectMeta
		yyv4299.CodecDecodeSelf(d)
	}
	yyj4296++
	if yyhl4296 {
		yyb4296 = yyj4296 > l
	} else {
		yyb4296 = r.CheckBreak()
	}
	if yyb4296 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4300 := &x.Data
		yym4301 := z.DecBinary()
		_ = yym4301
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv4300), d)
		}
	}
	yyj4296++
	if yyhl4296 {
		yyb4296 = yyj4296 > l
	} else {
		yyb4296 = r.CheckBreak()
	}
	if yyb4296 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj4296++
		if yyhl4296 {
			yyb4296 = yyj4296 > l
		} else {
			yyb4296 = r.CheckBreak()
		}
		if yyb4296 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4296-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4303 := z.EncBinary()
	_ = yym4303
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *SecretType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4304 := z.DecBinary()
	_ = yym4304
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *SecretList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4305 := z.EncBinary()
		_ = yym4305
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4306 := !z.EncBinary()
			yy2arr4306 := z.EncBasicHandle().StructToArray
			var yyq4306 [4]bool
			_, _, _ = yysep4306, yyq4306, yy2arr4306
			const yyr4306 bool = false
			yyq4306[0] = x.Kind != ""
			yyq4306[1] = x.APIVersion != ""
			yyq4306[2] = true
			var yynn4306 int
			if yyr4306 || yy2arr4306 {
				r.EncodeArrayStart(4)
			} else {
				yynn4306 = 1
				for _, b := range yyq4306 {
					if b {
						yynn4306++
					}
				}
				r.EncodeMapStart(yynn4306)
				yynn4306 = 0
			}
			if yyr4306 || yy2arr4306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4306[0] {
					yym4308 := z.EncBinary()
					_ = yym4308
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4306[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4309 := z.EncBinary()
					_ = yym4309
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4306 || yy2arr4306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4306[1] {
					yym4311 := z.EncBinary()
					_ = yym4311
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4306[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4312 := z.EncBinary()
					_ = yym4312
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4306 || yy2arr4306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4306[2] {
					yy4314 := &x.ListMeta
					yym4315 := z.EncBinary()
					_ = yym4315
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4314) {
					} else {
						z.EncFallback(yy4314)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4306[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4316 := &x.ListMeta
					yym4317 := z.EncBinary()
					_ = yym4317
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4316) {
					} else {
						z.EncFallback(yy4316)
					}
				}
			}
			if yyr4306 || yy2arr4306 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4319 := z.EncBinary()
					_ = yym4319
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4320 := z.EncBinary()
					_ = yym4320
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yyr4306 || yy2arr4306 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecretList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4321 := z.DecBinary()
	_ = yym4321
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4322 := r.ContainerType()
		if yyct4322 == codecSelferValueTypeMap1234 {
			yyl4322 := r.ReadMapStart()
			if yyl4322 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4322, d)
			}
		} else if yyct4322 == codecSelferValueTypeArray1234 {
			yyl4322 := r.ReadArrayStart()
			if yyl4322 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4322, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecretList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4323Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4323Slc
	var yyhl4323 bool = l >= 0
	for yyj4323 := 0; ; yyj4323++ {
		if yyhl4323 {
			if yyj4323 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4323Slc = r.DecodeBytes(yys4323Slc, true, true)
		yys4323 := string(yys4323Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4323 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4326 := &x.ListMeta
				yym4327 := z.DecBinary()
				_ = yym4327
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4326) {
				} else {
					z.DecFallback(yyv4326, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4328 := &x.Items
				yym4329 := z.DecBinary()
				_ = yym4329
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv4328), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4323)
		} // end switch yys4323
	} // end for yyj4323
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecretList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4330 int
	var yyb4330 bool
	var yyhl4330 bool = l >= 0
	yyj4330++
	if yyhl4330 {
		yyb4330 = yyj4330 > l
	} else {
		yyb4330 = r.CheckBreak()
	}
	if yyb4330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4330++
	if yyhl4330 {
		yyb4330 = yyj4330 > l
	} else {
		yyb4330 = r.CheckBreak()
	}
	if yyb4330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4330++
	if yyhl4330 {
		yyb4330 = yyj4330 > l
	} else {
		yyb4330 = r.CheckBreak()
	}
	if yyb4330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4333 := &x.ListMeta
		yym4334 := z.DecBinary()
		_ = yym4334
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4333) {
		} else {
			z.DecFallback(yyv4333, false)
		}
	}
	yyj4330++
	if yyhl4330 {
		yyb4330 = yyj4330 > l
	} else {
		yyb4330 = r.CheckBreak()
	}
	if yyb4330 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4335 := &x.Items
		yym4336 := z.DecBinary()
		_ = yym4336
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv4335), d)
		}
	}
	for {
		yyj4330++
		if yyhl4330 {
			yyb4330 = yyj4330 > l
		} else {
			yyb4330 = r.CheckBreak()
		}
		if yyb4330 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4330-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMap) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4337 := z.EncBinary()
		_ = yym4337
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4338 := !z.EncBinary()
			yy2arr4338 := z.EncBasicHandle().StructToArray
			var yyq4338 [4]bool
			_, _, _ = yysep4338, yyq4338, yy2arr4338
			const yyr4338 bool = false
			yyq4338[0] = x.Kind != ""
			yyq4338[1] = x.APIVersion != ""
			yyq4338[2] = true
			yyq4338[3] = len(x.Data) != 0
			var yynn4338 int
			if yyr4338 || yy2arr4338 {
				r.EncodeArrayStart(4)
			} else {
				yynn4338 = 0
				for _, b := range yyq4338 {
					if b {
						yynn4338++
					}
				}
				r.EncodeMapStart(yynn4338)
				yynn4338 = 0
			}
			if yyr4338 || yy2arr4338 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4338[0] {
					yym4340 := z.EncBinary()
					_ = yym4340
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4338[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4341 := z.EncBinary()
					_ = yym4341
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4338 || yy2arr4338 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4338[1] {
					yym4343 := z.EncBinary()
					_ = yym4343
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4338[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4344 := z.EncBinary()
					_ = yym4344
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4338 || yy2arr4338 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4338[2] {
					yy4346 := &x.ObjectMeta
					yy4346.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4338[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4347 := &x.ObjectMeta
					yy4347.CodecEncodeSelf(e)
				}
			}
			if yyr4338 || yy2arr4338 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4338[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4349 := z.EncBinary()
						_ = yym4349
						if false {
						} else {
							z.F.EncMapStringStringV(x.Data, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4338[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym4350 := z.EncBinary()
						_ = yym4350
						if false {
						} else {
							z.F.EncMapStringStringV(x.Data, false, e)
						}
					}
				}
			}
			if yyr4338 || yy2arr4338 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMap) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4351 := z.DecBinary()
	_ = yym4351
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4352 := r.ContainerType()
		if yyct4352 == codecSelferValueTypeMap1234 {
			yyl4352 := r.ReadMapStart()
			if yyl4352 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4352, d)
			}
		} else if yyct4352 == codecSelferValueTypeArray1234 {
			yyl4352 := r.ReadArrayStart()
			if yyl4352 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4352, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMap) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4353Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4353Slc
	var yyhl4353 bool = l >= 0
	for yyj4353 := 0; ; yyj4353++ {
		if yyhl4353 {
			if yyj4353 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4353Slc = r.DecodeBytes(yys4353Slc, true, true)
		yys4353 := string(yys4353Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4353 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4356 := &x.ObjectMeta
				yyv4356.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4357 := &x.Data
				yym4358 := z.DecBinary()
				_ = yym4358
				if false {
				} else {
					z.F.DecMapStringStringX(yyv4357, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4353)
		} // end switch yys4353
	} // end for yyj4353
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMap) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4359 int
	var yyb4359 bool
	var yyhl4359 bool = l >= 0
	yyj4359++
	if yyhl4359 {
		yyb4359 = yyj4359 > l
	} else {
		yyb4359 = r.CheckBreak()
	}
	if yyb4359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4359++
	if yyhl4359 {
		yyb4359 = yyj4359 > l
	} else {
		yyb4359 = r.CheckBreak()
	}
	if yyb4359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4359++
	if yyhl4359 {
		yyb4359 = yyj4359 > l
	} else {
		yyb4359 = r.CheckBreak()
	}
	if yyb4359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4362 := &x.ObjectMeta
		yyv4362.CodecDecodeSelf(d)
	}
	yyj4359++
	if yyhl4359 {
		yyb4359 = yyj4359 > l
	} else {
		yyb4359 = r.CheckBreak()
	}
	if yyb4359 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4363 := &x.Data
		yym4364 := z.DecBinary()
		_ = yym4364
		if false {
		} else {
			z.F.DecMapStringStringX(yyv4363, false, d)
		}
	}
	for {
		yyj4359++
		if yyhl4359 {
			yyb4359 = yyj4359 > l
		} else {
			yyb4359 = r.CheckBreak()
		}
		if yyb4359 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4359-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ConfigMapList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4365 := z.EncBinary()
		_ = yym4365
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4366 := !z.EncBinary()
			yy2arr4366 := z.EncBasicHandle().StructToArray
			var yyq4366 [4]bool
			_, _, _ = yysep4366, yyq4366, yy2arr4366
			const yyr4366 bool = false
			yyq4366[0] = x.Kind != ""
			yyq4366[1] = x.APIVersion != ""
			yyq4366[2] = true
			var yynn4366 int
			if yyr4366 || yy2arr4366 {
				r.EncodeArrayStart(4)
			} else {
				yynn4366 = 1
				for _, b := range yyq4366 {
					if b {
						yynn4366++
					}
				}
				r.EncodeMapStart(yynn4366)
				yynn4366 = 0
			}
			if yyr4366 || yy2arr4366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4366[0] {
					yym4368 := z.EncBinary()
					_ = yym4368
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4366[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4369 := z.EncBinary()
					_ = yym4369
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4366 || yy2arr4366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4366[1] {
					yym4371 := z.EncBinary()
					_ = yym4371
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4366[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4372 := z.EncBinary()
					_ = yym4372
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4366 || yy2arr4366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4366[2] {
					yy4374 := &x.ListMeta
					yym4375 := z.EncBinary()
					_ = yym4375
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4374) {
					} else {
						z.EncFallback(yy4374)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4366[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4376 := &x.ListMeta
					yym4377 := z.EncBinary()
					_ = yym4377
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4376) {
					} else {
						z.EncFallback(yy4376)
					}
				}
			}
			if yyr4366 || yy2arr4366 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4379 := z.EncBinary()
					_ = yym4379
					if false {
					} else {
						h.encSliceConfigMap(([]ConfigMap)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4380 := z.EncBinary()
					_ = yym4380
					if false {
					} else {
						h.encSliceConfigMap(([]ConfigMap)(x.Items), e)
					}
				}
			}
			if yyr4366 || yy2arr4366 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ConfigMapList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4381 := z.DecBinary()
	_ = yym4381
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4382 := r.ContainerType()
		if yyct4382 == codecSelferValueTypeMap1234 {
			yyl4382 := r.ReadMapStart()
			if yyl4382 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4382, d)
			}
		} else if yyct4382 == codecSelferValueTypeArray1234 {
			yyl4382 := r.ReadArrayStart()
			if yyl4382 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4382, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ConfigMapList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4383Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4383Slc
	var yyhl4383 bool = l >= 0
	for yyj4383 := 0; ; yyj4383++ {
		if yyhl4383 {
			if yyj4383 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4383Slc = r.DecodeBytes(yys4383Slc, true, true)
		yys4383 := string(yys4383Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4383 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4386 := &x.ListMeta
				yym4387 := z.DecBinary()
				_ = yym4387
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4386) {
				} else {
					z.DecFallback(yyv4386, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4388 := &x.Items
				yym4389 := z.DecBinary()
				_ = yym4389
				if false {
				} else {
					h.decSliceConfigMap((*[]ConfigMap)(yyv4388), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4383)
		} // end switch yys4383
	} // end for yyj4383
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ConfigMapList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4390 int
	var yyb4390 bool
	var yyhl4390 bool = l >= 0
	yyj4390++
	if yyhl4390 {
		yyb4390 = yyj4390 > l
	} else {
		yyb4390 = r.CheckBreak()
	}
	if yyb4390 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4390++
	if yyhl4390 {
		yyb4390 = yyj4390 > l
	} else {
		yyb4390 = r.CheckBreak()
	}
	if yyb4390 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4390++
	if yyhl4390 {
		yyb4390 = yyj4390 > l
	} else {
		yyb4390 = r.CheckBreak()
	}
	if yyb4390 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4393 := &x.ListMeta
		yym4394 := z.DecBinary()
		_ = yym4394
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4393) {
		} else {
			z.DecFallback(yyv4393, false)
		}
	}
	yyj4390++
	if yyhl4390 {
		yyb4390 = yyj4390 > l
	} else {
		yyb4390 = r.CheckBreak()
	}
	if yyb4390 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4395 := &x.Items
		yym4396 := z.DecBinary()
		_ = yym4396
		if false {
		} else {
			h.decSliceConfigMap((*[]ConfigMap)(yyv4395), d)
		}
	}
	for {
		yyj4390++
		if yyhl4390 {
			yyb4390 = yyj4390 > l
		} else {
			yyb4390 = r.CheckBreak()
		}
		if yyb4390 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4390-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x PatchType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4397 := z.EncBinary()
	_ = yym4397
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *PatchType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4398 := z.DecBinary()
	_ = yym4398
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x ComponentConditionType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym4399 := z.EncBinary()
	_ = yym4399
	if false {
	} else if z.HasExtensions() && z.EncExt(x) {
	} else {
		r.EncodeString(codecSelferC_UTF81234, string(x))
	}
}

func (x *ComponentConditionType) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4400 := z.DecBinary()
	_ = yym4400
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		*((*string)(x)) = r.DecodeString()
	}
}

func (x *ComponentCondition) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4401 := z.EncBinary()
		_ = yym4401
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4402 := !z.EncBinary()
			yy2arr4402 := z.EncBasicHandle().StructToArray
			var yyq4402 [4]bool
			_, _, _ = yysep4402, yyq4402, yy2arr4402
			const yyr4402 bool = false
			yyq4402[2] = x.Message != ""
			yyq4402[3] = x.Error != ""
			var yynn4402 int
			if yyr4402 || yy2arr4402 {
				r.EncodeArrayStart(4)
			} else {
				yynn4402 = 2
				for _, b := range yyq4402 {
					if b {
						yynn4402++
					}
				}
				r.EncodeMapStart(yynn4402)
				yynn4402 = 0
			}
			if yyr4402 || yy2arr4402 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Type.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Type.CodecEncodeSelf(e)
			}
			if yyr4402 || yy2arr4402 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				x.Status.CodecEncodeSelf(e)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				x.Status.CodecEncodeSelf(e)
			}
			if yyr4402 || yy2arr4402 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4402[2] {
					yym4406 := z.EncBinary()
					_ = yym4406
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4402[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4407 := z.EncBinary()
					_ = yym4407
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr4402 || yy2arr4402 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4402[3] {
					yym4409 := z.EncBinary()
					_ = yym4409
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4402[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4410 := z.EncBinary()
					_ = yym4410
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yyr4402 || yy2arr4402 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4411 := z.DecBinary()
	_ = yym4411
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4412 := r.ContainerType()
		if yyct4412 == codecSelferValueTypeMap1234 {
			yyl4412 := r.ReadMapStart()
			if yyl4412 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4412, d)
			}
		} else if yyct4412 == codecSelferValueTypeArray1234 {
			yyl4412 := r.ReadArrayStart()
			if yyl4412 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4412, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentCondition) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4413Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4413Slc
	var yyhl4413 bool = l >= 0
	for yyj4413 := 0; ; yyj4413++ {
		if yyhl4413 {
			if yyj4413 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4413Slc = r.DecodeBytes(yys4413Slc, true, true)
		yys4413 := string(yys4413Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4413 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ComponentConditionType(r.DecodeString())
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ""
			} else {
				x.Status = ConditionStatus(r.DecodeString())
			}
		case "message":
			if r.TryDecodeAsNil() {
				x.Message = ""
			} else {
				x.Message = string(r.DecodeString())
			}
		case "error":
			if r.TryDecodeAsNil() {
				x.Error = ""
			} else {
				x.Error = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4413)
		} // end switch yys4413
	} // end for yyj4413
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4418 int
	var yyb4418 bool
	var yyhl4418 bool = l >= 0
	yyj4418++
	if yyhl4418 {
		yyb4418 = yyj4418 > l
	} else {
		yyb4418 = r.CheckBreak()
	}
	if yyb4418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ComponentConditionType(r.DecodeString())
	}
	yyj4418++
	if yyhl4418 {
		yyb4418 = yyj4418 > l
	} else {
		yyb4418 = r.CheckBreak()
	}
	if yyb4418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj4418++
	if yyhl4418 {
		yyb4418 = yyj4418 > l
	} else {
		yyb4418 = r.CheckBreak()
	}
	if yyb4418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj4418++
	if yyhl4418 {
		yyb4418 = yyj4418 > l
	} else {
		yyb4418 = r.CheckBreak()
	}
	if yyb4418 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Error = ""
	} else {
		x.Error = string(r.DecodeString())
	}
	for {
		yyj4418++
		if yyhl4418 {
			yyb4418 = yyj4418 > l
		} else {
			yyb4418 = r.CheckBreak()
		}
		if yyb4418 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4418-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ComponentStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4423 := z.EncBinary()
		_ = yym4423
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4424 := !z.EncBinary()
			yy2arr4424 := z.EncBasicHandle().StructToArray
			var yyq4424 [4]bool
			_, _, _ = yysep4424, yyq4424, yy2arr4424
			const yyr4424 bool = false
			yyq4424[0] = x.Kind != ""
			yyq4424[1] = x.APIVersion != ""
			yyq4424[2] = true
			yyq4424[3] = len(x.Conditions) != 0
			var yynn4424 int
			if yyr4424 || yy2arr4424 {
				r.EncodeArrayStart(4)
			} else {
				yynn4424 = 0
				for _, b := range yyq4424 {
					if b {
						yynn4424++
					}
				}
				r.EncodeMapStart(yynn4424)
				yynn4424 = 0
			}
			if yyr4424 || yy2arr4424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4424[0] {
					yym4426 := z.EncBinary()
					_ = yym4426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4424[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4427 := z.EncBinary()
					_ = yym4427
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4424 || yy2arr4424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4424[1] {
					yym4429 := z.EncBinary()
					_ = yym4429
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4424[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4430 := z.EncBinary()
					_ = yym4430
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4424 || yy2arr4424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4424[2] {
					yy4432 := &x.ObjectMeta
					yy4432.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4424[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4433 := &x.ObjectMeta
					yy4433.CodecEncodeSelf(e)
				}
			}
			if yyr4424 || yy2arr4424 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4424[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym4435 := z.EncBinary()
						_ = yym4435
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4424[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym4436 := z.EncBinary()
						_ = yym4436
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr4424 || yy2arr4424 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4437 := z.DecBinary()
	_ = yym4437
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4438 := r.ContainerType()
		if yyct4438 == codecSelferValueTypeMap1234 {
			yyl4438 := r.ReadMapStart()
			if yyl4438 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4438, d)
			}
		} else if yyct4438 == codecSelferValueTypeArray1234 {
			yyl4438 := r.ReadArrayStart()
			if yyl4438 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4438, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatus) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4439Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4439Slc
	var yyhl4439 bool = l >= 0
	for yyj4439 := 0; ; yyj4439++ {
		if yyhl4439 {
			if yyj4439 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4439Slc = r.DecodeBytes(yys4439Slc, true, true)
		yys4439 := string(yys4439Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4439 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4442 := &x.ObjectMeta
				yyv4442.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv4443 := &x.Conditions
				yym4444 := z.DecBinary()
				_ = yym4444
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv4443), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4439)
		} // end switch yys4439
	} // end for yyj4439
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4445 int
	var yyb4445 bool
	var yyhl4445 bool = l >= 0
	yyj4445++
	if yyhl4445 {
		yyb4445 = yyj4445 > l
	} else {
		yyb4445 = r.CheckBreak()
	}
	if yyb4445 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4445++
	if yyhl4445 {
		yyb4445 = yyj4445 > l
	} else {
		yyb4445 = r.CheckBreak()
	}
	if yyb4445 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4445++
	if yyhl4445 {
		yyb4445 = yyj4445 > l
	} else {
		yyb4445 = r.CheckBreak()
	}
	if yyb4445 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4448 := &x.ObjectMeta
		yyv4448.CodecDecodeSelf(d)
	}
	yyj4445++
	if yyhl4445 {
		yyb4445 = yyj4445 > l
	} else {
		yyb4445 = r.CheckBreak()
	}
	if yyb4445 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv4449 := &x.Conditions
		yym4450 := z.DecBinary()
		_ = yym4450
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv4449), d)
		}
	}
	for {
		yyj4445++
		if yyhl4445 {
			yyb4445 = yyj4445 > l
		} else {
			yyb4445 = r.CheckBreak()
		}
		if yyb4445 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4445-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *ComponentStatusList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4451 := z.EncBinary()
		_ = yym4451
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4452 := !z.EncBinary()
			yy2arr4452 := z.EncBasicHandle().StructToArray
			var yyq4452 [4]bool
			_, _, _ = yysep4452, yyq4452, yy2arr4452
			const yyr4452 bool = false
			yyq4452[0] = x.Kind != ""
			yyq4452[1] = x.APIVersion != ""
			yyq4452[2] = true
			var yynn4452 int
			if yyr4452 || yy2arr4452 {
				r.EncodeArrayStart(4)
			} else {
				yynn4452 = 1
				for _, b := range yyq4452 {
					if b {
						yynn4452++
					}
				}
				r.EncodeMapStart(yynn4452)
				yynn4452 = 0
			}
			if yyr4452 || yy2arr4452 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4452[0] {
					yym4454 := z.EncBinary()
					_ = yym4454
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4452[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4455 := z.EncBinary()
					_ = yym4455
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4452 || yy2arr4452 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4452[1] {
					yym4457 := z.EncBinary()
					_ = yym4457
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4452[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4458 := z.EncBinary()
					_ = yym4458
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4452 || yy2arr4452 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4452[2] {
					yy4460 := &x.ListMeta
					yym4461 := z.EncBinary()
					_ = yym4461
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4460) {
					} else {
						z.EncFallback(yy4460)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4452[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4462 := &x.ListMeta
					yym4463 := z.EncBinary()
					_ = yym4463
					if false {
					} else if z.HasExtensions() && z.EncExt(yy4462) {
					} else {
						z.EncFallback(yy4462)
					}
				}
			}
			if yyr4452 || yy2arr4452 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4465 := z.EncBinary()
					_ = yym4465
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym4466 := z.EncBinary()
					_ = yym4466
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yyr4452 || yy2arr4452 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *ComponentStatusList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4467 := z.DecBinary()
	_ = yym4467
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4468 := r.ContainerType()
		if yyct4468 == codecSelferValueTypeMap1234 {
			yyl4468 := r.ReadMapStart()
			if yyl4468 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4468, d)
			}
		} else if yyct4468 == codecSelferValueTypeArray1234 {
			yyl4468 := r.ReadArrayStart()
			if yyl4468 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4468, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *ComponentStatusList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4469Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4469Slc
	var yyhl4469 bool = l >= 0
	for yyj4469 := 0; ; yyj4469++ {
		if yyhl4469 {
			if yyj4469 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4469Slc = r.DecodeBytes(yys4469Slc, true, true)
		yys4469 := string(yys4469Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4469 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ListMeta = pkg2_unversioned.ListMeta{}
			} else {
				yyv4472 := &x.ListMeta
				yym4473 := z.DecBinary()
				_ = yym4473
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4472) {
				} else {
					z.DecFallback(yyv4472, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv4474 := &x.Items
				yym4475 := z.DecBinary()
				_ = yym4475
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv4474), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4469)
		} // end switch yys4469
	} // end for yyj4469
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *ComponentStatusList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4476 int
	var yyb4476 bool
	var yyhl4476 bool = l >= 0
	yyj4476++
	if yyhl4476 {
		yyb4476 = yyj4476 > l
	} else {
		yyb4476 = r.CheckBreak()
	}
	if yyb4476 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4476++
	if yyhl4476 {
		yyb4476 = yyj4476 > l
	} else {
		yyb4476 = r.CheckBreak()
	}
	if yyb4476 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4476++
	if yyhl4476 {
		yyb4476 = yyj4476 > l
	} else {
		yyb4476 = r.CheckBreak()
	}
	if yyb4476 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv4479 := &x.ListMeta
		yym4480 := z.DecBinary()
		_ = yym4480
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv4479) {
		} else {
			z.DecFallback(yyv4479, false)
		}
	}
	yyj4476++
	if yyhl4476 {
		yyb4476 = yyj4476 > l
	} else {
		yyb4476 = r.CheckBreak()
	}
	if yyb4476 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv4481 := &x.Items
		yym4482 := z.DecBinary()
		_ = yym4482
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv4481), d)
		}
	}
	for {
		yyj4476++
		if yyhl4476 {
			yyb4476 = yyj4476 > l
		} else {
			yyb4476 = r.CheckBreak()
		}
		if yyb4476 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4476-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4483 := z.EncBinary()
		_ = yym4483
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4484 := !z.EncBinary()
			yy2arr4484 := z.EncBasicHandle().StructToArray
			var yyq4484 [6]bool
			_, _, _ = yysep4484, yyq4484, yy2arr4484
			const yyr4484 bool = false
			yyq4484[0] = x.Capabilities != nil
			yyq4484[1] = x.Privileged != nil
			yyq4484[2] = x.SELinuxOptions != nil
			yyq4484[3] = x.RunAsUser != nil
			yyq4484[4] = x.RunAsNonRoot != nil
			yyq4484[5] = x.ReadOnlyRootFilesystem != nil
			var yynn4484 int
			if yyr4484 || yy2arr4484 {
				r.EncodeArrayStart(6)
			} else {
				yynn4484 = 0
				for _, b := range yyq4484 {
					if b {
						yynn4484++
					}
				}
				r.EncodeMapStart(yynn4484)
				yynn4484 = 0
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4484[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4484[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("capabilities"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4484[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy4487 := *x.Privileged
						yym4488 := z.EncBinary()
						_ = yym4488
						if false {
						} else {
							r.EncodeBool(bool(yy4487))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4484[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy4489 := *x.Privileged
						yym4490 := z.EncBinary()
						_ = yym4490
						if false {
						} else {
							r.EncodeBool(bool(yy4489))
						}
					}
				}
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4484[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4484[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4484[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy4493 := *x.RunAsUser
						yym4494 := z.EncBinary()
						_ = yym4494
						if false {
						} else {
							r.EncodeInt(int64(yy4493))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4484[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy4495 := *x.RunAsUser
						yym4496 := z.EncBinary()
						_ = yym4496
						if false {
						} else {
							r.EncodeInt(int64(yy4495))
						}
					}
				}
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4484[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy4498 := *x.RunAsNonRoot
						yym4499 := z.EncBinary()
						_ = yym4499
						if false {
						} else {
							r.EncodeBool(bool(yy4498))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4484[4] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy4500 := *x.RunAsNonRoot
						yym4501 := z.EncBinary()
						_ = yym4501
						if false {
						} else {
							r.EncodeBool(bool(yy4500))
						}
					}
				}
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4484[5] {
					if x.ReadOnlyRootFilesystem == nil {
						r.EncodeNil()
					} else {
						yy4503 := *x.ReadOnlyRootFilesystem
						yym4504 := z.EncBinary()
						_ = yym4504
						if false {
						} else {
							r.EncodeBool(bool(yy4503))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4484[5] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("readOnlyRootFilesystem"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					if x.ReadOnlyRootFilesystem == nil {
						r.EncodeNil()
					} else {
						yy4505 := *x.ReadOnlyRootFilesystem
						yym4506 := z.EncBinary()
						_ = yym4506
						if false {
						} else {
							r.EncodeBool(bool(yy4505))
						}
					}
				}
			}
			if yyr4484 || yy2arr4484 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4507 := z.DecBinary()
	_ = yym4507
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4508 := r.ContainerType()
		if yyct4508 == codecSelferValueTypeMap1234 {
			yyl4508 := r.ReadMapStart()
			if yyl4508 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4508, d)
			}
		} else if yyct4508 == codecSelferValueTypeArray1234 {
			yyl4508 := r.ReadArrayStart()
			if yyl4508 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4508, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SecurityContext) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4509Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4509Slc
	var yyhl4509 bool = l >= 0
	for yyj4509 := 0; ; yyj4509++ {
		if yyhl4509 {
			if yyj4509 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4509Slc = r.DecodeBytes(yys4509Slc, true, true)
		yys4509 := string(yys4509Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4509 {
		case "capabilities":
			if r.TryDecodeAsNil() {
				if x.Capabilities != nil {
					x.Capabilities = nil
				}
			} else {
				if x.Capabilities == nil {
					x.Capabilities = new(Capabilities)
				}
				x.Capabilities.CodecDecodeSelf(d)
			}
		case "privileged":
			if r.TryDecodeAsNil() {
				if x.Privileged != nil {
					x.Privileged = nil
				}
			} else {
				if x.Privileged == nil {
					x.Privileged = new(bool)
				}
				yym4512 := z.DecBinary()
				_ = yym4512
				if false {
				} else {
					*((*bool)(x.Privileged)) = r.DecodeBool()
				}
			}
		case "seLinuxOptions":
			if r.TryDecodeAsNil() {
				if x.SELinuxOptions != nil {
					x.SELinuxOptions = nil
				}
			} else {
				if x.SELinuxOptions == nil {
					x.SELinuxOptions = new(SELinuxOptions)
				}
				x.SELinuxOptions.CodecDecodeSelf(d)
			}
		case "runAsUser":
			if r.TryDecodeAsNil() {
				if x.RunAsUser != nil {
					x.RunAsUser = nil
				}
			} else {
				if x.RunAsUser == nil {
					x.RunAsUser = new(int64)
				}
				yym4515 := z.DecBinary()
				_ = yym4515
				if false {
				} else {
					*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
				}
			}
		case "runAsNonRoot":
			if r.TryDecodeAsNil() {
				if x.RunAsNonRoot != nil {
					x.RunAsNonRoot = nil
				}
			} else {
				if x.RunAsNonRoot == nil {
					x.RunAsNonRoot = new(bool)
				}
				yym4517 := z.DecBinary()
				_ = yym4517
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "readOnlyRootFilesystem":
			if r.TryDecodeAsNil() {
				if x.ReadOnlyRootFilesystem != nil {
					x.ReadOnlyRootFilesystem = nil
				}
			} else {
				if x.ReadOnlyRootFilesystem == nil {
					x.ReadOnlyRootFilesystem = new(bool)
				}
				yym4519 := z.DecBinary()
				_ = yym4519
				if false {
				} else {
					*((*bool)(x.ReadOnlyRootFilesystem)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4509)
		} // end switch yys4509
	} // end for yyj4509
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4520 int
	var yyb4520 bool
	var yyhl4520 bool = l >= 0
	yyj4520++
	if yyhl4520 {
		yyb4520 = yyj4520 > l
	} else {
		yyb4520 = r.CheckBreak()
	}
	if yyb4520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Capabilities != nil {
			x.Capabilities = nil
		}
	} else {
		if x.Capabilities == nil {
			x.Capabilities = new(Capabilities)
		}
		x.Capabilities.CodecDecodeSelf(d)
	}
	yyj4520++
	if yyhl4520 {
		yyb4520 = yyj4520 > l
	} else {
		yyb4520 = r.CheckBreak()
	}
	if yyb4520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.Privileged != nil {
			x.Privileged = nil
		}
	} else {
		if x.Privileged == nil {
			x.Privileged = new(bool)
		}
		yym4523 := z.DecBinary()
		_ = yym4523
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj4520++
	if yyhl4520 {
		yyb4520 = yyj4520 > l
	} else {
		yyb4520 = r.CheckBreak()
	}
	if yyb4520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj4520++
	if yyhl4520 {
		yyb4520 = yyj4520 > l
	} else {
		yyb4520 = r.CheckBreak()
	}
	if yyb4520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym4526 := z.DecBinary()
		_ = yym4526
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj4520++
	if yyhl4520 {
		yyb4520 = yyj4520 > l
	} else {
		yyb4520 = r.CheckBreak()
	}
	if yyb4520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym4528 := z.DecBinary()
		_ = yym4528
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj4520++
	if yyhl4520 {
		yyb4520 = yyj4520 > l
	} else {
		yyb4520 = r.CheckBreak()
	}
	if yyb4520 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		if x.ReadOnlyRootFilesystem != nil {
			x.ReadOnlyRootFilesystem = nil
		}
	} else {
		if x.ReadOnlyRootFilesystem == nil {
			x.ReadOnlyRootFilesystem = new(bool)
		}
		yym4530 := z.DecBinary()
		_ = yym4530
		if false {
		} else {
			*((*bool)(x.ReadOnlyRootFilesystem)) = r.DecodeBool()
		}
	}
	for {
		yyj4520++
		if yyhl4520 {
			yyb4520 = yyj4520 > l
		} else {
			yyb4520 = r.CheckBreak()
		}
		if yyb4520 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4520-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *SELinuxOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4531 := z.EncBinary()
		_ = yym4531
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4532 := !z.EncBinary()
			yy2arr4532 := z.EncBasicHandle().StructToArray
			var yyq4532 [4]bool
			_, _, _ = yysep4532, yyq4532, yy2arr4532
			const yyr4532 bool = false
			yyq4532[0] = x.User != ""
			yyq4532[1] = x.Role != ""
			yyq4532[2] = x.Type != ""
			yyq4532[3] = x.Level != ""
			var yynn4532 int
			if yyr4532 || yy2arr4532 {
				r.EncodeArrayStart(4)
			} else {
				yynn4532 = 0
				for _, b := range yyq4532 {
					if b {
						yynn4532++
					}
				}
				r.EncodeMapStart(yynn4532)
				yynn4532 = 0
			}
			if yyr4532 || yy2arr4532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4532[0] {
					yym4534 := z.EncBinary()
					_ = yym4534
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4532[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4535 := z.EncBinary()
					_ = yym4535
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr4532 || yy2arr4532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4532[1] {
					yym4537 := z.EncBinary()
					_ = yym4537
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4532[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4538 := z.EncBinary()
					_ = yym4538
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr4532 || yy2arr4532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4532[2] {
					yym4540 := z.EncBinary()
					_ = yym4540
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4532[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4541 := z.EncBinary()
					_ = yym4541
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr4532 || yy2arr4532 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4532[3] {
					yym4543 := z.EncBinary()
					_ = yym4543
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4532[3] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4544 := z.EncBinary()
					_ = yym4544
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yyr4532 || yy2arr4532 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *SELinuxOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4545 := z.DecBinary()
	_ = yym4545
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4546 := r.ContainerType()
		if yyct4546 == codecSelferValueTypeMap1234 {
			yyl4546 := r.ReadMapStart()
			if yyl4546 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4546, d)
			}
		} else if yyct4546 == codecSelferValueTypeArray1234 {
			yyl4546 := r.ReadArrayStart()
			if yyl4546 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4546, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *SELinuxOptions) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4547Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4547Slc
	var yyhl4547 bool = l >= 0
	for yyj4547 := 0; ; yyj4547++ {
		if yyhl4547 {
			if yyj4547 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4547Slc = r.DecodeBytes(yys4547Slc, true, true)
		yys4547 := string(yys4547Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4547 {
		case "user":
			if r.TryDecodeAsNil() {
				x.User = ""
			} else {
				x.User = string(r.DecodeString())
			}
		case "role":
			if r.TryDecodeAsNil() {
				x.Role = ""
			} else {
				x.Role = string(r.DecodeString())
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = string(r.DecodeString())
			}
		case "level":
			if r.TryDecodeAsNil() {
				x.Level = ""
			} else {
				x.Level = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys4547)
		} // end switch yys4547
	} // end for yyj4547
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *SELinuxOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4552 int
	var yyb4552 bool
	var yyhl4552 bool = l >= 0
	yyj4552++
	if yyhl4552 {
		yyb4552 = yyj4552 > l
	} else {
		yyb4552 = r.CheckBreak()
	}
	if yyb4552 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj4552++
	if yyhl4552 {
		yyb4552 = yyj4552 > l
	} else {
		yyb4552 = r.CheckBreak()
	}
	if yyb4552 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj4552++
	if yyhl4552 {
		yyb4552 = yyj4552 > l
	} else {
		yyb4552 = r.CheckBreak()
	}
	if yyb4552 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj4552++
	if yyhl4552 {
		yyb4552 = yyj4552 > l
	} else {
		yyb4552 = r.CheckBreak()
	}
	if yyb4552 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj4552++
		if yyhl4552 {
			yyb4552 = yyj4552 > l
		} else {
			yyb4552 = r.CheckBreak()
		}
		if yyb4552 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4552-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x *RangeAllocation) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym4557 := z.EncBinary()
		_ = yym4557
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep4558 := !z.EncBinary()
			yy2arr4558 := z.EncBasicHandle().StructToArray
			var yyq4558 [5]bool
			_, _, _ = yysep4558, yyq4558, yy2arr4558
			const yyr4558 bool = false
			yyq4558[0] = x.Kind != ""
			yyq4558[1] = x.APIVersion != ""
			yyq4558[2] = true
			var yynn4558 int
			if yyr4558 || yy2arr4558 {
				r.EncodeArrayStart(5)
			} else {
				yynn4558 = 2
				for _, b := range yyq4558 {
					if b {
						yynn4558++
					}
				}
				r.EncodeMapStart(yynn4558)
				yynn4558 = 0
			}
			if yyr4558 || yy2arr4558 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4558[0] {
					yym4560 := z.EncBinary()
					_ = yym4560
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4558[0] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4561 := z.EncBinary()
					_ = yym4561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr4558 || yy2arr4558 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4558[1] {
					yym4563 := z.EncBinary()
					_ = yym4563
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq4558[1] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yym4564 := z.EncBinary()
					_ = yym4564
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr4558 || yy2arr4558 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if yyq4558[2] {
					yy4566 := &x.ObjectMeta
					yy4566.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq4558[2] {
					z.EncSendContainerState(codecSelfer_containerMapKey1234)
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					z.EncSendContainerState(codecSelfer_containerMapValue1234)
					yy4567 := &x.ObjectMeta
					yy4567.CodecEncodeSelf(e)
				}
			}
			if yyr4558 || yy2arr4558 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				yym4569 := z.EncBinary()
				_ = yym4569
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("range"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				yym4570 := z.EncBinary()
				_ = yym4570
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr4558 || yy2arr4558 {
				z.EncSendContainerState(codecSelfer_containerArrayElem1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym4572 := z.EncBinary()
					_ = yym4572
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			} else {
				z.EncSendContainerState(codecSelfer_containerMapKey1234)
				r.EncodeString(codecSelferC_UTF81234, string("data"))
				z.EncSendContainerState(codecSelfer_containerMapValue1234)
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym4573 := z.EncBinary()
					_ = yym4573
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yyr4558 || yy2arr4558 {
				z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				z.EncSendContainerState(codecSelfer_containerMapEnd1234)
			}
		}
	}
}

func (x *RangeAllocation) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym4574 := z.DecBinary()
	_ = yym4574
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		yyct4575 := r.ContainerType()
		if yyct4575 == codecSelferValueTypeMap1234 {
			yyl4575 := r.ReadMapStart()
			if yyl4575 == 0 {
				z.DecSendContainerState(codecSelfer_containerMapEnd1234)
			} else {
				x.codecDecodeSelfFromMap(yyl4575, d)
			}
		} else if yyct4575 == codecSelferValueTypeArray1234 {
			yyl4575 := r.ReadArrayStart()
			if yyl4575 == 0 {
				z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
			} else {
				x.codecDecodeSelfFromArray(yyl4575, d)
			}
		} else {
			panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
		}
	}
}

func (x *RangeAllocation) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yys4576Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys4576Slc
	var yyhl4576 bool = l >= 0
	for yyj4576 := 0; ; yyj4576++ {
		if yyhl4576 {
			if yyj4576 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		z.DecSendContainerState(codecSelfer_containerMapKey1234)
		yys4576Slc = r.DecodeBytes(yys4576Slc, true, true)
		yys4576 := string(yys4576Slc)
		z.DecSendContainerState(codecSelfer_containerMapValue1234)
		switch yys4576 {
		case "kind":
			if r.TryDecodeAsNil() {
				x.Kind = ""
			} else {
				x.Kind = string(r.DecodeString())
			}
		case "apiVersion":
			if r.TryDecodeAsNil() {
				x.APIVersion = ""
			} else {
				x.APIVersion = string(r.DecodeString())
			}
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv4579 := &x.ObjectMeta
				yyv4579.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv4581 := &x.Data
				yym4582 := z.DecBinary()
				_ = yym4582
				if false {
				} else {
					*yyv4581 = r.DecodeBytes(*(*[]byte)(yyv4581), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys4576)
		} // end switch yys4576
	} // end for yyj4576
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x *RangeAllocation) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj4583 int
	var yyb4583 bool
	var yyhl4583 bool = l >= 0
	yyj4583++
	if yyhl4583 {
		yyb4583 = yyj4583 > l
	} else {
		yyb4583 = r.CheckBreak()
	}
	if yyb4583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj4583++
	if yyhl4583 {
		yyb4583 = yyj4583 > l
	} else {
		yyb4583 = r.CheckBreak()
	}
	if yyb4583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj4583++
	if yyhl4583 {
		yyb4583 = yyj4583 > l
	} else {
		yyb4583 = r.CheckBreak()
	}
	if yyb4583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv4586 := &x.ObjectMeta
		yyv4586.CodecDecodeSelf(d)
	}
	yyj4583++
	if yyhl4583 {
		yyb4583 = yyj4583 > l
	} else {
		yyb4583 = r.CheckBreak()
	}
	if yyb4583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj4583++
	if yyhl4583 {
		yyb4583 = yyj4583 > l
	} else {
		yyb4583 = r.CheckBreak()
	}
	if yyb4583 {
		z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
		return
	}
	z.DecSendContainerState(codecSelfer_containerArrayElem1234)
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv4588 := &x.Data
		yym4589 := z.DecBinary()
		_ = yym4589
		if false {
		} else {
			*yyv4588 = r.DecodeBytes(*(*[]byte)(yyv4588), false, false)
		}
	}
	for {
		yyj4583++
		if yyhl4583 {
			yyb4583 = yyj4583 > l
		} else {
			yyb4583 = r.CheckBreak()
		}
		if yyb4583 {
			break
		}
		z.DecSendContainerState(codecSelfer_containerArrayElem1234)
		z.DecStructFieldNotFound(yyj4583-1, "")
	}
	z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) encSliceOwnerReference(v []OwnerReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4590 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4591 := &yyv4590
		yy4591.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceOwnerReference(v *[]OwnerReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4592 := *v
	yyh4592, yyl4592 := z.DecSliceHelperStart()
	var yyc4592 bool
	if yyl4592 == 0 {
		if yyv4592 == nil {
			yyv4592 = []OwnerReference{}
			yyc4592 = true
		} else if len(yyv4592) != 0 {
			yyv4592 = yyv4592[:0]
			yyc4592 = true
		}
	} else if yyl4592 > 0 {
		var yyrr4592, yyrl4592 int
		var yyrt4592 bool
		if yyl4592 > cap(yyv4592) {

			yyrg4592 := len(yyv4592) > 0
			yyv24592 := yyv4592
			yyrl4592, yyrt4592 = z.DecInferLen(yyl4592, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt4592 {
				if yyrl4592 <= cap(yyv4592) {
					yyv4592 = yyv4592[:yyrl4592]
				} else {
					yyv4592 = make([]OwnerReference, yyrl4592)
				}
			} else {
				yyv4592 = make([]OwnerReference, yyrl4592)
			}
			yyc4592 = true
			yyrr4592 = len(yyv4592)
			if yyrg4592 {
				copy(yyv4592, yyv24592)
			}
		} else if yyl4592 != len(yyv4592) {
			yyv4592 = yyv4592[:yyl4592]
			yyc4592 = true
		}
		yyj4592 := 0
		for ; yyj4592 < yyrr4592; yyj4592++ {
			yyh4592.ElemContainerState(yyj4592)
			if r.TryDecodeAsNil() {
				yyv4592[yyj4592] = OwnerReference{}
			} else {
				yyv4593 := &yyv4592[yyj4592]
				yyv4593.CodecDecodeSelf(d)
			}

		}
		if yyrt4592 {
			for ; yyj4592 < yyl4592; yyj4592++ {
				yyv4592 = append(yyv4592, OwnerReference{})
				yyh4592.ElemContainerState(yyj4592)
				if r.TryDecodeAsNil() {
					yyv4592[yyj4592] = OwnerReference{}
				} else {
					yyv4594 := &yyv4592[yyj4592]
					yyv4594.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4592 := 0
		for ; !r.CheckBreak(); yyj4592++ {

			if yyj4592 >= len(yyv4592) {
				yyv4592 = append(yyv4592, OwnerReference{}) // var yyz4592 OwnerReference
				yyc4592 = true
			}
			yyh4592.ElemContainerState(yyj4592)
			if yyj4592 < len(yyv4592) {
				if r.TryDecodeAsNil() {
					yyv4592[yyj4592] = OwnerReference{}
				} else {
					yyv4595 := &yyv4592[yyj4592]
					yyv4595.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4592 < len(yyv4592) {
			yyv4592 = yyv4592[:yyj4592]
			yyc4592 = true
		} else if yyj4592 == 0 && yyv4592 == nil {
			yyv4592 = []OwnerReference{}
			yyc4592 = true
		}
	}
	yyh4592.End()
	if yyc4592 {
		*v = yyv4592
	}
}

func (x codecSelfer1234) encSlicePersistentVolumeAccessMode(v []PersistentVolumeAccessMode, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4596 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4596.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolumeAccessMode(v *[]PersistentVolumeAccessMode, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4597 := *v
	yyh4597, yyl4597 := z.DecSliceHelperStart()
	var yyc4597 bool
	if yyl4597 == 0 {
		if yyv4597 == nil {
			yyv4597 = []PersistentVolumeAccessMode{}
			yyc4597 = true
		} else if len(yyv4597) != 0 {
			yyv4597 = yyv4597[:0]
			yyc4597 = true
		}
	} else if yyl4597 > 0 {
		var yyrr4597, yyrl4597 int
		var yyrt4597 bool
		if yyl4597 > cap(yyv4597) {

			yyrl4597, yyrt4597 = z.DecInferLen(yyl4597, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4597 {
				if yyrl4597 <= cap(yyv4597) {
					yyv4597 = yyv4597[:yyrl4597]
				} else {
					yyv4597 = make([]PersistentVolumeAccessMode, yyrl4597)
				}
			} else {
				yyv4597 = make([]PersistentVolumeAccessMode, yyrl4597)
			}
			yyc4597 = true
			yyrr4597 = len(yyv4597)
		} else if yyl4597 != len(yyv4597) {
			yyv4597 = yyv4597[:yyl4597]
			yyc4597 = true
		}
		yyj4597 := 0
		for ; yyj4597 < yyrr4597; yyj4597++ {
			yyh4597.ElemContainerState(yyj4597)
			if r.TryDecodeAsNil() {
				yyv4597[yyj4597] = ""
			} else {
				yyv4597[yyj4597] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt4597 {
			for ; yyj4597 < yyl4597; yyj4597++ {
				yyv4597 = append(yyv4597, "")
				yyh4597.ElemContainerState(yyj4597)
				if r.TryDecodeAsNil() {
					yyv4597[yyj4597] = ""
				} else {
					yyv4597[yyj4597] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

	} else {
		yyj4597 := 0
		for ; !r.CheckBreak(); yyj4597++ {

			if yyj4597 >= len(yyv4597) {
				yyv4597 = append(yyv4597, "") // var yyz4597 PersistentVolumeAccessMode
				yyc4597 = true
			}
			yyh4597.ElemContainerState(yyj4597)
			if yyj4597 < len(yyv4597) {
				if r.TryDecodeAsNil() {
					yyv4597[yyj4597] = ""
				} else {
					yyv4597[yyj4597] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4597 < len(yyv4597) {
			yyv4597 = yyv4597[:yyj4597]
			yyc4597 = true
		} else if yyj4597 == 0 && yyv4597 == nil {
			yyv4597 = []PersistentVolumeAccessMode{}
			yyc4597 = true
		}
	}
	yyh4597.End()
	if yyc4597 {
		*v = yyv4597
	}
}

func (x codecSelfer1234) encSlicePersistentVolume(v []PersistentVolume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4601 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4602 := &yyv4601
		yy4602.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolume(v *[]PersistentVolume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4603 := *v
	yyh4603, yyl4603 := z.DecSliceHelperStart()
	var yyc4603 bool
	if yyl4603 == 0 {
		if yyv4603 == nil {
			yyv4603 = []PersistentVolume{}
			yyc4603 = true
		} else if len(yyv4603) != 0 {
			yyv4603 = yyv4603[:0]
			yyc4603 = true
		}
	} else if yyl4603 > 0 {
		var yyrr4603, yyrl4603 int
		var yyrt4603 bool
		if yyl4603 > cap(yyv4603) {

			yyrg4603 := len(yyv4603) > 0
			yyv24603 := yyv4603
			yyrl4603, yyrt4603 = z.DecInferLen(yyl4603, z.DecBasicHandle().MaxInitLen, 488)
			if yyrt4603 {
				if yyrl4603 <= cap(yyv4603) {
					yyv4603 = yyv4603[:yyrl4603]
				} else {
					yyv4603 = make([]PersistentVolume, yyrl4603)
				}
			} else {
				yyv4603 = make([]PersistentVolume, yyrl4603)
			}
			yyc4603 = true
			yyrr4603 = len(yyv4603)
			if yyrg4603 {
				copy(yyv4603, yyv24603)
			}
		} else if yyl4603 != len(yyv4603) {
			yyv4603 = yyv4603[:yyl4603]
			yyc4603 = true
		}
		yyj4603 := 0
		for ; yyj4603 < yyrr4603; yyj4603++ {
			yyh4603.ElemContainerState(yyj4603)
			if r.TryDecodeAsNil() {
				yyv4603[yyj4603] = PersistentVolume{}
			} else {
				yyv4604 := &yyv4603[yyj4603]
				yyv4604.CodecDecodeSelf(d)
			}

		}
		if yyrt4603 {
			for ; yyj4603 < yyl4603; yyj4603++ {
				yyv4603 = append(yyv4603, PersistentVolume{})
				yyh4603.ElemContainerState(yyj4603)
				if r.TryDecodeAsNil() {
					yyv4603[yyj4603] = PersistentVolume{}
				} else {
					yyv4605 := &yyv4603[yyj4603]
					yyv4605.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4603 := 0
		for ; !r.CheckBreak(); yyj4603++ {

			if yyj4603 >= len(yyv4603) {
				yyv4603 = append(yyv4603, PersistentVolume{}) // var yyz4603 PersistentVolume
				yyc4603 = true
			}
			yyh4603.ElemContainerState(yyj4603)
			if yyj4603 < len(yyv4603) {
				if r.TryDecodeAsNil() {
					yyv4603[yyj4603] = PersistentVolume{}
				} else {
					yyv4606 := &yyv4603[yyj4603]
					yyv4606.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4603 < len(yyv4603) {
			yyv4603 = yyv4603[:yyj4603]
			yyc4603 = true
		} else if yyj4603 == 0 && yyv4603 == nil {
			yyv4603 = []PersistentVolume{}
			yyc4603 = true
		}
	}
	yyh4603.End()
	if yyc4603 {
		*v = yyv4603
	}
}

func (x codecSelfer1234) encSlicePersistentVolumeClaim(v []PersistentVolumeClaim, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4607 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4608 := &yyv4607
		yy4608.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePersistentVolumeClaim(v *[]PersistentVolumeClaim, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4609 := *v
	yyh4609, yyl4609 := z.DecSliceHelperStart()
	var yyc4609 bool
	if yyl4609 == 0 {
		if yyv4609 == nil {
			yyv4609 = []PersistentVolumeClaim{}
			yyc4609 = true
		} else if len(yyv4609) != 0 {
			yyv4609 = yyv4609[:0]
			yyc4609 = true
		}
	} else if yyl4609 > 0 {
		var yyrr4609, yyrl4609 int
		var yyrt4609 bool
		if yyl4609 > cap(yyv4609) {

			yyrg4609 := len(yyv4609) > 0
			yyv24609 := yyv4609
			yyrl4609, yyrt4609 = z.DecInferLen(yyl4609, z.DecBasicHandle().MaxInitLen, 368)
			if yyrt4609 {
				if yyrl4609 <= cap(yyv4609) {
					yyv4609 = yyv4609[:yyrl4609]
				} else {
					yyv4609 = make([]PersistentVolumeClaim, yyrl4609)
				}
			} else {
				yyv4609 = make([]PersistentVolumeClaim, yyrl4609)
			}
			yyc4609 = true
			yyrr4609 = len(yyv4609)
			if yyrg4609 {
				copy(yyv4609, yyv24609)
			}
		} else if yyl4609 != len(yyv4609) {
			yyv4609 = yyv4609[:yyl4609]
			yyc4609 = true
		}
		yyj4609 := 0
		for ; yyj4609 < yyrr4609; yyj4609++ {
			yyh4609.ElemContainerState(yyj4609)
			if r.TryDecodeAsNil() {
				yyv4609[yyj4609] = PersistentVolumeClaim{}
			} else {
				yyv4610 := &yyv4609[yyj4609]
				yyv4610.CodecDecodeSelf(d)
			}

		}
		if yyrt4609 {
			for ; yyj4609 < yyl4609; yyj4609++ {
				yyv4609 = append(yyv4609, PersistentVolumeClaim{})
				yyh4609.ElemContainerState(yyj4609)
				if r.TryDecodeAsNil() {
					yyv4609[yyj4609] = PersistentVolumeClaim{}
				} else {
					yyv4611 := &yyv4609[yyj4609]
					yyv4611.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4609 := 0
		for ; !r.CheckBreak(); yyj4609++ {

			if yyj4609 >= len(yyv4609) {
				yyv4609 = append(yyv4609, PersistentVolumeClaim{}) // var yyz4609 PersistentVolumeClaim
				yyc4609 = true
			}
			yyh4609.ElemContainerState(yyj4609)
			if yyj4609 < len(yyv4609) {
				if r.TryDecodeAsNil() {
					yyv4609[yyj4609] = PersistentVolumeClaim{}
				} else {
					yyv4612 := &yyv4609[yyj4609]
					yyv4612.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4609 < len(yyv4609) {
			yyv4609 = yyv4609[:yyj4609]
			yyc4609 = true
		} else if yyj4609 == 0 && yyv4609 == nil {
			yyv4609 = []PersistentVolumeClaim{}
			yyc4609 = true
		}
	}
	yyh4609.End()
	if yyc4609 {
		*v = yyv4609
	}
}

func (x codecSelfer1234) encSliceKeyToPath(v []KeyToPath, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4613 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4614 := &yyv4613
		yy4614.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceKeyToPath(v *[]KeyToPath, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4615 := *v
	yyh4615, yyl4615 := z.DecSliceHelperStart()
	var yyc4615 bool
	if yyl4615 == 0 {
		if yyv4615 == nil {
			yyv4615 = []KeyToPath{}
			yyc4615 = true
		} else if len(yyv4615) != 0 {
			yyv4615 = yyv4615[:0]
			yyc4615 = true
		}
	} else if yyl4615 > 0 {
		var yyrr4615, yyrl4615 int
		var yyrt4615 bool
		if yyl4615 > cap(yyv4615) {

			yyrg4615 := len(yyv4615) > 0
			yyv24615 := yyv4615
			yyrl4615, yyrt4615 = z.DecInferLen(yyl4615, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4615 {
				if yyrl4615 <= cap(yyv4615) {
					yyv4615 = yyv4615[:yyrl4615]
				} else {
					yyv4615 = make([]KeyToPath, yyrl4615)
				}
			} else {
				yyv4615 = make([]KeyToPath, yyrl4615)
			}
			yyc4615 = true
			yyrr4615 = len(yyv4615)
			if yyrg4615 {
				copy(yyv4615, yyv24615)
			}
		} else if yyl4615 != len(yyv4615) {
			yyv4615 = yyv4615[:yyl4615]
			yyc4615 = true
		}
		yyj4615 := 0
		for ; yyj4615 < yyrr4615; yyj4615++ {
			yyh4615.ElemContainerState(yyj4615)
			if r.TryDecodeAsNil() {
				yyv4615[yyj4615] = KeyToPath{}
			} else {
				yyv4616 := &yyv4615[yyj4615]
				yyv4616.CodecDecodeSelf(d)
			}

		}
		if yyrt4615 {
			for ; yyj4615 < yyl4615; yyj4615++ {
				yyv4615 = append(yyv4615, KeyToPath{})
				yyh4615.ElemContainerState(yyj4615)
				if r.TryDecodeAsNil() {
					yyv4615[yyj4615] = KeyToPath{}
				} else {
					yyv4617 := &yyv4615[yyj4615]
					yyv4617.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4615 := 0
		for ; !r.CheckBreak(); yyj4615++ {

			if yyj4615 >= len(yyv4615) {
				yyv4615 = append(yyv4615, KeyToPath{}) // var yyz4615 KeyToPath
				yyc4615 = true
			}
			yyh4615.ElemContainerState(yyj4615)
			if yyj4615 < len(yyv4615) {
				if r.TryDecodeAsNil() {
					yyv4615[yyj4615] = KeyToPath{}
				} else {
					yyv4618 := &yyv4615[yyj4615]
					yyv4618.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4615 < len(yyv4615) {
			yyv4615 = yyv4615[:yyj4615]
			yyc4615 = true
		} else if yyj4615 == 0 && yyv4615 == nil {
			yyv4615 = []KeyToPath{}
			yyc4615 = true
		}
	}
	yyh4615.End()
	if yyc4615 {
		*v = yyv4615
	}
}

func (x codecSelfer1234) encSliceDownwardAPIVolumeFile(v []DownwardAPIVolumeFile, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4619 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4620 := &yyv4619
		yy4620.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceDownwardAPIVolumeFile(v *[]DownwardAPIVolumeFile, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4621 := *v
	yyh4621, yyl4621 := z.DecSliceHelperStart()
	var yyc4621 bool
	if yyl4621 == 0 {
		if yyv4621 == nil {
			yyv4621 = []DownwardAPIVolumeFile{}
			yyc4621 = true
		} else if len(yyv4621) != 0 {
			yyv4621 = yyv4621[:0]
			yyc4621 = true
		}
	} else if yyl4621 > 0 {
		var yyrr4621, yyrl4621 int
		var yyrt4621 bool
		if yyl4621 > cap(yyv4621) {

			yyrg4621 := len(yyv4621) > 0
			yyv24621 := yyv4621
			yyrl4621, yyrt4621 = z.DecInferLen(yyl4621, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4621 {
				if yyrl4621 <= cap(yyv4621) {
					yyv4621 = yyv4621[:yyrl4621]
				} else {
					yyv4621 = make([]DownwardAPIVolumeFile, yyrl4621)
				}
			} else {
				yyv4621 = make([]DownwardAPIVolumeFile, yyrl4621)
			}
			yyc4621 = true
			yyrr4621 = len(yyv4621)
			if yyrg4621 {
				copy(yyv4621, yyv24621)
			}
		} else if yyl4621 != len(yyv4621) {
			yyv4621 = yyv4621[:yyl4621]
			yyc4621 = true
		}
		yyj4621 := 0
		for ; yyj4621 < yyrr4621; yyj4621++ {
			yyh4621.ElemContainerState(yyj4621)
			if r.TryDecodeAsNil() {
				yyv4621[yyj4621] = DownwardAPIVolumeFile{}
			} else {
				yyv4622 := &yyv4621[yyj4621]
				yyv4622.CodecDecodeSelf(d)
			}

		}
		if yyrt4621 {
			for ; yyj4621 < yyl4621; yyj4621++ {
				yyv4621 = append(yyv4621, DownwardAPIVolumeFile{})
				yyh4621.ElemContainerState(yyj4621)
				if r.TryDecodeAsNil() {
					yyv4621[yyj4621] = DownwardAPIVolumeFile{}
				} else {
					yyv4623 := &yyv4621[yyj4621]
					yyv4623.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4621 := 0
		for ; !r.CheckBreak(); yyj4621++ {

			if yyj4621 >= len(yyv4621) {
				yyv4621 = append(yyv4621, DownwardAPIVolumeFile{}) // var yyz4621 DownwardAPIVolumeFile
				yyc4621 = true
			}
			yyh4621.ElemContainerState(yyj4621)
			if yyj4621 < len(yyv4621) {
				if r.TryDecodeAsNil() {
					yyv4621[yyj4621] = DownwardAPIVolumeFile{}
				} else {
					yyv4624 := &yyv4621[yyj4621]
					yyv4624.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4621 < len(yyv4621) {
			yyv4621 = yyv4621[:yyj4621]
			yyc4621 = true
		} else if yyj4621 == 0 && yyv4621 == nil {
			yyv4621 = []DownwardAPIVolumeFile{}
			yyc4621 = true
		}
	}
	yyh4621.End()
	if yyc4621 {
		*v = yyv4621
	}
}

func (x codecSelfer1234) encSliceHTTPHeader(v []HTTPHeader, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4625 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4626 := &yyv4625
		yy4626.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceHTTPHeader(v *[]HTTPHeader, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4627 := *v
	yyh4627, yyl4627 := z.DecSliceHelperStart()
	var yyc4627 bool
	if yyl4627 == 0 {
		if yyv4627 == nil {
			yyv4627 = []HTTPHeader{}
			yyc4627 = true
		} else if len(yyv4627) != 0 {
			yyv4627 = yyv4627[:0]
			yyc4627 = true
		}
	} else if yyl4627 > 0 {
		var yyrr4627, yyrl4627 int
		var yyrt4627 bool
		if yyl4627 > cap(yyv4627) {

			yyrg4627 := len(yyv4627) > 0
			yyv24627 := yyv4627
			yyrl4627, yyrt4627 = z.DecInferLen(yyl4627, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4627 {
				if yyrl4627 <= cap(yyv4627) {
					yyv4627 = yyv4627[:yyrl4627]
				} else {
					yyv4627 = make([]HTTPHeader, yyrl4627)
				}
			} else {
				yyv4627 = make([]HTTPHeader, yyrl4627)
			}
			yyc4627 = true
			yyrr4627 = len(yyv4627)
			if yyrg4627 {
				copy(yyv4627, yyv24627)
			}
		} else if yyl4627 != len(yyv4627) {
			yyv4627 = yyv4627[:yyl4627]
			yyc4627 = true
		}
		yyj4627 := 0
		for ; yyj4627 < yyrr4627; yyj4627++ {
			yyh4627.ElemContainerState(yyj4627)
			if r.TryDecodeAsNil() {
				yyv4627[yyj4627] = HTTPHeader{}
			} else {
				yyv4628 := &yyv4627[yyj4627]
				yyv4628.CodecDecodeSelf(d)
			}

		}
		if yyrt4627 {
			for ; yyj4627 < yyl4627; yyj4627++ {
				yyv4627 = append(yyv4627, HTTPHeader{})
				yyh4627.ElemContainerState(yyj4627)
				if r.TryDecodeAsNil() {
					yyv4627[yyj4627] = HTTPHeader{}
				} else {
					yyv4629 := &yyv4627[yyj4627]
					yyv4629.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4627 := 0
		for ; !r.CheckBreak(); yyj4627++ {

			if yyj4627 >= len(yyv4627) {
				yyv4627 = append(yyv4627, HTTPHeader{}) // var yyz4627 HTTPHeader
				yyc4627 = true
			}
			yyh4627.ElemContainerState(yyj4627)
			if yyj4627 < len(yyv4627) {
				if r.TryDecodeAsNil() {
					yyv4627[yyj4627] = HTTPHeader{}
				} else {
					yyv4630 := &yyv4627[yyj4627]
					yyv4630.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4627 < len(yyv4627) {
			yyv4627 = yyv4627[:yyj4627]
			yyc4627 = true
		} else if yyj4627 == 0 && yyv4627 == nil {
			yyv4627 = []HTTPHeader{}
			yyc4627 = true
		}
	}
	yyh4627.End()
	if yyc4627 {
		*v = yyv4627
	}
}

func (x codecSelfer1234) encSliceCapability(v []Capability, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4631 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4631.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceCapability(v *[]Capability, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4632 := *v
	yyh4632, yyl4632 := z.DecSliceHelperStart()
	var yyc4632 bool
	if yyl4632 == 0 {
		if yyv4632 == nil {
			yyv4632 = []Capability{}
			yyc4632 = true
		} else if len(yyv4632) != 0 {
			yyv4632 = yyv4632[:0]
			yyc4632 = true
		}
	} else if yyl4632 > 0 {
		var yyrr4632, yyrl4632 int
		var yyrt4632 bool
		if yyl4632 > cap(yyv4632) {

			yyrl4632, yyrt4632 = z.DecInferLen(yyl4632, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4632 {
				if yyrl4632 <= cap(yyv4632) {
					yyv4632 = yyv4632[:yyrl4632]
				} else {
					yyv4632 = make([]Capability, yyrl4632)
				}
			} else {
				yyv4632 = make([]Capability, yyrl4632)
			}
			yyc4632 = true
			yyrr4632 = len(yyv4632)
		} else if yyl4632 != len(yyv4632) {
			yyv4632 = yyv4632[:yyl4632]
			yyc4632 = true
		}
		yyj4632 := 0
		for ; yyj4632 < yyrr4632; yyj4632++ {
			yyh4632.ElemContainerState(yyj4632)
			if r.TryDecodeAsNil() {
				yyv4632[yyj4632] = ""
			} else {
				yyv4632[yyj4632] = Capability(r.DecodeString())
			}

		}
		if yyrt4632 {
			for ; yyj4632 < yyl4632; yyj4632++ {
				yyv4632 = append(yyv4632, "")
				yyh4632.ElemContainerState(yyj4632)
				if r.TryDecodeAsNil() {
					yyv4632[yyj4632] = ""
				} else {
					yyv4632[yyj4632] = Capability(r.DecodeString())
				}

			}
		}

	} else {
		yyj4632 := 0
		for ; !r.CheckBreak(); yyj4632++ {

			if yyj4632 >= len(yyv4632) {
				yyv4632 = append(yyv4632, "") // var yyz4632 Capability
				yyc4632 = true
			}
			yyh4632.ElemContainerState(yyj4632)
			if yyj4632 < len(yyv4632) {
				if r.TryDecodeAsNil() {
					yyv4632[yyj4632] = ""
				} else {
					yyv4632[yyj4632] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4632 < len(yyv4632) {
			yyv4632 = yyv4632[:yyj4632]
			yyc4632 = true
		} else if yyj4632 == 0 && yyv4632 == nil {
			yyv4632 = []Capability{}
			yyc4632 = true
		}
	}
	yyh4632.End()
	if yyc4632 {
		*v = yyv4632
	}
}

func (x codecSelfer1234) encSliceContainerPort(v []ContainerPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4636 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4637 := &yyv4636
		yy4637.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerPort(v *[]ContainerPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4638 := *v
	yyh4638, yyl4638 := z.DecSliceHelperStart()
	var yyc4638 bool
	if yyl4638 == 0 {
		if yyv4638 == nil {
			yyv4638 = []ContainerPort{}
			yyc4638 = true
		} else if len(yyv4638) != 0 {
			yyv4638 = yyv4638[:0]
			yyc4638 = true
		}
	} else if yyl4638 > 0 {
		var yyrr4638, yyrl4638 int
		var yyrt4638 bool
		if yyl4638 > cap(yyv4638) {

			yyrg4638 := len(yyv4638) > 0
			yyv24638 := yyv4638
			yyrl4638, yyrt4638 = z.DecInferLen(yyl4638, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4638 {
				if yyrl4638 <= cap(yyv4638) {
					yyv4638 = yyv4638[:yyrl4638]
				} else {
					yyv4638 = make([]ContainerPort, yyrl4638)
				}
			} else {
				yyv4638 = make([]ContainerPort, yyrl4638)
			}
			yyc4638 = true
			yyrr4638 = len(yyv4638)
			if yyrg4638 {
				copy(yyv4638, yyv24638)
			}
		} else if yyl4638 != len(yyv4638) {
			yyv4638 = yyv4638[:yyl4638]
			yyc4638 = true
		}
		yyj4638 := 0
		for ; yyj4638 < yyrr4638; yyj4638++ {
			yyh4638.ElemContainerState(yyj4638)
			if r.TryDecodeAsNil() {
				yyv4638[yyj4638] = ContainerPort{}
			} else {
				yyv4639 := &yyv4638[yyj4638]
				yyv4639.CodecDecodeSelf(d)
			}

		}
		if yyrt4638 {
			for ; yyj4638 < yyl4638; yyj4638++ {
				yyv4638 = append(yyv4638, ContainerPort{})
				yyh4638.ElemContainerState(yyj4638)
				if r.TryDecodeAsNil() {
					yyv4638[yyj4638] = ContainerPort{}
				} else {
					yyv4640 := &yyv4638[yyj4638]
					yyv4640.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4638 := 0
		for ; !r.CheckBreak(); yyj4638++ {

			if yyj4638 >= len(yyv4638) {
				yyv4638 = append(yyv4638, ContainerPort{}) // var yyz4638 ContainerPort
				yyc4638 = true
			}
			yyh4638.ElemContainerState(yyj4638)
			if yyj4638 < len(yyv4638) {
				if r.TryDecodeAsNil() {
					yyv4638[yyj4638] = ContainerPort{}
				} else {
					yyv4641 := &yyv4638[yyj4638]
					yyv4641.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4638 < len(yyv4638) {
			yyv4638 = yyv4638[:yyj4638]
			yyc4638 = true
		} else if yyj4638 == 0 && yyv4638 == nil {
			yyv4638 = []ContainerPort{}
			yyc4638 = true
		}
	}
	yyh4638.End()
	if yyc4638 {
		*v = yyv4638
	}
}

func (x codecSelfer1234) encSliceEnvVar(v []EnvVar, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4642 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4643 := &yyv4642
		yy4643.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEnvVar(v *[]EnvVar, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4644 := *v
	yyh4644, yyl4644 := z.DecSliceHelperStart()
	var yyc4644 bool
	if yyl4644 == 0 {
		if yyv4644 == nil {
			yyv4644 = []EnvVar{}
			yyc4644 = true
		} else if len(yyv4644) != 0 {
			yyv4644 = yyv4644[:0]
			yyc4644 = true
		}
	} else if yyl4644 > 0 {
		var yyrr4644, yyrl4644 int
		var yyrt4644 bool
		if yyl4644 > cap(yyv4644) {

			yyrg4644 := len(yyv4644) > 0
			yyv24644 := yyv4644
			yyrl4644, yyrt4644 = z.DecInferLen(yyl4644, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4644 {
				if yyrl4644 <= cap(yyv4644) {
					yyv4644 = yyv4644[:yyrl4644]
				} else {
					yyv4644 = make([]EnvVar, yyrl4644)
				}
			} else {
				yyv4644 = make([]EnvVar, yyrl4644)
			}
			yyc4644 = true
			yyrr4644 = len(yyv4644)
			if yyrg4644 {
				copy(yyv4644, yyv24644)
			}
		} else if yyl4644 != len(yyv4644) {
			yyv4644 = yyv4644[:yyl4644]
			yyc4644 = true
		}
		yyj4644 := 0
		for ; yyj4644 < yyrr4644; yyj4644++ {
			yyh4644.ElemContainerState(yyj4644)
			if r.TryDecodeAsNil() {
				yyv4644[yyj4644] = EnvVar{}
			} else {
				yyv4645 := &yyv4644[yyj4644]
				yyv4645.CodecDecodeSelf(d)
			}

		}
		if yyrt4644 {
			for ; yyj4644 < yyl4644; yyj4644++ {
				yyv4644 = append(yyv4644, EnvVar{})
				yyh4644.ElemContainerState(yyj4644)
				if r.TryDecodeAsNil() {
					yyv4644[yyj4644] = EnvVar{}
				} else {
					yyv4646 := &yyv4644[yyj4644]
					yyv4646.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4644 := 0
		for ; !r.CheckBreak(); yyj4644++ {

			if yyj4644 >= len(yyv4644) {
				yyv4644 = append(yyv4644, EnvVar{}) // var yyz4644 EnvVar
				yyc4644 = true
			}
			yyh4644.ElemContainerState(yyj4644)
			if yyj4644 < len(yyv4644) {
				if r.TryDecodeAsNil() {
					yyv4644[yyj4644] = EnvVar{}
				} else {
					yyv4647 := &yyv4644[yyj4644]
					yyv4647.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4644 < len(yyv4644) {
			yyv4644 = yyv4644[:yyj4644]
			yyc4644 = true
		} else if yyj4644 == 0 && yyv4644 == nil {
			yyv4644 = []EnvVar{}
			yyc4644 = true
		}
	}
	yyh4644.End()
	if yyc4644 {
		*v = yyv4644
	}
}

func (x codecSelfer1234) encSliceVolumeMount(v []VolumeMount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4648 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4649 := &yyv4648
		yy4649.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceVolumeMount(v *[]VolumeMount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4650 := *v
	yyh4650, yyl4650 := z.DecSliceHelperStart()
	var yyc4650 bool
	if yyl4650 == 0 {
		if yyv4650 == nil {
			yyv4650 = []VolumeMount{}
			yyc4650 = true
		} else if len(yyv4650) != 0 {
			yyv4650 = yyv4650[:0]
			yyc4650 = true
		}
	} else if yyl4650 > 0 {
		var yyrr4650, yyrl4650 int
		var yyrt4650 bool
		if yyl4650 > cap(yyv4650) {

			yyrg4650 := len(yyv4650) > 0
			yyv24650 := yyv4650
			yyrl4650, yyrt4650 = z.DecInferLen(yyl4650, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4650 {
				if yyrl4650 <= cap(yyv4650) {
					yyv4650 = yyv4650[:yyrl4650]
				} else {
					yyv4650 = make([]VolumeMount, yyrl4650)
				}
			} else {
				yyv4650 = make([]VolumeMount, yyrl4650)
			}
			yyc4650 = true
			yyrr4650 = len(yyv4650)
			if yyrg4650 {
				copy(yyv4650, yyv24650)
			}
		} else if yyl4650 != len(yyv4650) {
			yyv4650 = yyv4650[:yyl4650]
			yyc4650 = true
		}
		yyj4650 := 0
		for ; yyj4650 < yyrr4650; yyj4650++ {
			yyh4650.ElemContainerState(yyj4650)
			if r.TryDecodeAsNil() {
				yyv4650[yyj4650] = VolumeMount{}
			} else {
				yyv4651 := &yyv4650[yyj4650]
				yyv4651.CodecDecodeSelf(d)
			}

		}
		if yyrt4650 {
			for ; yyj4650 < yyl4650; yyj4650++ {
				yyv4650 = append(yyv4650, VolumeMount{})
				yyh4650.ElemContainerState(yyj4650)
				if r.TryDecodeAsNil() {
					yyv4650[yyj4650] = VolumeMount{}
				} else {
					yyv4652 := &yyv4650[yyj4650]
					yyv4652.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4650 := 0
		for ; !r.CheckBreak(); yyj4650++ {

			if yyj4650 >= len(yyv4650) {
				yyv4650 = append(yyv4650, VolumeMount{}) // var yyz4650 VolumeMount
				yyc4650 = true
			}
			yyh4650.ElemContainerState(yyj4650)
			if yyj4650 < len(yyv4650) {
				if r.TryDecodeAsNil() {
					yyv4650[yyj4650] = VolumeMount{}
				} else {
					yyv4653 := &yyv4650[yyj4650]
					yyv4653.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4650 < len(yyv4650) {
			yyv4650 = yyv4650[:yyj4650]
			yyc4650 = true
		} else if yyj4650 == 0 && yyv4650 == nil {
			yyv4650 = []VolumeMount{}
			yyc4650 = true
		}
	}
	yyh4650.End()
	if yyc4650 {
		*v = yyv4650
	}
}

func (x codecSelfer1234) encSlicePod(v []Pod, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4654 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4655 := &yyv4654
		yy4655.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePod(v *[]Pod, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4656 := *v
	yyh4656, yyl4656 := z.DecSliceHelperStart()
	var yyc4656 bool
	if yyl4656 == 0 {
		if yyv4656 == nil {
			yyv4656 = []Pod{}
			yyc4656 = true
		} else if len(yyv4656) != 0 {
			yyv4656 = yyv4656[:0]
			yyc4656 = true
		}
	} else if yyl4656 > 0 {
		var yyrr4656, yyrl4656 int
		var yyrt4656 bool
		if yyl4656 > cap(yyv4656) {

			yyrg4656 := len(yyv4656) > 0
			yyv24656 := yyv4656
			yyrl4656, yyrt4656 = z.DecInferLen(yyl4656, z.DecBasicHandle().MaxInitLen, 640)
			if yyrt4656 {
				if yyrl4656 <= cap(yyv4656) {
					yyv4656 = yyv4656[:yyrl4656]
				} else {
					yyv4656 = make([]Pod, yyrl4656)
				}
			} else {
				yyv4656 = make([]Pod, yyrl4656)
			}
			yyc4656 = true
			yyrr4656 = len(yyv4656)
			if yyrg4656 {
				copy(yyv4656, yyv24656)
			}
		} else if yyl4656 != len(yyv4656) {
			yyv4656 = yyv4656[:yyl4656]
			yyc4656 = true
		}
		yyj4656 := 0
		for ; yyj4656 < yyrr4656; yyj4656++ {
			yyh4656.ElemContainerState(yyj4656)
			if r.TryDecodeAsNil() {
				yyv4656[yyj4656] = Pod{}
			} else {
				yyv4657 := &yyv4656[yyj4656]
				yyv4657.CodecDecodeSelf(d)
			}

		}
		if yyrt4656 {
			for ; yyj4656 < yyl4656; yyj4656++ {
				yyv4656 = append(yyv4656, Pod{})
				yyh4656.ElemContainerState(yyj4656)
				if r.TryDecodeAsNil() {
					yyv4656[yyj4656] = Pod{}
				} else {
					yyv4658 := &yyv4656[yyj4656]
					yyv4658.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4656 := 0
		for ; !r.CheckBreak(); yyj4656++ {

			if yyj4656 >= len(yyv4656) {
				yyv4656 = append(yyv4656, Pod{}) // var yyz4656 Pod
				yyc4656 = true
			}
			yyh4656.ElemContainerState(yyj4656)
			if yyj4656 < len(yyv4656) {
				if r.TryDecodeAsNil() {
					yyv4656[yyj4656] = Pod{}
				} else {
					yyv4659 := &yyv4656[yyj4656]
					yyv4659.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4656 < len(yyv4656) {
			yyv4656 = yyv4656[:yyj4656]
			yyc4656 = true
		} else if yyj4656 == 0 && yyv4656 == nil {
			yyv4656 = []Pod{}
			yyc4656 = true
		}
	}
	yyh4656.End()
	if yyc4656 {
		*v = yyv4656
	}
}

func (x codecSelfer1234) encSliceNodeSelectorTerm(v []NodeSelectorTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4660 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4661 := &yyv4660
		yy4661.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeSelectorTerm(v *[]NodeSelectorTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4662 := *v
	yyh4662, yyl4662 := z.DecSliceHelperStart()
	var yyc4662 bool
	if yyl4662 == 0 {
		if yyv4662 == nil {
			yyv4662 = []NodeSelectorTerm{}
			yyc4662 = true
		} else if len(yyv4662) != 0 {
			yyv4662 = yyv4662[:0]
			yyc4662 = true
		}
	} else if yyl4662 > 0 {
		var yyrr4662, yyrl4662 int
		var yyrt4662 bool
		if yyl4662 > cap(yyv4662) {

			yyrg4662 := len(yyv4662) > 0
			yyv24662 := yyv4662
			yyrl4662, yyrt4662 = z.DecInferLen(yyl4662, z.DecBasicHandle().MaxInitLen, 24)
			if yyrt4662 {
				if yyrl4662 <= cap(yyv4662) {
					yyv4662 = yyv4662[:yyrl4662]
				} else {
					yyv4662 = make([]NodeSelectorTerm, yyrl4662)
				}
			} else {
				yyv4662 = make([]NodeSelectorTerm, yyrl4662)
			}
			yyc4662 = true
			yyrr4662 = len(yyv4662)
			if yyrg4662 {
				copy(yyv4662, yyv24662)
			}
		} else if yyl4662 != len(yyv4662) {
			yyv4662 = yyv4662[:yyl4662]
			yyc4662 = true
		}
		yyj4662 := 0
		for ; yyj4662 < yyrr4662; yyj4662++ {
			yyh4662.ElemContainerState(yyj4662)
			if r.TryDecodeAsNil() {
				yyv4662[yyj4662] = NodeSelectorTerm{}
			} else {
				yyv4663 := &yyv4662[yyj4662]
				yyv4663.CodecDecodeSelf(d)
			}

		}
		if yyrt4662 {
			for ; yyj4662 < yyl4662; yyj4662++ {
				yyv4662 = append(yyv4662, NodeSelectorTerm{})
				yyh4662.ElemContainerState(yyj4662)
				if r.TryDecodeAsNil() {
					yyv4662[yyj4662] = NodeSelectorTerm{}
				} else {
					yyv4664 := &yyv4662[yyj4662]
					yyv4664.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4662 := 0
		for ; !r.CheckBreak(); yyj4662++ {

			if yyj4662 >= len(yyv4662) {
				yyv4662 = append(yyv4662, NodeSelectorTerm{}) // var yyz4662 NodeSelectorTerm
				yyc4662 = true
			}
			yyh4662.ElemContainerState(yyj4662)
			if yyj4662 < len(yyv4662) {
				if r.TryDecodeAsNil() {
					yyv4662[yyj4662] = NodeSelectorTerm{}
				} else {
					yyv4665 := &yyv4662[yyj4662]
					yyv4665.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4662 < len(yyv4662) {
			yyv4662 = yyv4662[:yyj4662]
			yyc4662 = true
		} else if yyj4662 == 0 && yyv4662 == nil {
			yyv4662 = []NodeSelectorTerm{}
			yyc4662 = true
		}
	}
	yyh4662.End()
	if yyc4662 {
		*v = yyv4662
	}
}

func (x codecSelfer1234) encSliceNodeSelectorRequirement(v []NodeSelectorRequirement, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4666 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4667 := &yyv4666
		yy4667.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeSelectorRequirement(v *[]NodeSelectorRequirement, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4668 := *v
	yyh4668, yyl4668 := z.DecSliceHelperStart()
	var yyc4668 bool
	if yyl4668 == 0 {
		if yyv4668 == nil {
			yyv4668 = []NodeSelectorRequirement{}
			yyc4668 = true
		} else if len(yyv4668) != 0 {
			yyv4668 = yyv4668[:0]
			yyc4668 = true
		}
	} else if yyl4668 > 0 {
		var yyrr4668, yyrl4668 int
		var yyrt4668 bool
		if yyl4668 > cap(yyv4668) {

			yyrg4668 := len(yyv4668) > 0
			yyv24668 := yyv4668
			yyrl4668, yyrt4668 = z.DecInferLen(yyl4668, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4668 {
				if yyrl4668 <= cap(yyv4668) {
					yyv4668 = yyv4668[:yyrl4668]
				} else {
					yyv4668 = make([]NodeSelectorRequirement, yyrl4668)
				}
			} else {
				yyv4668 = make([]NodeSelectorRequirement, yyrl4668)
			}
			yyc4668 = true
			yyrr4668 = len(yyv4668)
			if yyrg4668 {
				copy(yyv4668, yyv24668)
			}
		} else if yyl4668 != len(yyv4668) {
			yyv4668 = yyv4668[:yyl4668]
			yyc4668 = true
		}
		yyj4668 := 0
		for ; yyj4668 < yyrr4668; yyj4668++ {
			yyh4668.ElemContainerState(yyj4668)
			if r.TryDecodeAsNil() {
				yyv4668[yyj4668] = NodeSelectorRequirement{}
			} else {
				yyv4669 := &yyv4668[yyj4668]
				yyv4669.CodecDecodeSelf(d)
			}

		}
		if yyrt4668 {
			for ; yyj4668 < yyl4668; yyj4668++ {
				yyv4668 = append(yyv4668, NodeSelectorRequirement{})
				yyh4668.ElemContainerState(yyj4668)
				if r.TryDecodeAsNil() {
					yyv4668[yyj4668] = NodeSelectorRequirement{}
				} else {
					yyv4670 := &yyv4668[yyj4668]
					yyv4670.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4668 := 0
		for ; !r.CheckBreak(); yyj4668++ {

			if yyj4668 >= len(yyv4668) {
				yyv4668 = append(yyv4668, NodeSelectorRequirement{}) // var yyz4668 NodeSelectorRequirement
				yyc4668 = true
			}
			yyh4668.ElemContainerState(yyj4668)
			if yyj4668 < len(yyv4668) {
				if r.TryDecodeAsNil() {
					yyv4668[yyj4668] = NodeSelectorRequirement{}
				} else {
					yyv4671 := &yyv4668[yyj4668]
					yyv4671.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4668 < len(yyv4668) {
			yyv4668 = yyv4668[:yyj4668]
			yyc4668 = true
		} else if yyj4668 == 0 && yyv4668 == nil {
			yyv4668 = []NodeSelectorRequirement{}
			yyc4668 = true
		}
	}
	yyh4668.End()
	if yyc4668 {
		*v = yyv4668
	}
}

func (x codecSelfer1234) encSlicePodAffinityTerm(v []PodAffinityTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4672 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4673 := &yyv4672
		yy4673.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodAffinityTerm(v *[]PodAffinityTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4674 := *v
	yyh4674, yyl4674 := z.DecSliceHelperStart()
	var yyc4674 bool
	if yyl4674 == 0 {
		if yyv4674 == nil {
			yyv4674 = []PodAffinityTerm{}
			yyc4674 = true
		} else if len(yyv4674) != 0 {
			yyv4674 = yyv4674[:0]
			yyc4674 = true
		}
	} else if yyl4674 > 0 {
		var yyrr4674, yyrl4674 int
		var yyrt4674 bool
		if yyl4674 > cap(yyv4674) {

			yyrg4674 := len(yyv4674) > 0
			yyv24674 := yyv4674
			yyrl4674, yyrt4674 = z.DecInferLen(yyl4674, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt4674 {
				if yyrl4674 <= cap(yyv4674) {
					yyv4674 = yyv4674[:yyrl4674]
				} else {
					yyv4674 = make([]PodAffinityTerm, yyrl4674)
				}
			} else {
				yyv4674 = make([]PodAffinityTerm, yyrl4674)
			}
			yyc4674 = true
			yyrr4674 = len(yyv4674)
			if yyrg4674 {
				copy(yyv4674, yyv24674)
			}
		} else if yyl4674 != len(yyv4674) {
			yyv4674 = yyv4674[:yyl4674]
			yyc4674 = true
		}
		yyj4674 := 0
		for ; yyj4674 < yyrr4674; yyj4674++ {
			yyh4674.ElemContainerState(yyj4674)
			if r.TryDecodeAsNil() {
				yyv4674[yyj4674] = PodAffinityTerm{}
			} else {
				yyv4675 := &yyv4674[yyj4674]
				yyv4675.CodecDecodeSelf(d)
			}

		}
		if yyrt4674 {
			for ; yyj4674 < yyl4674; yyj4674++ {
				yyv4674 = append(yyv4674, PodAffinityTerm{})
				yyh4674.ElemContainerState(yyj4674)
				if r.TryDecodeAsNil() {
					yyv4674[yyj4674] = PodAffinityTerm{}
				} else {
					yyv4676 := &yyv4674[yyj4674]
					yyv4676.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4674 := 0
		for ; !r.CheckBreak(); yyj4674++ {

			if yyj4674 >= len(yyv4674) {
				yyv4674 = append(yyv4674, PodAffinityTerm{}) // var yyz4674 PodAffinityTerm
				yyc4674 = true
			}
			yyh4674.ElemContainerState(yyj4674)
			if yyj4674 < len(yyv4674) {
				if r.TryDecodeAsNil() {
					yyv4674[yyj4674] = PodAffinityTerm{}
				} else {
					yyv4677 := &yyv4674[yyj4674]
					yyv4677.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4674 < len(yyv4674) {
			yyv4674 = yyv4674[:yyj4674]
			yyc4674 = true
		} else if yyj4674 == 0 && yyv4674 == nil {
			yyv4674 = []PodAffinityTerm{}
			yyc4674 = true
		}
	}
	yyh4674.End()
	if yyc4674 {
		*v = yyv4674
	}
}

func (x codecSelfer1234) encSliceWeightedPodAffinityTerm(v []WeightedPodAffinityTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4678 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4679 := &yyv4678
		yy4679.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceWeightedPodAffinityTerm(v *[]WeightedPodAffinityTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4680 := *v
	yyh4680, yyl4680 := z.DecSliceHelperStart()
	var yyc4680 bool
	if yyl4680 == 0 {
		if yyv4680 == nil {
			yyv4680 = []WeightedPodAffinityTerm{}
			yyc4680 = true
		} else if len(yyv4680) != 0 {
			yyv4680 = yyv4680[:0]
			yyc4680 = true
		}
	} else if yyl4680 > 0 {
		var yyrr4680, yyrl4680 int
		var yyrt4680 bool
		if yyl4680 > cap(yyv4680) {

			yyrg4680 := len(yyv4680) > 0
			yyv24680 := yyv4680
			yyrl4680, yyrt4680 = z.DecInferLen(yyl4680, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4680 {
				if yyrl4680 <= cap(yyv4680) {
					yyv4680 = yyv4680[:yyrl4680]
				} else {
					yyv4680 = make([]WeightedPodAffinityTerm, yyrl4680)
				}
			} else {
				yyv4680 = make([]WeightedPodAffinityTerm, yyrl4680)
			}
			yyc4680 = true
			yyrr4680 = len(yyv4680)
			if yyrg4680 {
				copy(yyv4680, yyv24680)
			}
		} else if yyl4680 != len(yyv4680) {
			yyv4680 = yyv4680[:yyl4680]
			yyc4680 = true
		}
		yyj4680 := 0
		for ; yyj4680 < yyrr4680; yyj4680++ {
			yyh4680.ElemContainerState(yyj4680)
			if r.TryDecodeAsNil() {
				yyv4680[yyj4680] = WeightedPodAffinityTerm{}
			} else {
				yyv4681 := &yyv4680[yyj4680]
				yyv4681.CodecDecodeSelf(d)
			}

		}
		if yyrt4680 {
			for ; yyj4680 < yyl4680; yyj4680++ {
				yyv4680 = append(yyv4680, WeightedPodAffinityTerm{})
				yyh4680.ElemContainerState(yyj4680)
				if r.TryDecodeAsNil() {
					yyv4680[yyj4680] = WeightedPodAffinityTerm{}
				} else {
					yyv4682 := &yyv4680[yyj4680]
					yyv4682.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4680 := 0
		for ; !r.CheckBreak(); yyj4680++ {

			if yyj4680 >= len(yyv4680) {
				yyv4680 = append(yyv4680, WeightedPodAffinityTerm{}) // var yyz4680 WeightedPodAffinityTerm
				yyc4680 = true
			}
			yyh4680.ElemContainerState(yyj4680)
			if yyj4680 < len(yyv4680) {
				if r.TryDecodeAsNil() {
					yyv4680[yyj4680] = WeightedPodAffinityTerm{}
				} else {
					yyv4683 := &yyv4680[yyj4680]
					yyv4683.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4680 < len(yyv4680) {
			yyv4680 = yyv4680[:yyj4680]
			yyc4680 = true
		} else if yyj4680 == 0 && yyv4680 == nil {
			yyv4680 = []WeightedPodAffinityTerm{}
			yyc4680 = true
		}
	}
	yyh4680.End()
	if yyc4680 {
		*v = yyv4680
	}
}

func (x codecSelfer1234) encSlicePreferredSchedulingTerm(v []PreferredSchedulingTerm, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4684 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4685 := &yyv4684
		yy4685.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePreferredSchedulingTerm(v *[]PreferredSchedulingTerm, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4686 := *v
	yyh4686, yyl4686 := z.DecSliceHelperStart()
	var yyc4686 bool
	if yyl4686 == 0 {
		if yyv4686 == nil {
			yyv4686 = []PreferredSchedulingTerm{}
			yyc4686 = true
		} else if len(yyv4686) != 0 {
			yyv4686 = yyv4686[:0]
			yyc4686 = true
		}
	} else if yyl4686 > 0 {
		var yyrr4686, yyrl4686 int
		var yyrt4686 bool
		if yyl4686 > cap(yyv4686) {

			yyrg4686 := len(yyv4686) > 0
			yyv24686 := yyv4686
			yyrl4686, yyrt4686 = z.DecInferLen(yyl4686, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4686 {
				if yyrl4686 <= cap(yyv4686) {
					yyv4686 = yyv4686[:yyrl4686]
				} else {
					yyv4686 = make([]PreferredSchedulingTerm, yyrl4686)
				}
			} else {
				yyv4686 = make([]PreferredSchedulingTerm, yyrl4686)
			}
			yyc4686 = true
			yyrr4686 = len(yyv4686)
			if yyrg4686 {
				copy(yyv4686, yyv24686)
			}
		} else if yyl4686 != len(yyv4686) {
			yyv4686 = yyv4686[:yyl4686]
			yyc4686 = true
		}
		yyj4686 := 0
		for ; yyj4686 < yyrr4686; yyj4686++ {
			yyh4686.ElemContainerState(yyj4686)
			if r.TryDecodeAsNil() {
				yyv4686[yyj4686] = PreferredSchedulingTerm{}
			} else {
				yyv4687 := &yyv4686[yyj4686]
				yyv4687.CodecDecodeSelf(d)
			}

		}
		if yyrt4686 {
			for ; yyj4686 < yyl4686; yyj4686++ {
				yyv4686 = append(yyv4686, PreferredSchedulingTerm{})
				yyh4686.ElemContainerState(yyj4686)
				if r.TryDecodeAsNil() {
					yyv4686[yyj4686] = PreferredSchedulingTerm{}
				} else {
					yyv4688 := &yyv4686[yyj4686]
					yyv4688.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4686 := 0
		for ; !r.CheckBreak(); yyj4686++ {

			if yyj4686 >= len(yyv4686) {
				yyv4686 = append(yyv4686, PreferredSchedulingTerm{}) // var yyz4686 PreferredSchedulingTerm
				yyc4686 = true
			}
			yyh4686.ElemContainerState(yyj4686)
			if yyj4686 < len(yyv4686) {
				if r.TryDecodeAsNil() {
					yyv4686[yyj4686] = PreferredSchedulingTerm{}
				} else {
					yyv4689 := &yyv4686[yyj4686]
					yyv4689.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4686 < len(yyv4686) {
			yyv4686 = yyv4686[:yyj4686]
			yyc4686 = true
		} else if yyj4686 == 0 && yyv4686 == nil {
			yyv4686 = []PreferredSchedulingTerm{}
			yyc4686 = true
		}
	}
	yyh4686.End()
	if yyc4686 {
		*v = yyv4686
	}
}

func (x codecSelfer1234) encSliceVolume(v []Volume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4690 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4691 := &yyv4690
		yy4691.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceVolume(v *[]Volume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4692 := *v
	yyh4692, yyl4692 := z.DecSliceHelperStart()
	var yyc4692 bool
	if yyl4692 == 0 {
		if yyv4692 == nil {
			yyv4692 = []Volume{}
			yyc4692 = true
		} else if len(yyv4692) != 0 {
			yyv4692 = yyv4692[:0]
			yyc4692 = true
		}
	} else if yyl4692 > 0 {
		var yyrr4692, yyrl4692 int
		var yyrt4692 bool
		if yyl4692 > cap(yyv4692) {

			yyrg4692 := len(yyv4692) > 0
			yyv24692 := yyv4692
			yyrl4692, yyrt4692 = z.DecInferLen(yyl4692, z.DecBasicHandle().MaxInitLen, 192)
			if yyrt4692 {
				if yyrl4692 <= cap(yyv4692) {
					yyv4692 = yyv4692[:yyrl4692]
				} else {
					yyv4692 = make([]Volume, yyrl4692)
				}
			} else {
				yyv4692 = make([]Volume, yyrl4692)
			}
			yyc4692 = true
			yyrr4692 = len(yyv4692)
			if yyrg4692 {
				copy(yyv4692, yyv24692)
			}
		} else if yyl4692 != len(yyv4692) {
			yyv4692 = yyv4692[:yyl4692]
			yyc4692 = true
		}
		yyj4692 := 0
		for ; yyj4692 < yyrr4692; yyj4692++ {
			yyh4692.ElemContainerState(yyj4692)
			if r.TryDecodeAsNil() {
				yyv4692[yyj4692] = Volume{}
			} else {
				yyv4693 := &yyv4692[yyj4692]
				yyv4693.CodecDecodeSelf(d)
			}

		}
		if yyrt4692 {
			for ; yyj4692 < yyl4692; yyj4692++ {
				yyv4692 = append(yyv4692, Volume{})
				yyh4692.ElemContainerState(yyj4692)
				if r.TryDecodeAsNil() {
					yyv4692[yyj4692] = Volume{}
				} else {
					yyv4694 := &yyv4692[yyj4692]
					yyv4694.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4692 := 0
		for ; !r.CheckBreak(); yyj4692++ {

			if yyj4692 >= len(yyv4692) {
				yyv4692 = append(yyv4692, Volume{}) // var yyz4692 Volume
				yyc4692 = true
			}
			yyh4692.ElemContainerState(yyj4692)
			if yyj4692 < len(yyv4692) {
				if r.TryDecodeAsNil() {
					yyv4692[yyj4692] = Volume{}
				} else {
					yyv4695 := &yyv4692[yyj4692]
					yyv4695.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4692 < len(yyv4692) {
			yyv4692 = yyv4692[:yyj4692]
			yyc4692 = true
		} else if yyj4692 == 0 && yyv4692 == nil {
			yyv4692 = []Volume{}
			yyc4692 = true
		}
	}
	yyh4692.End()
	if yyc4692 {
		*v = yyv4692
	}
}

func (x codecSelfer1234) encSliceContainer(v []Container, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4696 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4697 := &yyv4696
		yy4697.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainer(v *[]Container, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4698 := *v
	yyh4698, yyl4698 := z.DecSliceHelperStart()
	var yyc4698 bool
	if yyl4698 == 0 {
		if yyv4698 == nil {
			yyv4698 = []Container{}
			yyc4698 = true
		} else if len(yyv4698) != 0 {
			yyv4698 = yyv4698[:0]
			yyc4698 = true
		}
	} else if yyl4698 > 0 {
		var yyrr4698, yyrl4698 int
		var yyrt4698 bool
		if yyl4698 > cap(yyv4698) {

			yyrg4698 := len(yyv4698) > 0
			yyv24698 := yyv4698
			yyrl4698, yyrt4698 = z.DecInferLen(yyl4698, z.DecBasicHandle().MaxInitLen, 256)
			if yyrt4698 {
				if yyrl4698 <= cap(yyv4698) {
					yyv4698 = yyv4698[:yyrl4698]
				} else {
					yyv4698 = make([]Container, yyrl4698)
				}
			} else {
				yyv4698 = make([]Container, yyrl4698)
			}
			yyc4698 = true
			yyrr4698 = len(yyv4698)
			if yyrg4698 {
				copy(yyv4698, yyv24698)
			}
		} else if yyl4698 != len(yyv4698) {
			yyv4698 = yyv4698[:yyl4698]
			yyc4698 = true
		}
		yyj4698 := 0
		for ; yyj4698 < yyrr4698; yyj4698++ {
			yyh4698.ElemContainerState(yyj4698)
			if r.TryDecodeAsNil() {
				yyv4698[yyj4698] = Container{}
			} else {
				yyv4699 := &yyv4698[yyj4698]
				yyv4699.CodecDecodeSelf(d)
			}

		}
		if yyrt4698 {
			for ; yyj4698 < yyl4698; yyj4698++ {
				yyv4698 = append(yyv4698, Container{})
				yyh4698.ElemContainerState(yyj4698)
				if r.TryDecodeAsNil() {
					yyv4698[yyj4698] = Container{}
				} else {
					yyv4700 := &yyv4698[yyj4698]
					yyv4700.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4698 := 0
		for ; !r.CheckBreak(); yyj4698++ {

			if yyj4698 >= len(yyv4698) {
				yyv4698 = append(yyv4698, Container{}) // var yyz4698 Container
				yyc4698 = true
			}
			yyh4698.ElemContainerState(yyj4698)
			if yyj4698 < len(yyv4698) {
				if r.TryDecodeAsNil() {
					yyv4698[yyj4698] = Container{}
				} else {
					yyv4701 := &yyv4698[yyj4698]
					yyv4701.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4698 < len(yyv4698) {
			yyv4698 = yyv4698[:yyj4698]
			yyc4698 = true
		} else if yyj4698 == 0 && yyv4698 == nil {
			yyv4698 = []Container{}
			yyc4698 = true
		}
	}
	yyh4698.End()
	if yyc4698 {
		*v = yyv4698
	}
}

func (x codecSelfer1234) encSliceLocalObjectReference(v []LocalObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4702 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4703 := &yyv4702
		yy4703.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLocalObjectReference(v *[]LocalObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4704 := *v
	yyh4704, yyl4704 := z.DecSliceHelperStart()
	var yyc4704 bool
	if yyl4704 == 0 {
		if yyv4704 == nil {
			yyv4704 = []LocalObjectReference{}
			yyc4704 = true
		} else if len(yyv4704) != 0 {
			yyv4704 = yyv4704[:0]
			yyc4704 = true
		}
	} else if yyl4704 > 0 {
		var yyrr4704, yyrl4704 int
		var yyrt4704 bool
		if yyl4704 > cap(yyv4704) {

			yyrg4704 := len(yyv4704) > 0
			yyv24704 := yyv4704
			yyrl4704, yyrt4704 = z.DecInferLen(yyl4704, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4704 {
				if yyrl4704 <= cap(yyv4704) {
					yyv4704 = yyv4704[:yyrl4704]
				} else {
					yyv4704 = make([]LocalObjectReference, yyrl4704)
				}
			} else {
				yyv4704 = make([]LocalObjectReference, yyrl4704)
			}
			yyc4704 = true
			yyrr4704 = len(yyv4704)
			if yyrg4704 {
				copy(yyv4704, yyv24704)
			}
		} else if yyl4704 != len(yyv4704) {
			yyv4704 = yyv4704[:yyl4704]
			yyc4704 = true
		}
		yyj4704 := 0
		for ; yyj4704 < yyrr4704; yyj4704++ {
			yyh4704.ElemContainerState(yyj4704)
			if r.TryDecodeAsNil() {
				yyv4704[yyj4704] = LocalObjectReference{}
			} else {
				yyv4705 := &yyv4704[yyj4704]
				yyv4705.CodecDecodeSelf(d)
			}

		}
		if yyrt4704 {
			for ; yyj4704 < yyl4704; yyj4704++ {
				yyv4704 = append(yyv4704, LocalObjectReference{})
				yyh4704.ElemContainerState(yyj4704)
				if r.TryDecodeAsNil() {
					yyv4704[yyj4704] = LocalObjectReference{}
				} else {
					yyv4706 := &yyv4704[yyj4704]
					yyv4706.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4704 := 0
		for ; !r.CheckBreak(); yyj4704++ {

			if yyj4704 >= len(yyv4704) {
				yyv4704 = append(yyv4704, LocalObjectReference{}) // var yyz4704 LocalObjectReference
				yyc4704 = true
			}
			yyh4704.ElemContainerState(yyj4704)
			if yyj4704 < len(yyv4704) {
				if r.TryDecodeAsNil() {
					yyv4704[yyj4704] = LocalObjectReference{}
				} else {
					yyv4707 := &yyv4704[yyj4704]
					yyv4707.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4704 < len(yyv4704) {
			yyv4704 = yyv4704[:yyj4704]
			yyc4704 = true
		} else if yyj4704 == 0 && yyv4704 == nil {
			yyv4704 = []LocalObjectReference{}
			yyc4704 = true
		}
	}
	yyh4704.End()
	if yyc4704 {
		*v = yyv4704
	}
}

func (x codecSelfer1234) encSlicePodCondition(v []PodCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4708 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4709 := &yyv4708
		yy4709.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodCondition(v *[]PodCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4710 := *v
	yyh4710, yyl4710 := z.DecSliceHelperStart()
	var yyc4710 bool
	if yyl4710 == 0 {
		if yyv4710 == nil {
			yyv4710 = []PodCondition{}
			yyc4710 = true
		} else if len(yyv4710) != 0 {
			yyv4710 = yyv4710[:0]
			yyc4710 = true
		}
	} else if yyl4710 > 0 {
		var yyrr4710, yyrl4710 int
		var yyrt4710 bool
		if yyl4710 > cap(yyv4710) {

			yyrg4710 := len(yyv4710) > 0
			yyv24710 := yyv4710
			yyrl4710, yyrt4710 = z.DecInferLen(yyl4710, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4710 {
				if yyrl4710 <= cap(yyv4710) {
					yyv4710 = yyv4710[:yyrl4710]
				} else {
					yyv4710 = make([]PodCondition, yyrl4710)
				}
			} else {
				yyv4710 = make([]PodCondition, yyrl4710)
			}
			yyc4710 = true
			yyrr4710 = len(yyv4710)
			if yyrg4710 {
				copy(yyv4710, yyv24710)
			}
		} else if yyl4710 != len(yyv4710) {
			yyv4710 = yyv4710[:yyl4710]
			yyc4710 = true
		}
		yyj4710 := 0
		for ; yyj4710 < yyrr4710; yyj4710++ {
			yyh4710.ElemContainerState(yyj4710)
			if r.TryDecodeAsNil() {
				yyv4710[yyj4710] = PodCondition{}
			} else {
				yyv4711 := &yyv4710[yyj4710]
				yyv4711.CodecDecodeSelf(d)
			}

		}
		if yyrt4710 {
			for ; yyj4710 < yyl4710; yyj4710++ {
				yyv4710 = append(yyv4710, PodCondition{})
				yyh4710.ElemContainerState(yyj4710)
				if r.TryDecodeAsNil() {
					yyv4710[yyj4710] = PodCondition{}
				} else {
					yyv4712 := &yyv4710[yyj4710]
					yyv4712.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4710 := 0
		for ; !r.CheckBreak(); yyj4710++ {

			if yyj4710 >= len(yyv4710) {
				yyv4710 = append(yyv4710, PodCondition{}) // var yyz4710 PodCondition
				yyc4710 = true
			}
			yyh4710.ElemContainerState(yyj4710)
			if yyj4710 < len(yyv4710) {
				if r.TryDecodeAsNil() {
					yyv4710[yyj4710] = PodCondition{}
				} else {
					yyv4713 := &yyv4710[yyj4710]
					yyv4713.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4710 < len(yyv4710) {
			yyv4710 = yyv4710[:yyj4710]
			yyc4710 = true
		} else if yyj4710 == 0 && yyv4710 == nil {
			yyv4710 = []PodCondition{}
			yyc4710 = true
		}
	}
	yyh4710.End()
	if yyc4710 {
		*v = yyv4710
	}
}

func (x codecSelfer1234) encSliceContainerStatus(v []ContainerStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4714 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4715 := &yyv4714
		yy4715.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerStatus(v *[]ContainerStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4716 := *v
	yyh4716, yyl4716 := z.DecSliceHelperStart()
	var yyc4716 bool
	if yyl4716 == 0 {
		if yyv4716 == nil {
			yyv4716 = []ContainerStatus{}
			yyc4716 = true
		} else if len(yyv4716) != 0 {
			yyv4716 = yyv4716[:0]
			yyc4716 = true
		}
	} else if yyl4716 > 0 {
		var yyrr4716, yyrl4716 int
		var yyrt4716 bool
		if yyl4716 > cap(yyv4716) {

			yyrg4716 := len(yyv4716) > 0
			yyv24716 := yyv4716
			yyrl4716, yyrt4716 = z.DecInferLen(yyl4716, z.DecBasicHandle().MaxInitLen, 120)
			if yyrt4716 {
				if yyrl4716 <= cap(yyv4716) {
					yyv4716 = yyv4716[:yyrl4716]
				} else {
					yyv4716 = make([]ContainerStatus, yyrl4716)
				}
			} else {
				yyv4716 = make([]ContainerStatus, yyrl4716)
			}
			yyc4716 = true
			yyrr4716 = len(yyv4716)
			if yyrg4716 {
				copy(yyv4716, yyv24716)
			}
		} else if yyl4716 != len(yyv4716) {
			yyv4716 = yyv4716[:yyl4716]
			yyc4716 = true
		}
		yyj4716 := 0
		for ; yyj4716 < yyrr4716; yyj4716++ {
			yyh4716.ElemContainerState(yyj4716)
			if r.TryDecodeAsNil() {
				yyv4716[yyj4716] = ContainerStatus{}
			} else {
				yyv4717 := &yyv4716[yyj4716]
				yyv4717.CodecDecodeSelf(d)
			}

		}
		if yyrt4716 {
			for ; yyj4716 < yyl4716; yyj4716++ {
				yyv4716 = append(yyv4716, ContainerStatus{})
				yyh4716.ElemContainerState(yyj4716)
				if r.TryDecodeAsNil() {
					yyv4716[yyj4716] = ContainerStatus{}
				} else {
					yyv4718 := &yyv4716[yyj4716]
					yyv4718.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4716 := 0
		for ; !r.CheckBreak(); yyj4716++ {

			if yyj4716 >= len(yyv4716) {
				yyv4716 = append(yyv4716, ContainerStatus{}) // var yyz4716 ContainerStatus
				yyc4716 = true
			}
			yyh4716.ElemContainerState(yyj4716)
			if yyj4716 < len(yyv4716) {
				if r.TryDecodeAsNil() {
					yyv4716[yyj4716] = ContainerStatus{}
				} else {
					yyv4719 := &yyv4716[yyj4716]
					yyv4719.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4716 < len(yyv4716) {
			yyv4716 = yyv4716[:yyj4716]
			yyc4716 = true
		} else if yyj4716 == 0 && yyv4716 == nil {
			yyv4716 = []ContainerStatus{}
			yyc4716 = true
		}
	}
	yyh4716.End()
	if yyc4716 {
		*v = yyv4716
	}
}

func (x codecSelfer1234) encSlicePodTemplate(v []PodTemplate, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4720 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4721 := &yyv4720
		yy4721.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePodTemplate(v *[]PodTemplate, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4722 := *v
	yyh4722, yyl4722 := z.DecSliceHelperStart()
	var yyc4722 bool
	if yyl4722 == 0 {
		if yyv4722 == nil {
			yyv4722 = []PodTemplate{}
			yyc4722 = true
		} else if len(yyv4722) != 0 {
			yyv4722 = yyv4722[:0]
			yyc4722 = true
		}
	} else if yyl4722 > 0 {
		var yyrr4722, yyrl4722 int
		var yyrt4722 bool
		if yyl4722 > cap(yyv4722) {

			yyrg4722 := len(yyv4722) > 0
			yyv24722 := yyv4722
			yyrl4722, yyrt4722 = z.DecInferLen(yyl4722, z.DecBasicHandle().MaxInitLen, 704)
			if yyrt4722 {
				if yyrl4722 <= cap(yyv4722) {
					yyv4722 = yyv4722[:yyrl4722]
				} else {
					yyv4722 = make([]PodTemplate, yyrl4722)
				}
			} else {
				yyv4722 = make([]PodTemplate, yyrl4722)
			}
			yyc4722 = true
			yyrr4722 = len(yyv4722)
			if yyrg4722 {
				copy(yyv4722, yyv24722)
			}
		} else if yyl4722 != len(yyv4722) {
			yyv4722 = yyv4722[:yyl4722]
			yyc4722 = true
		}
		yyj4722 := 0
		for ; yyj4722 < yyrr4722; yyj4722++ {
			yyh4722.ElemContainerState(yyj4722)
			if r.TryDecodeAsNil() {
				yyv4722[yyj4722] = PodTemplate{}
			} else {
				yyv4723 := &yyv4722[yyj4722]
				yyv4723.CodecDecodeSelf(d)
			}

		}
		if yyrt4722 {
			for ; yyj4722 < yyl4722; yyj4722++ {
				yyv4722 = append(yyv4722, PodTemplate{})
				yyh4722.ElemContainerState(yyj4722)
				if r.TryDecodeAsNil() {
					yyv4722[yyj4722] = PodTemplate{}
				} else {
					yyv4724 := &yyv4722[yyj4722]
					yyv4724.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4722 := 0
		for ; !r.CheckBreak(); yyj4722++ {

			if yyj4722 >= len(yyv4722) {
				yyv4722 = append(yyv4722, PodTemplate{}) // var yyz4722 PodTemplate
				yyc4722 = true
			}
			yyh4722.ElemContainerState(yyj4722)
			if yyj4722 < len(yyv4722) {
				if r.TryDecodeAsNil() {
					yyv4722[yyj4722] = PodTemplate{}
				} else {
					yyv4725 := &yyv4722[yyj4722]
					yyv4725.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4722 < len(yyv4722) {
			yyv4722 = yyv4722[:yyj4722]
			yyc4722 = true
		} else if yyj4722 == 0 && yyv4722 == nil {
			yyv4722 = []PodTemplate{}
			yyc4722 = true
		}
	}
	yyh4722.End()
	if yyc4722 {
		*v = yyv4722
	}
}

func (x codecSelfer1234) encSliceReplicationControllerCondition(v []ReplicationControllerCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4726 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4727 := &yyv4726
		yy4727.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceReplicationControllerCondition(v *[]ReplicationControllerCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4728 := *v
	yyh4728, yyl4728 := z.DecSliceHelperStart()
	var yyc4728 bool
	if yyl4728 == 0 {
		if yyv4728 == nil {
			yyv4728 = []ReplicationControllerCondition{}
			yyc4728 = true
		} else if len(yyv4728) != 0 {
			yyv4728 = yyv4728[:0]
			yyc4728 = true
		}
	} else if yyl4728 > 0 {
		var yyrr4728, yyrl4728 int
		var yyrt4728 bool
		if yyl4728 > cap(yyv4728) {

			yyrg4728 := len(yyv4728) > 0
			yyv24728 := yyv4728
			yyrl4728, yyrt4728 = z.DecInferLen(yyl4728, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4728 {
				if yyrl4728 <= cap(yyv4728) {
					yyv4728 = yyv4728[:yyrl4728]
				} else {
					yyv4728 = make([]ReplicationControllerCondition, yyrl4728)
				}
			} else {
				yyv4728 = make([]ReplicationControllerCondition, yyrl4728)
			}
			yyc4728 = true
			yyrr4728 = len(yyv4728)
			if yyrg4728 {
				copy(yyv4728, yyv24728)
			}
		} else if yyl4728 != len(yyv4728) {
			yyv4728 = yyv4728[:yyl4728]
			yyc4728 = true
		}
		yyj4728 := 0
		for ; yyj4728 < yyrr4728; yyj4728++ {
			yyh4728.ElemContainerState(yyj4728)
			if r.TryDecodeAsNil() {
				yyv4728[yyj4728] = ReplicationControllerCondition{}
			} else {
				yyv4729 := &yyv4728[yyj4728]
				yyv4729.CodecDecodeSelf(d)
			}

		}
		if yyrt4728 {
			for ; yyj4728 < yyl4728; yyj4728++ {
				yyv4728 = append(yyv4728, ReplicationControllerCondition{})
				yyh4728.ElemContainerState(yyj4728)
				if r.TryDecodeAsNil() {
					yyv4728[yyj4728] = ReplicationControllerCondition{}
				} else {
					yyv4730 := &yyv4728[yyj4728]
					yyv4730.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4728 := 0
		for ; !r.CheckBreak(); yyj4728++ {

			if yyj4728 >= len(yyv4728) {
				yyv4728 = append(yyv4728, ReplicationControllerCondition{}) // var yyz4728 ReplicationControllerCondition
				yyc4728 = true
			}
			yyh4728.ElemContainerState(yyj4728)
			if yyj4728 < len(yyv4728) {
				if r.TryDecodeAsNil() {
					yyv4728[yyj4728] = ReplicationControllerCondition{}
				} else {
					yyv4731 := &yyv4728[yyj4728]
					yyv4731.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4728 < len(yyv4728) {
			yyv4728 = yyv4728[:yyj4728]
			yyc4728 = true
		} else if yyj4728 == 0 && yyv4728 == nil {
			yyv4728 = []ReplicationControllerCondition{}
			yyc4728 = true
		}
	}
	yyh4728.End()
	if yyc4728 {
		*v = yyv4728
	}
}

func (x codecSelfer1234) encSliceReplicationController(v []ReplicationController, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4732 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4733 := &yyv4732
		yy4733.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceReplicationController(v *[]ReplicationController, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4734 := *v
	yyh4734, yyl4734 := z.DecSliceHelperStart()
	var yyc4734 bool
	if yyl4734 == 0 {
		if yyv4734 == nil {
			yyv4734 = []ReplicationController{}
			yyc4734 = true
		} else if len(yyv4734) != 0 {
			yyv4734 = yyv4734[:0]
			yyc4734 = true
		}
	} else if yyl4734 > 0 {
		var yyrr4734, yyrl4734 int
		var yyrt4734 bool
		if yyl4734 > cap(yyv4734) {

			yyrg4734 := len(yyv4734) > 0
			yyv24734 := yyv4734
			yyrl4734, yyrt4734 = z.DecInferLen(yyl4734, z.DecBasicHandle().MaxInitLen, 328)
			if yyrt4734 {
				if yyrl4734 <= cap(yyv4734) {
					yyv4734 = yyv4734[:yyrl4734]
				} else {
					yyv4734 = make([]ReplicationController, yyrl4734)
				}
			} else {
				yyv4734 = make([]ReplicationController, yyrl4734)
			}
			yyc4734 = true
			yyrr4734 = len(yyv4734)
			if yyrg4734 {
				copy(yyv4734, yyv24734)
			}
		} else if yyl4734 != len(yyv4734) {
			yyv4734 = yyv4734[:yyl4734]
			yyc4734 = true
		}
		yyj4734 := 0
		for ; yyj4734 < yyrr4734; yyj4734++ {
			yyh4734.ElemContainerState(yyj4734)
			if r.TryDecodeAsNil() {
				yyv4734[yyj4734] = ReplicationController{}
			} else {
				yyv4735 := &yyv4734[yyj4734]
				yyv4735.CodecDecodeSelf(d)
			}

		}
		if yyrt4734 {
			for ; yyj4734 < yyl4734; yyj4734++ {
				yyv4734 = append(yyv4734, ReplicationController{})
				yyh4734.ElemContainerState(yyj4734)
				if r.TryDecodeAsNil() {
					yyv4734[yyj4734] = ReplicationController{}
				} else {
					yyv4736 := &yyv4734[yyj4734]
					yyv4736.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4734 := 0
		for ; !r.CheckBreak(); yyj4734++ {

			if yyj4734 >= len(yyv4734) {
				yyv4734 = append(yyv4734, ReplicationController{}) // var yyz4734 ReplicationController
				yyc4734 = true
			}
			yyh4734.ElemContainerState(yyj4734)
			if yyj4734 < len(yyv4734) {
				if r.TryDecodeAsNil() {
					yyv4734[yyj4734] = ReplicationController{}
				} else {
					yyv4737 := &yyv4734[yyj4734]
					yyv4737.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4734 < len(yyv4734) {
			yyv4734 = yyv4734[:yyj4734]
			yyc4734 = true
		} else if yyj4734 == 0 && yyv4734 == nil {
			yyv4734 = []ReplicationController{}
			yyc4734 = true
		}
	}
	yyh4734.End()
	if yyc4734 {
		*v = yyv4734
	}
}

func (x codecSelfer1234) encSliceService(v []Service, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4738 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4739 := &yyv4738
		yy4739.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceService(v *[]Service, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4740 := *v
	yyh4740, yyl4740 := z.DecSliceHelperStart()
	var yyc4740 bool
	if yyl4740 == 0 {
		if yyv4740 == nil {
			yyv4740 = []Service{}
			yyc4740 = true
		} else if len(yyv4740) != 0 {
			yyv4740 = yyv4740[:0]
			yyc4740 = true
		}
	} else if yyl4740 > 0 {
		var yyrr4740, yyrl4740 int
		var yyrt4740 bool
		if yyl4740 > cap(yyv4740) {

			yyrg4740 := len(yyv4740) > 0
			yyv24740 := yyv4740
			yyrl4740, yyrt4740 = z.DecInferLen(yyl4740, z.DecBasicHandle().MaxInitLen, 440)
			if yyrt4740 {
				if yyrl4740 <= cap(yyv4740) {
					yyv4740 = yyv4740[:yyrl4740]
				} else {
					yyv4740 = make([]Service, yyrl4740)
				}
			} else {
				yyv4740 = make([]Service, yyrl4740)
			}
			yyc4740 = true
			yyrr4740 = len(yyv4740)
			if yyrg4740 {
				copy(yyv4740, yyv24740)
			}
		} else if yyl4740 != len(yyv4740) {
			yyv4740 = yyv4740[:yyl4740]
			yyc4740 = true
		}
		yyj4740 := 0
		for ; yyj4740 < yyrr4740; yyj4740++ {
			yyh4740.ElemContainerState(yyj4740)
			if r.TryDecodeAsNil() {
				yyv4740[yyj4740] = Service{}
			} else {
				yyv4741 := &yyv4740[yyj4740]
				yyv4741.CodecDecodeSelf(d)
			}

		}
		if yyrt4740 {
			for ; yyj4740 < yyl4740; yyj4740++ {
				yyv4740 = append(yyv4740, Service{})
				yyh4740.ElemContainerState(yyj4740)
				if r.TryDecodeAsNil() {
					yyv4740[yyj4740] = Service{}
				} else {
					yyv4742 := &yyv4740[yyj4740]
					yyv4742.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4740 := 0
		for ; !r.CheckBreak(); yyj4740++ {

			if yyj4740 >= len(yyv4740) {
				yyv4740 = append(yyv4740, Service{}) // var yyz4740 Service
				yyc4740 = true
			}
			yyh4740.ElemContainerState(yyj4740)
			if yyj4740 < len(yyv4740) {
				if r.TryDecodeAsNil() {
					yyv4740[yyj4740] = Service{}
				} else {
					yyv4743 := &yyv4740[yyj4740]
					yyv4743.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4740 < len(yyv4740) {
			yyv4740 = yyv4740[:yyj4740]
			yyc4740 = true
		} else if yyj4740 == 0 && yyv4740 == nil {
			yyv4740 = []Service{}
			yyc4740 = true
		}
	}
	yyh4740.End()
	if yyc4740 {
		*v = yyv4740
	}
}

func (x codecSelfer1234) encSliceLoadBalancerIngress(v []LoadBalancerIngress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4744 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4745 := &yyv4744
		yy4745.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLoadBalancerIngress(v *[]LoadBalancerIngress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4746 := *v
	yyh4746, yyl4746 := z.DecSliceHelperStart()
	var yyc4746 bool
	if yyl4746 == 0 {
		if yyv4746 == nil {
			yyv4746 = []LoadBalancerIngress{}
			yyc4746 = true
		} else if len(yyv4746) != 0 {
			yyv4746 = yyv4746[:0]
			yyc4746 = true
		}
	} else if yyl4746 > 0 {
		var yyrr4746, yyrl4746 int
		var yyrt4746 bool
		if yyl4746 > cap(yyv4746) {

			yyrg4746 := len(yyv4746) > 0
			yyv24746 := yyv4746
			yyrl4746, yyrt4746 = z.DecInferLen(yyl4746, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4746 {
				if yyrl4746 <= cap(yyv4746) {
					yyv4746 = yyv4746[:yyrl4746]
				} else {
					yyv4746 = make([]LoadBalancerIngress, yyrl4746)
				}
			} else {
				yyv4746 = make([]LoadBalancerIngress, yyrl4746)
			}
			yyc4746 = true
			yyrr4746 = len(yyv4746)
			if yyrg4746 {
				copy(yyv4746, yyv24746)
			}
		} else if yyl4746 != len(yyv4746) {
			yyv4746 = yyv4746[:yyl4746]
			yyc4746 = true
		}
		yyj4746 := 0
		for ; yyj4746 < yyrr4746; yyj4746++ {
			yyh4746.ElemContainerState(yyj4746)
			if r.TryDecodeAsNil() {
				yyv4746[yyj4746] = LoadBalancerIngress{}
			} else {
				yyv4747 := &yyv4746[yyj4746]
				yyv4747.CodecDecodeSelf(d)
			}

		}
		if yyrt4746 {
			for ; yyj4746 < yyl4746; yyj4746++ {
				yyv4746 = append(yyv4746, LoadBalancerIngress{})
				yyh4746.ElemContainerState(yyj4746)
				if r.TryDecodeAsNil() {
					yyv4746[yyj4746] = LoadBalancerIngress{}
				} else {
					yyv4748 := &yyv4746[yyj4746]
					yyv4748.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4746 := 0
		for ; !r.CheckBreak(); yyj4746++ {

			if yyj4746 >= len(yyv4746) {
				yyv4746 = append(yyv4746, LoadBalancerIngress{}) // var yyz4746 LoadBalancerIngress
				yyc4746 = true
			}
			yyh4746.ElemContainerState(yyj4746)
			if yyj4746 < len(yyv4746) {
				if r.TryDecodeAsNil() {
					yyv4746[yyj4746] = LoadBalancerIngress{}
				} else {
					yyv4749 := &yyv4746[yyj4746]
					yyv4749.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4746 < len(yyv4746) {
			yyv4746 = yyv4746[:yyj4746]
			yyc4746 = true
		} else if yyj4746 == 0 && yyv4746 == nil {
			yyv4746 = []LoadBalancerIngress{}
			yyc4746 = true
		}
	}
	yyh4746.End()
	if yyc4746 {
		*v = yyv4746
	}
}

func (x codecSelfer1234) encSliceServicePort(v []ServicePort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4750 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4751 := &yyv4750
		yy4751.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceServicePort(v *[]ServicePort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4752 := *v
	yyh4752, yyl4752 := z.DecSliceHelperStart()
	var yyc4752 bool
	if yyl4752 == 0 {
		if yyv4752 == nil {
			yyv4752 = []ServicePort{}
			yyc4752 = true
		} else if len(yyv4752) != 0 {
			yyv4752 = yyv4752[:0]
			yyc4752 = true
		}
	} else if yyl4752 > 0 {
		var yyrr4752, yyrl4752 int
		var yyrt4752 bool
		if yyl4752 > cap(yyv4752) {

			yyrg4752 := len(yyv4752) > 0
			yyv24752 := yyv4752
			yyrl4752, yyrt4752 = z.DecInferLen(yyl4752, z.DecBasicHandle().MaxInitLen, 80)
			if yyrt4752 {
				if yyrl4752 <= cap(yyv4752) {
					yyv4752 = yyv4752[:yyrl4752]
				} else {
					yyv4752 = make([]ServicePort, yyrl4752)
				}
			} else {
				yyv4752 = make([]ServicePort, yyrl4752)
			}
			yyc4752 = true
			yyrr4752 = len(yyv4752)
			if yyrg4752 {
				copy(yyv4752, yyv24752)
			}
		} else if yyl4752 != len(yyv4752) {
			yyv4752 = yyv4752[:yyl4752]
			yyc4752 = true
		}
		yyj4752 := 0
		for ; yyj4752 < yyrr4752; yyj4752++ {
			yyh4752.ElemContainerState(yyj4752)
			if r.TryDecodeAsNil() {
				yyv4752[yyj4752] = ServicePort{}
			} else {
				yyv4753 := &yyv4752[yyj4752]
				yyv4753.CodecDecodeSelf(d)
			}

		}
		if yyrt4752 {
			for ; yyj4752 < yyl4752; yyj4752++ {
				yyv4752 = append(yyv4752, ServicePort{})
				yyh4752.ElemContainerState(yyj4752)
				if r.TryDecodeAsNil() {
					yyv4752[yyj4752] = ServicePort{}
				} else {
					yyv4754 := &yyv4752[yyj4752]
					yyv4754.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4752 := 0
		for ; !r.CheckBreak(); yyj4752++ {

			if yyj4752 >= len(yyv4752) {
				yyv4752 = append(yyv4752, ServicePort{}) // var yyz4752 ServicePort
				yyc4752 = true
			}
			yyh4752.ElemContainerState(yyj4752)
			if yyj4752 < len(yyv4752) {
				if r.TryDecodeAsNil() {
					yyv4752[yyj4752] = ServicePort{}
				} else {
					yyv4755 := &yyv4752[yyj4752]
					yyv4755.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4752 < len(yyv4752) {
			yyv4752 = yyv4752[:yyj4752]
			yyc4752 = true
		} else if yyj4752 == 0 && yyv4752 == nil {
			yyv4752 = []ServicePort{}
			yyc4752 = true
		}
	}
	yyh4752.End()
	if yyc4752 {
		*v = yyv4752
	}
}

func (x codecSelfer1234) encSliceObjectReference(v []ObjectReference, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4756 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4757 := &yyv4756
		yy4757.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceObjectReference(v *[]ObjectReference, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4758 := *v
	yyh4758, yyl4758 := z.DecSliceHelperStart()
	var yyc4758 bool
	if yyl4758 == 0 {
		if yyv4758 == nil {
			yyv4758 = []ObjectReference{}
			yyc4758 = true
		} else if len(yyv4758) != 0 {
			yyv4758 = yyv4758[:0]
			yyc4758 = true
		}
	} else if yyl4758 > 0 {
		var yyrr4758, yyrl4758 int
		var yyrt4758 bool
		if yyl4758 > cap(yyv4758) {

			yyrg4758 := len(yyv4758) > 0
			yyv24758 := yyv4758
			yyrl4758, yyrt4758 = z.DecInferLen(yyl4758, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4758 {
				if yyrl4758 <= cap(yyv4758) {
					yyv4758 = yyv4758[:yyrl4758]
				} else {
					yyv4758 = make([]ObjectReference, yyrl4758)
				}
			} else {
				yyv4758 = make([]ObjectReference, yyrl4758)
			}
			yyc4758 = true
			yyrr4758 = len(yyv4758)
			if yyrg4758 {
				copy(yyv4758, yyv24758)
			}
		} else if yyl4758 != len(yyv4758) {
			yyv4758 = yyv4758[:yyl4758]
			yyc4758 = true
		}
		yyj4758 := 0
		for ; yyj4758 < yyrr4758; yyj4758++ {
			yyh4758.ElemContainerState(yyj4758)
			if r.TryDecodeAsNil() {
				yyv4758[yyj4758] = ObjectReference{}
			} else {
				yyv4759 := &yyv4758[yyj4758]
				yyv4759.CodecDecodeSelf(d)
			}

		}
		if yyrt4758 {
			for ; yyj4758 < yyl4758; yyj4758++ {
				yyv4758 = append(yyv4758, ObjectReference{})
				yyh4758.ElemContainerState(yyj4758)
				if r.TryDecodeAsNil() {
					yyv4758[yyj4758] = ObjectReference{}
				} else {
					yyv4760 := &yyv4758[yyj4758]
					yyv4760.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4758 := 0
		for ; !r.CheckBreak(); yyj4758++ {

			if yyj4758 >= len(yyv4758) {
				yyv4758 = append(yyv4758, ObjectReference{}) // var yyz4758 ObjectReference
				yyc4758 = true
			}
			yyh4758.ElemContainerState(yyj4758)
			if yyj4758 < len(yyv4758) {
				if r.TryDecodeAsNil() {
					yyv4758[yyj4758] = ObjectReference{}
				} else {
					yyv4761 := &yyv4758[yyj4758]
					yyv4761.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4758 < len(yyv4758) {
			yyv4758 = yyv4758[:yyj4758]
			yyc4758 = true
		} else if yyj4758 == 0 && yyv4758 == nil {
			yyv4758 = []ObjectReference{}
			yyc4758 = true
		}
	}
	yyh4758.End()
	if yyc4758 {
		*v = yyv4758
	}
}

func (x codecSelfer1234) encSliceServiceAccount(v []ServiceAccount, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4762 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4763 := &yyv4762
		yy4763.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceServiceAccount(v *[]ServiceAccount, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4764 := *v
	yyh4764, yyl4764 := z.DecSliceHelperStart()
	var yyc4764 bool
	if yyl4764 == 0 {
		if yyv4764 == nil {
			yyv4764 = []ServiceAccount{}
			yyc4764 = true
		} else if len(yyv4764) != 0 {
			yyv4764 = yyv4764[:0]
			yyc4764 = true
		}
	} else if yyl4764 > 0 {
		var yyrr4764, yyrl4764 int
		var yyrt4764 bool
		if yyl4764 > cap(yyv4764) {

			yyrg4764 := len(yyv4764) > 0
			yyv24764 := yyv4764
			yyrl4764, yyrt4764 = z.DecInferLen(yyl4764, z.DecBasicHandle().MaxInitLen, 304)
			if yyrt4764 {
				if yyrl4764 <= cap(yyv4764) {
					yyv4764 = yyv4764[:yyrl4764]
				} else {
					yyv4764 = make([]ServiceAccount, yyrl4764)
				}
			} else {
				yyv4764 = make([]ServiceAccount, yyrl4764)
			}
			yyc4764 = true
			yyrr4764 = len(yyv4764)
			if yyrg4764 {
				copy(yyv4764, yyv24764)
			}
		} else if yyl4764 != len(yyv4764) {
			yyv4764 = yyv4764[:yyl4764]
			yyc4764 = true
		}
		yyj4764 := 0
		for ; yyj4764 < yyrr4764; yyj4764++ {
			yyh4764.ElemContainerState(yyj4764)
			if r.TryDecodeAsNil() {
				yyv4764[yyj4764] = ServiceAccount{}
			} else {
				yyv4765 := &yyv4764[yyj4764]
				yyv4765.CodecDecodeSelf(d)
			}

		}
		if yyrt4764 {
			for ; yyj4764 < yyl4764; yyj4764++ {
				yyv4764 = append(yyv4764, ServiceAccount{})
				yyh4764.ElemContainerState(yyj4764)
				if r.TryDecodeAsNil() {
					yyv4764[yyj4764] = ServiceAccount{}
				} else {
					yyv4766 := &yyv4764[yyj4764]
					yyv4766.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4764 := 0
		for ; !r.CheckBreak(); yyj4764++ {

			if yyj4764 >= len(yyv4764) {
				yyv4764 = append(yyv4764, ServiceAccount{}) // var yyz4764 ServiceAccount
				yyc4764 = true
			}
			yyh4764.ElemContainerState(yyj4764)
			if yyj4764 < len(yyv4764) {
				if r.TryDecodeAsNil() {
					yyv4764[yyj4764] = ServiceAccount{}
				} else {
					yyv4767 := &yyv4764[yyj4764]
					yyv4767.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4764 < len(yyv4764) {
			yyv4764 = yyv4764[:yyj4764]
			yyc4764 = true
		} else if yyj4764 == 0 && yyv4764 == nil {
			yyv4764 = []ServiceAccount{}
			yyc4764 = true
		}
	}
	yyh4764.End()
	if yyc4764 {
		*v = yyv4764
	}
}

func (x codecSelfer1234) encSliceEndpointSubset(v []EndpointSubset, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4768 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4769 := &yyv4768
		yy4769.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointSubset(v *[]EndpointSubset, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4770 := *v
	yyh4770, yyl4770 := z.DecSliceHelperStart()
	var yyc4770 bool
	if yyl4770 == 0 {
		if yyv4770 == nil {
			yyv4770 = []EndpointSubset{}
			yyc4770 = true
		} else if len(yyv4770) != 0 {
			yyv4770 = yyv4770[:0]
			yyc4770 = true
		}
	} else if yyl4770 > 0 {
		var yyrr4770, yyrl4770 int
		var yyrt4770 bool
		if yyl4770 > cap(yyv4770) {

			yyrg4770 := len(yyv4770) > 0
			yyv24770 := yyv4770
			yyrl4770, yyrt4770 = z.DecInferLen(yyl4770, z.DecBasicHandle().MaxInitLen, 72)
			if yyrt4770 {
				if yyrl4770 <= cap(yyv4770) {
					yyv4770 = yyv4770[:yyrl4770]
				} else {
					yyv4770 = make([]EndpointSubset, yyrl4770)
				}
			} else {
				yyv4770 = make([]EndpointSubset, yyrl4770)
			}
			yyc4770 = true
			yyrr4770 = len(yyv4770)
			if yyrg4770 {
				copy(yyv4770, yyv24770)
			}
		} else if yyl4770 != len(yyv4770) {
			yyv4770 = yyv4770[:yyl4770]
			yyc4770 = true
		}
		yyj4770 := 0
		for ; yyj4770 < yyrr4770; yyj4770++ {
			yyh4770.ElemContainerState(yyj4770)
			if r.TryDecodeAsNil() {
				yyv4770[yyj4770] = EndpointSubset{}
			} else {
				yyv4771 := &yyv4770[yyj4770]
				yyv4771.CodecDecodeSelf(d)
			}

		}
		if yyrt4770 {
			for ; yyj4770 < yyl4770; yyj4770++ {
				yyv4770 = append(yyv4770, EndpointSubset{})
				yyh4770.ElemContainerState(yyj4770)
				if r.TryDecodeAsNil() {
					yyv4770[yyj4770] = EndpointSubset{}
				} else {
					yyv4772 := &yyv4770[yyj4770]
					yyv4772.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4770 := 0
		for ; !r.CheckBreak(); yyj4770++ {

			if yyj4770 >= len(yyv4770) {
				yyv4770 = append(yyv4770, EndpointSubset{}) // var yyz4770 EndpointSubset
				yyc4770 = true
			}
			yyh4770.ElemContainerState(yyj4770)
			if yyj4770 < len(yyv4770) {
				if r.TryDecodeAsNil() {
					yyv4770[yyj4770] = EndpointSubset{}
				} else {
					yyv4773 := &yyv4770[yyj4770]
					yyv4773.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4770 < len(yyv4770) {
			yyv4770 = yyv4770[:yyj4770]
			yyc4770 = true
		} else if yyj4770 == 0 && yyv4770 == nil {
			yyv4770 = []EndpointSubset{}
			yyc4770 = true
		}
	}
	yyh4770.End()
	if yyc4770 {
		*v = yyv4770
	}
}

func (x codecSelfer1234) encSliceEndpointAddress(v []EndpointAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4774 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4775 := &yyv4774
		yy4775.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointAddress(v *[]EndpointAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4776 := *v
	yyh4776, yyl4776 := z.DecSliceHelperStart()
	var yyc4776 bool
	if yyl4776 == 0 {
		if yyv4776 == nil {
			yyv4776 = []EndpointAddress{}
			yyc4776 = true
		} else if len(yyv4776) != 0 {
			yyv4776 = yyv4776[:0]
			yyc4776 = true
		}
	} else if yyl4776 > 0 {
		var yyrr4776, yyrl4776 int
		var yyrt4776 bool
		if yyl4776 > cap(yyv4776) {

			yyrg4776 := len(yyv4776) > 0
			yyv24776 := yyv4776
			yyrl4776, yyrt4776 = z.DecInferLen(yyl4776, z.DecBasicHandle().MaxInitLen, 48)
			if yyrt4776 {
				if yyrl4776 <= cap(yyv4776) {
					yyv4776 = yyv4776[:yyrl4776]
				} else {
					yyv4776 = make([]EndpointAddress, yyrl4776)
				}
			} else {
				yyv4776 = make([]EndpointAddress, yyrl4776)
			}
			yyc4776 = true
			yyrr4776 = len(yyv4776)
			if yyrg4776 {
				copy(yyv4776, yyv24776)
			}
		} else if yyl4776 != len(yyv4776) {
			yyv4776 = yyv4776[:yyl4776]
			yyc4776 = true
		}
		yyj4776 := 0
		for ; yyj4776 < yyrr4776; yyj4776++ {
			yyh4776.ElemContainerState(yyj4776)
			if r.TryDecodeAsNil() {
				yyv4776[yyj4776] = EndpointAddress{}
			} else {
				yyv4777 := &yyv4776[yyj4776]
				yyv4777.CodecDecodeSelf(d)
			}

		}
		if yyrt4776 {
			for ; yyj4776 < yyl4776; yyj4776++ {
				yyv4776 = append(yyv4776, EndpointAddress{})
				yyh4776.ElemContainerState(yyj4776)
				if r.TryDecodeAsNil() {
					yyv4776[yyj4776] = EndpointAddress{}
				} else {
					yyv4778 := &yyv4776[yyj4776]
					yyv4778.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4776 := 0
		for ; !r.CheckBreak(); yyj4776++ {

			if yyj4776 >= len(yyv4776) {
				yyv4776 = append(yyv4776, EndpointAddress{}) // var yyz4776 EndpointAddress
				yyc4776 = true
			}
			yyh4776.ElemContainerState(yyj4776)
			if yyj4776 < len(yyv4776) {
				if r.TryDecodeAsNil() {
					yyv4776[yyj4776] = EndpointAddress{}
				} else {
					yyv4779 := &yyv4776[yyj4776]
					yyv4779.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4776 < len(yyv4776) {
			yyv4776 = yyv4776[:yyj4776]
			yyc4776 = true
		} else if yyj4776 == 0 && yyv4776 == nil {
			yyv4776 = []EndpointAddress{}
			yyc4776 = true
		}
	}
	yyh4776.End()
	if yyc4776 {
		*v = yyv4776
	}
}

func (x codecSelfer1234) encSliceEndpointPort(v []EndpointPort, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4780 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4781 := &yyv4780
		yy4781.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpointPort(v *[]EndpointPort, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4782 := *v
	yyh4782, yyl4782 := z.DecSliceHelperStart()
	var yyc4782 bool
	if yyl4782 == 0 {
		if yyv4782 == nil {
			yyv4782 = []EndpointPort{}
			yyc4782 = true
		} else if len(yyv4782) != 0 {
			yyv4782 = yyv4782[:0]
			yyc4782 = true
		}
	} else if yyl4782 > 0 {
		var yyrr4782, yyrl4782 int
		var yyrt4782 bool
		if yyl4782 > cap(yyv4782) {

			yyrg4782 := len(yyv4782) > 0
			yyv24782 := yyv4782
			yyrl4782, yyrt4782 = z.DecInferLen(yyl4782, z.DecBasicHandle().MaxInitLen, 40)
			if yyrt4782 {
				if yyrl4782 <= cap(yyv4782) {
					yyv4782 = yyv4782[:yyrl4782]
				} else {
					yyv4782 = make([]EndpointPort, yyrl4782)
				}
			} else {
				yyv4782 = make([]EndpointPort, yyrl4782)
			}
			yyc4782 = true
			yyrr4782 = len(yyv4782)
			if yyrg4782 {
				copy(yyv4782, yyv24782)
			}
		} else if yyl4782 != len(yyv4782) {
			yyv4782 = yyv4782[:yyl4782]
			yyc4782 = true
		}
		yyj4782 := 0
		for ; yyj4782 < yyrr4782; yyj4782++ {
			yyh4782.ElemContainerState(yyj4782)
			if r.TryDecodeAsNil() {
				yyv4782[yyj4782] = EndpointPort{}
			} else {
				yyv4783 := &yyv4782[yyj4782]
				yyv4783.CodecDecodeSelf(d)
			}

		}
		if yyrt4782 {
			for ; yyj4782 < yyl4782; yyj4782++ {
				yyv4782 = append(yyv4782, EndpointPort{})
				yyh4782.ElemContainerState(yyj4782)
				if r.TryDecodeAsNil() {
					yyv4782[yyj4782] = EndpointPort{}
				} else {
					yyv4784 := &yyv4782[yyj4782]
					yyv4784.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4782 := 0
		for ; !r.CheckBreak(); yyj4782++ {

			if yyj4782 >= len(yyv4782) {
				yyv4782 = append(yyv4782, EndpointPort{}) // var yyz4782 EndpointPort
				yyc4782 = true
			}
			yyh4782.ElemContainerState(yyj4782)
			if yyj4782 < len(yyv4782) {
				if r.TryDecodeAsNil() {
					yyv4782[yyj4782] = EndpointPort{}
				} else {
					yyv4785 := &yyv4782[yyj4782]
					yyv4785.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4782 < len(yyv4782) {
			yyv4782 = yyv4782[:yyj4782]
			yyc4782 = true
		} else if yyj4782 == 0 && yyv4782 == nil {
			yyv4782 = []EndpointPort{}
			yyc4782 = true
		}
	}
	yyh4782.End()
	if yyc4782 {
		*v = yyv4782
	}
}

func (x codecSelfer1234) encSliceEndpoints(v []Endpoints, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4786 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4787 := &yyv4786
		yy4787.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEndpoints(v *[]Endpoints, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4788 := *v
	yyh4788, yyl4788 := z.DecSliceHelperStart()
	var yyc4788 bool
	if yyl4788 == 0 {
		if yyv4788 == nil {
			yyv4788 = []Endpoints{}
			yyc4788 = true
		} else if len(yyv4788) != 0 {
			yyv4788 = yyv4788[:0]
			yyc4788 = true
		}
	} else if yyl4788 > 0 {
		var yyrr4788, yyrl4788 int
		var yyrt4788 bool
		if yyl4788 > cap(yyv4788) {

			yyrg4788 := len(yyv4788) > 0
			yyv24788 := yyv4788
			yyrl4788, yyrt4788 = z.DecInferLen(yyl4788, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4788 {
				if yyrl4788 <= cap(yyv4788) {
					yyv4788 = yyv4788[:yyrl4788]
				} else {
					yyv4788 = make([]Endpoints, yyrl4788)
				}
			} else {
				yyv4788 = make([]Endpoints, yyrl4788)
			}
			yyc4788 = true
			yyrr4788 = len(yyv4788)
			if yyrg4788 {
				copy(yyv4788, yyv24788)
			}
		} else if yyl4788 != len(yyv4788) {
			yyv4788 = yyv4788[:yyl4788]
			yyc4788 = true
		}
		yyj4788 := 0
		for ; yyj4788 < yyrr4788; yyj4788++ {
			yyh4788.ElemContainerState(yyj4788)
			if r.TryDecodeAsNil() {
				yyv4788[yyj4788] = Endpoints{}
			} else {
				yyv4789 := &yyv4788[yyj4788]
				yyv4789.CodecDecodeSelf(d)
			}

		}
		if yyrt4788 {
			for ; yyj4788 < yyl4788; yyj4788++ {
				yyv4788 = append(yyv4788, Endpoints{})
				yyh4788.ElemContainerState(yyj4788)
				if r.TryDecodeAsNil() {
					yyv4788[yyj4788] = Endpoints{}
				} else {
					yyv4790 := &yyv4788[yyj4788]
					yyv4790.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4788 := 0
		for ; !r.CheckBreak(); yyj4788++ {

			if yyj4788 >= len(yyv4788) {
				yyv4788 = append(yyv4788, Endpoints{}) // var yyz4788 Endpoints
				yyc4788 = true
			}
			yyh4788.ElemContainerState(yyj4788)
			if yyj4788 < len(yyv4788) {
				if r.TryDecodeAsNil() {
					yyv4788[yyj4788] = Endpoints{}
				} else {
					yyv4791 := &yyv4788[yyj4788]
					yyv4791.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4788 < len(yyv4788) {
			yyv4788 = yyv4788[:yyj4788]
			yyc4788 = true
		} else if yyj4788 == 0 && yyv4788 == nil {
			yyv4788 = []Endpoints{}
			yyc4788 = true
		}
	}
	yyh4788.End()
	if yyc4788 {
		*v = yyv4788
	}
}

func (x codecSelfer1234) encSliceNodeCondition(v []NodeCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4792 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4793 := &yyv4792
		yy4793.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeCondition(v *[]NodeCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4794 := *v
	yyh4794, yyl4794 := z.DecSliceHelperStart()
	var yyc4794 bool
	if yyl4794 == 0 {
		if yyv4794 == nil {
			yyv4794 = []NodeCondition{}
			yyc4794 = true
		} else if len(yyv4794) != 0 {
			yyv4794 = yyv4794[:0]
			yyc4794 = true
		}
	} else if yyl4794 > 0 {
		var yyrr4794, yyrl4794 int
		var yyrt4794 bool
		if yyl4794 > cap(yyv4794) {

			yyrg4794 := len(yyv4794) > 0
			yyv24794 := yyv4794
			yyrl4794, yyrt4794 = z.DecInferLen(yyl4794, z.DecBasicHandle().MaxInitLen, 112)
			if yyrt4794 {
				if yyrl4794 <= cap(yyv4794) {
					yyv4794 = yyv4794[:yyrl4794]
				} else {
					yyv4794 = make([]NodeCondition, yyrl4794)
				}
			} else {
				yyv4794 = make([]NodeCondition, yyrl4794)
			}
			yyc4794 = true
			yyrr4794 = len(yyv4794)
			if yyrg4794 {
				copy(yyv4794, yyv24794)
			}
		} else if yyl4794 != len(yyv4794) {
			yyv4794 = yyv4794[:yyl4794]
			yyc4794 = true
		}
		yyj4794 := 0
		for ; yyj4794 < yyrr4794; yyj4794++ {
			yyh4794.ElemContainerState(yyj4794)
			if r.TryDecodeAsNil() {
				yyv4794[yyj4794] = NodeCondition{}
			} else {
				yyv4795 := &yyv4794[yyj4794]
				yyv4795.CodecDecodeSelf(d)
			}

		}
		if yyrt4794 {
			for ; yyj4794 < yyl4794; yyj4794++ {
				yyv4794 = append(yyv4794, NodeCondition{})
				yyh4794.ElemContainerState(yyj4794)
				if r.TryDecodeAsNil() {
					yyv4794[yyj4794] = NodeCondition{}
				} else {
					yyv4796 := &yyv4794[yyj4794]
					yyv4796.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4794 := 0
		for ; !r.CheckBreak(); yyj4794++ {

			if yyj4794 >= len(yyv4794) {
				yyv4794 = append(yyv4794, NodeCondition{}) // var yyz4794 NodeCondition
				yyc4794 = true
			}
			yyh4794.ElemContainerState(yyj4794)
			if yyj4794 < len(yyv4794) {
				if r.TryDecodeAsNil() {
					yyv4794[yyj4794] = NodeCondition{}
				} else {
					yyv4797 := &yyv4794[yyj4794]
					yyv4797.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4794 < len(yyv4794) {
			yyv4794 = yyv4794[:yyj4794]
			yyc4794 = true
		} else if yyj4794 == 0 && yyv4794 == nil {
			yyv4794 = []NodeCondition{}
			yyc4794 = true
		}
	}
	yyh4794.End()
	if yyc4794 {
		*v = yyv4794
	}
}

func (x codecSelfer1234) encSliceNodeAddress(v []NodeAddress, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4798 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4799 := &yyv4798
		yy4799.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNodeAddress(v *[]NodeAddress, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4800 := *v
	yyh4800, yyl4800 := z.DecSliceHelperStart()
	var yyc4800 bool
	if yyl4800 == 0 {
		if yyv4800 == nil {
			yyv4800 = []NodeAddress{}
			yyc4800 = true
		} else if len(yyv4800) != 0 {
			yyv4800 = yyv4800[:0]
			yyc4800 = true
		}
	} else if yyl4800 > 0 {
		var yyrr4800, yyrl4800 int
		var yyrt4800 bool
		if yyl4800 > cap(yyv4800) {

			yyrg4800 := len(yyv4800) > 0
			yyv24800 := yyv4800
			yyrl4800, yyrt4800 = z.DecInferLen(yyl4800, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4800 {
				if yyrl4800 <= cap(yyv4800) {
					yyv4800 = yyv4800[:yyrl4800]
				} else {
					yyv4800 = make([]NodeAddress, yyrl4800)
				}
			} else {
				yyv4800 = make([]NodeAddress, yyrl4800)
			}
			yyc4800 = true
			yyrr4800 = len(yyv4800)
			if yyrg4800 {
				copy(yyv4800, yyv24800)
			}
		} else if yyl4800 != len(yyv4800) {
			yyv4800 = yyv4800[:yyl4800]
			yyc4800 = true
		}
		yyj4800 := 0
		for ; yyj4800 < yyrr4800; yyj4800++ {
			yyh4800.ElemContainerState(yyj4800)
			if r.TryDecodeAsNil() {
				yyv4800[yyj4800] = NodeAddress{}
			} else {
				yyv4801 := &yyv4800[yyj4800]
				yyv4801.CodecDecodeSelf(d)
			}

		}
		if yyrt4800 {
			for ; yyj4800 < yyl4800; yyj4800++ {
				yyv4800 = append(yyv4800, NodeAddress{})
				yyh4800.ElemContainerState(yyj4800)
				if r.TryDecodeAsNil() {
					yyv4800[yyj4800] = NodeAddress{}
				} else {
					yyv4802 := &yyv4800[yyj4800]
					yyv4802.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4800 := 0
		for ; !r.CheckBreak(); yyj4800++ {

			if yyj4800 >= len(yyv4800) {
				yyv4800 = append(yyv4800, NodeAddress{}) // var yyz4800 NodeAddress
				yyc4800 = true
			}
			yyh4800.ElemContainerState(yyj4800)
			if yyj4800 < len(yyv4800) {
				if r.TryDecodeAsNil() {
					yyv4800[yyj4800] = NodeAddress{}
				} else {
					yyv4803 := &yyv4800[yyj4800]
					yyv4803.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4800 < len(yyv4800) {
			yyv4800 = yyv4800[:yyj4800]
			yyc4800 = true
		} else if yyj4800 == 0 && yyv4800 == nil {
			yyv4800 = []NodeAddress{}
			yyc4800 = true
		}
	}
	yyh4800.End()
	if yyc4800 {
		*v = yyv4800
	}
}

func (x codecSelfer1234) encSliceContainerImage(v []ContainerImage, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4804 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4805 := &yyv4804
		yy4805.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceContainerImage(v *[]ContainerImage, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4806 := *v
	yyh4806, yyl4806 := z.DecSliceHelperStart()
	var yyc4806 bool
	if yyl4806 == 0 {
		if yyv4806 == nil {
			yyv4806 = []ContainerImage{}
			yyc4806 = true
		} else if len(yyv4806) != 0 {
			yyv4806 = yyv4806[:0]
			yyc4806 = true
		}
	} else if yyl4806 > 0 {
		var yyrr4806, yyrl4806 int
		var yyrt4806 bool
		if yyl4806 > cap(yyv4806) {

			yyrg4806 := len(yyv4806) > 0
			yyv24806 := yyv4806
			yyrl4806, yyrt4806 = z.DecInferLen(yyl4806, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4806 {
				if yyrl4806 <= cap(yyv4806) {
					yyv4806 = yyv4806[:yyrl4806]
				} else {
					yyv4806 = make([]ContainerImage, yyrl4806)
				}
			} else {
				yyv4806 = make([]ContainerImage, yyrl4806)
			}
			yyc4806 = true
			yyrr4806 = len(yyv4806)
			if yyrg4806 {
				copy(yyv4806, yyv24806)
			}
		} else if yyl4806 != len(yyv4806) {
			yyv4806 = yyv4806[:yyl4806]
			yyc4806 = true
		}
		yyj4806 := 0
		for ; yyj4806 < yyrr4806; yyj4806++ {
			yyh4806.ElemContainerState(yyj4806)
			if r.TryDecodeAsNil() {
				yyv4806[yyj4806] = ContainerImage{}
			} else {
				yyv4807 := &yyv4806[yyj4806]
				yyv4807.CodecDecodeSelf(d)
			}

		}
		if yyrt4806 {
			for ; yyj4806 < yyl4806; yyj4806++ {
				yyv4806 = append(yyv4806, ContainerImage{})
				yyh4806.ElemContainerState(yyj4806)
				if r.TryDecodeAsNil() {
					yyv4806[yyj4806] = ContainerImage{}
				} else {
					yyv4808 := &yyv4806[yyj4806]
					yyv4808.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4806 := 0
		for ; !r.CheckBreak(); yyj4806++ {

			if yyj4806 >= len(yyv4806) {
				yyv4806 = append(yyv4806, ContainerImage{}) // var yyz4806 ContainerImage
				yyc4806 = true
			}
			yyh4806.ElemContainerState(yyj4806)
			if yyj4806 < len(yyv4806) {
				if r.TryDecodeAsNil() {
					yyv4806[yyj4806] = ContainerImage{}
				} else {
					yyv4809 := &yyv4806[yyj4806]
					yyv4809.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4806 < len(yyv4806) {
			yyv4806 = yyv4806[:yyj4806]
			yyc4806 = true
		} else if yyj4806 == 0 && yyv4806 == nil {
			yyv4806 = []ContainerImage{}
			yyc4806 = true
		}
	}
	yyh4806.End()
	if yyc4806 {
		*v = yyv4806
	}
}

func (x codecSelfer1234) encSliceUniqueVolumeName(v []UniqueVolumeName, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4810 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4810.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceUniqueVolumeName(v *[]UniqueVolumeName, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4811 := *v
	yyh4811, yyl4811 := z.DecSliceHelperStart()
	var yyc4811 bool
	if yyl4811 == 0 {
		if yyv4811 == nil {
			yyv4811 = []UniqueVolumeName{}
			yyc4811 = true
		} else if len(yyv4811) != 0 {
			yyv4811 = yyv4811[:0]
			yyc4811 = true
		}
	} else if yyl4811 > 0 {
		var yyrr4811, yyrl4811 int
		var yyrt4811 bool
		if yyl4811 > cap(yyv4811) {

			yyrl4811, yyrt4811 = z.DecInferLen(yyl4811, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4811 {
				if yyrl4811 <= cap(yyv4811) {
					yyv4811 = yyv4811[:yyrl4811]
				} else {
					yyv4811 = make([]UniqueVolumeName, yyrl4811)
				}
			} else {
				yyv4811 = make([]UniqueVolumeName, yyrl4811)
			}
			yyc4811 = true
			yyrr4811 = len(yyv4811)
		} else if yyl4811 != len(yyv4811) {
			yyv4811 = yyv4811[:yyl4811]
			yyc4811 = true
		}
		yyj4811 := 0
		for ; yyj4811 < yyrr4811; yyj4811++ {
			yyh4811.ElemContainerState(yyj4811)
			if r.TryDecodeAsNil() {
				yyv4811[yyj4811] = ""
			} else {
				yyv4811[yyj4811] = UniqueVolumeName(r.DecodeString())
			}

		}
		if yyrt4811 {
			for ; yyj4811 < yyl4811; yyj4811++ {
				yyv4811 = append(yyv4811, "")
				yyh4811.ElemContainerState(yyj4811)
				if r.TryDecodeAsNil() {
					yyv4811[yyj4811] = ""
				} else {
					yyv4811[yyj4811] = UniqueVolumeName(r.DecodeString())
				}

			}
		}

	} else {
		yyj4811 := 0
		for ; !r.CheckBreak(); yyj4811++ {

			if yyj4811 >= len(yyv4811) {
				yyv4811 = append(yyv4811, "") // var yyz4811 UniqueVolumeName
				yyc4811 = true
			}
			yyh4811.ElemContainerState(yyj4811)
			if yyj4811 < len(yyv4811) {
				if r.TryDecodeAsNil() {
					yyv4811[yyj4811] = ""
				} else {
					yyv4811[yyj4811] = UniqueVolumeName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4811 < len(yyv4811) {
			yyv4811 = yyv4811[:yyj4811]
			yyc4811 = true
		} else if yyj4811 == 0 && yyv4811 == nil {
			yyv4811 = []UniqueVolumeName{}
			yyc4811 = true
		}
	}
	yyh4811.End()
	if yyc4811 {
		*v = yyv4811
	}
}

func (x codecSelfer1234) encSliceAttachedVolume(v []AttachedVolume, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4815 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4816 := &yyv4815
		yy4816.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceAttachedVolume(v *[]AttachedVolume, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4817 := *v
	yyh4817, yyl4817 := z.DecSliceHelperStart()
	var yyc4817 bool
	if yyl4817 == 0 {
		if yyv4817 == nil {
			yyv4817 = []AttachedVolume{}
			yyc4817 = true
		} else if len(yyv4817) != 0 {
			yyv4817 = yyv4817[:0]
			yyc4817 = true
		}
	} else if yyl4817 > 0 {
		var yyrr4817, yyrl4817 int
		var yyrt4817 bool
		if yyl4817 > cap(yyv4817) {

			yyrg4817 := len(yyv4817) > 0
			yyv24817 := yyv4817
			yyrl4817, yyrt4817 = z.DecInferLen(yyl4817, z.DecBasicHandle().MaxInitLen, 32)
			if yyrt4817 {
				if yyrl4817 <= cap(yyv4817) {
					yyv4817 = yyv4817[:yyrl4817]
				} else {
					yyv4817 = make([]AttachedVolume, yyrl4817)
				}
			} else {
				yyv4817 = make([]AttachedVolume, yyrl4817)
			}
			yyc4817 = true
			yyrr4817 = len(yyv4817)
			if yyrg4817 {
				copy(yyv4817, yyv24817)
			}
		} else if yyl4817 != len(yyv4817) {
			yyv4817 = yyv4817[:yyl4817]
			yyc4817 = true
		}
		yyj4817 := 0
		for ; yyj4817 < yyrr4817; yyj4817++ {
			yyh4817.ElemContainerState(yyj4817)
			if r.TryDecodeAsNil() {
				yyv4817[yyj4817] = AttachedVolume{}
			} else {
				yyv4818 := &yyv4817[yyj4817]
				yyv4818.CodecDecodeSelf(d)
			}

		}
		if yyrt4817 {
			for ; yyj4817 < yyl4817; yyj4817++ {
				yyv4817 = append(yyv4817, AttachedVolume{})
				yyh4817.ElemContainerState(yyj4817)
				if r.TryDecodeAsNil() {
					yyv4817[yyj4817] = AttachedVolume{}
				} else {
					yyv4819 := &yyv4817[yyj4817]
					yyv4819.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4817 := 0
		for ; !r.CheckBreak(); yyj4817++ {

			if yyj4817 >= len(yyv4817) {
				yyv4817 = append(yyv4817, AttachedVolume{}) // var yyz4817 AttachedVolume
				yyc4817 = true
			}
			yyh4817.ElemContainerState(yyj4817)
			if yyj4817 < len(yyv4817) {
				if r.TryDecodeAsNil() {
					yyv4817[yyj4817] = AttachedVolume{}
				} else {
					yyv4820 := &yyv4817[yyj4817]
					yyv4820.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4817 < len(yyv4817) {
			yyv4817 = yyv4817[:yyj4817]
			yyc4817 = true
		} else if yyj4817 == 0 && yyv4817 == nil {
			yyv4817 = []AttachedVolume{}
			yyc4817 = true
		}
	}
	yyh4817.End()
	if yyc4817 {
		*v = yyv4817
	}
}

func (x codecSelfer1234) encSlicePreferAvoidPodsEntry(v []PreferAvoidPodsEntry, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4821 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4822 := &yyv4821
		yy4822.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSlicePreferAvoidPodsEntry(v *[]PreferAvoidPodsEntry, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4823 := *v
	yyh4823, yyl4823 := z.DecSliceHelperStart()
	var yyc4823 bool
	if yyl4823 == 0 {
		if yyv4823 == nil {
			yyv4823 = []PreferAvoidPodsEntry{}
			yyc4823 = true
		} else if len(yyv4823) != 0 {
			yyv4823 = yyv4823[:0]
			yyc4823 = true
		}
	} else if yyl4823 > 0 {
		var yyrr4823, yyrl4823 int
		var yyrt4823 bool
		if yyl4823 > cap(yyv4823) {

			yyrg4823 := len(yyv4823) > 0
			yyv24823 := yyv4823
			yyrl4823, yyrt4823 = z.DecInferLen(yyl4823, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt4823 {
				if yyrl4823 <= cap(yyv4823) {
					yyv4823 = yyv4823[:yyrl4823]
				} else {
					yyv4823 = make([]PreferAvoidPodsEntry, yyrl4823)
				}
			} else {
				yyv4823 = make([]PreferAvoidPodsEntry, yyrl4823)
			}
			yyc4823 = true
			yyrr4823 = len(yyv4823)
			if yyrg4823 {
				copy(yyv4823, yyv24823)
			}
		} else if yyl4823 != len(yyv4823) {
			yyv4823 = yyv4823[:yyl4823]
			yyc4823 = true
		}
		yyj4823 := 0
		for ; yyj4823 < yyrr4823; yyj4823++ {
			yyh4823.ElemContainerState(yyj4823)
			if r.TryDecodeAsNil() {
				yyv4823[yyj4823] = PreferAvoidPodsEntry{}
			} else {
				yyv4824 := &yyv4823[yyj4823]
				yyv4824.CodecDecodeSelf(d)
			}

		}
		if yyrt4823 {
			for ; yyj4823 < yyl4823; yyj4823++ {
				yyv4823 = append(yyv4823, PreferAvoidPodsEntry{})
				yyh4823.ElemContainerState(yyj4823)
				if r.TryDecodeAsNil() {
					yyv4823[yyj4823] = PreferAvoidPodsEntry{}
				} else {
					yyv4825 := &yyv4823[yyj4823]
					yyv4825.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4823 := 0
		for ; !r.CheckBreak(); yyj4823++ {

			if yyj4823 >= len(yyv4823) {
				yyv4823 = append(yyv4823, PreferAvoidPodsEntry{}) // var yyz4823 PreferAvoidPodsEntry
				yyc4823 = true
			}
			yyh4823.ElemContainerState(yyj4823)
			if yyj4823 < len(yyv4823) {
				if r.TryDecodeAsNil() {
					yyv4823[yyj4823] = PreferAvoidPodsEntry{}
				} else {
					yyv4826 := &yyv4823[yyj4823]
					yyv4826.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4823 < len(yyv4823) {
			yyv4823 = yyv4823[:yyj4823]
			yyc4823 = true
		} else if yyj4823 == 0 && yyv4823 == nil {
			yyv4823 = []PreferAvoidPodsEntry{}
			yyc4823 = true
		}
	}
	yyh4823.End()
	if yyc4823 {
		*v = yyv4823
	}
}

func (x codecSelfer1234) encResourceList(v ResourceList, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk4827, yyv4827 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yyk4827.CodecEncodeSelf(e)
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		yy4828 := &yyv4827
		yym4829 := z.EncBinary()
		_ = yym4829
		if false {
		} else if z.HasExtensions() && z.EncExt(yy4828) {
		} else if !yym4829 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy4828)
		} else {
			z.EncFallback(yy4828)
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decResourceList(v *ResourceList, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4830 := *v
	yyl4830 := r.ReadMapStart()
	yybh4830 := z.DecBasicHandle()
	if yyv4830 == nil {
		yyrl4830, _ := z.DecInferLen(yyl4830, yybh4830.MaxInitLen, 72)
		yyv4830 = make(map[ResourceName]pkg3_resource.Quantity, yyrl4830)
		*v = yyv4830
	}
	var yymk4830 ResourceName
	var yymv4830 pkg3_resource.Quantity
	var yymg4830 bool
	if yybh4830.MapValueReset {
		yymg4830 = true
	}
	if yyl4830 > 0 {
		for yyj4830 := 0; yyj4830 < yyl4830; yyj4830++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4830 = ""
			} else {
				yymk4830 = ResourceName(r.DecodeString())
			}

			if yymg4830 {
				yymv4830 = yyv4830[yymk4830]
			} else {
				yymv4830 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4830 = pkg3_resource.Quantity{}
			} else {
				yyv4832 := &yymv4830
				yym4833 := z.DecBinary()
				_ = yym4833
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4832) {
				} else if !yym4833 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4832)
				} else {
					z.DecFallback(yyv4832, false)
				}
			}

			if yyv4830 != nil {
				yyv4830[yymk4830] = yymv4830
			}
		}
	} else if yyl4830 < 0 {
		for yyj4830 := 0; !r.CheckBreak(); yyj4830++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4830 = ""
			} else {
				yymk4830 = ResourceName(r.DecodeString())
			}

			if yymg4830 {
				yymv4830 = yyv4830[yymk4830]
			} else {
				yymv4830 = pkg3_resource.Quantity{}
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4830 = pkg3_resource.Quantity{}
			} else {
				yyv4835 := &yymv4830
				yym4836 := z.DecBinary()
				_ = yym4836
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4835) {
				} else if !yym4836 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv4835)
				} else {
					z.DecFallback(yyv4835, false)
				}
			}

			if yyv4830 != nil {
				yyv4830[yymk4830] = yymv4830
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) encSliceNode(v []Node, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4837 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4838 := &yyv4837
		yy4838.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNode(v *[]Node, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4839 := *v
	yyh4839, yyl4839 := z.DecSliceHelperStart()
	var yyc4839 bool
	if yyl4839 == 0 {
		if yyv4839 == nil {
			yyv4839 = []Node{}
			yyc4839 = true
		} else if len(yyv4839) != 0 {
			yyv4839 = yyv4839[:0]
			yyc4839 = true
		}
	} else if yyl4839 > 0 {
		var yyrr4839, yyrl4839 int
		var yyrt4839 bool
		if yyl4839 > cap(yyv4839) {

			yyrg4839 := len(yyv4839) > 0
			yyv24839 := yyv4839
			yyrl4839, yyrt4839 = z.DecInferLen(yyl4839, z.DecBasicHandle().MaxInitLen, 632)
			if yyrt4839 {
				if yyrl4839 <= cap(yyv4839) {
					yyv4839 = yyv4839[:yyrl4839]
				} else {
					yyv4839 = make([]Node, yyrl4839)
				}
			} else {
				yyv4839 = make([]Node, yyrl4839)
			}
			yyc4839 = true
			yyrr4839 = len(yyv4839)
			if yyrg4839 {
				copy(yyv4839, yyv24839)
			}
		} else if yyl4839 != len(yyv4839) {
			yyv4839 = yyv4839[:yyl4839]
			yyc4839 = true
		}
		yyj4839 := 0
		for ; yyj4839 < yyrr4839; yyj4839++ {
			yyh4839.ElemContainerState(yyj4839)
			if r.TryDecodeAsNil() {
				yyv4839[yyj4839] = Node{}
			} else {
				yyv4840 := &yyv4839[yyj4839]
				yyv4840.CodecDecodeSelf(d)
			}

		}
		if yyrt4839 {
			for ; yyj4839 < yyl4839; yyj4839++ {
				yyv4839 = append(yyv4839, Node{})
				yyh4839.ElemContainerState(yyj4839)
				if r.TryDecodeAsNil() {
					yyv4839[yyj4839] = Node{}
				} else {
					yyv4841 := &yyv4839[yyj4839]
					yyv4841.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4839 := 0
		for ; !r.CheckBreak(); yyj4839++ {

			if yyj4839 >= len(yyv4839) {
				yyv4839 = append(yyv4839, Node{}) // var yyz4839 Node
				yyc4839 = true
			}
			yyh4839.ElemContainerState(yyj4839)
			if yyj4839 < len(yyv4839) {
				if r.TryDecodeAsNil() {
					yyv4839[yyj4839] = Node{}
				} else {
					yyv4842 := &yyv4839[yyj4839]
					yyv4842.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4839 < len(yyv4839) {
			yyv4839 = yyv4839[:yyj4839]
			yyc4839 = true
		} else if yyj4839 == 0 && yyv4839 == nil {
			yyv4839 = []Node{}
			yyc4839 = true
		}
	}
	yyh4839.End()
	if yyc4839 {
		*v = yyv4839
	}
}

func (x codecSelfer1234) encSliceFinalizerName(v []FinalizerName, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4843 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4843.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceFinalizerName(v *[]FinalizerName, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4844 := *v
	yyh4844, yyl4844 := z.DecSliceHelperStart()
	var yyc4844 bool
	if yyl4844 == 0 {
		if yyv4844 == nil {
			yyv4844 = []FinalizerName{}
			yyc4844 = true
		} else if len(yyv4844) != 0 {
			yyv4844 = yyv4844[:0]
			yyc4844 = true
		}
	} else if yyl4844 > 0 {
		var yyrr4844, yyrl4844 int
		var yyrt4844 bool
		if yyl4844 > cap(yyv4844) {

			yyrl4844, yyrt4844 = z.DecInferLen(yyl4844, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4844 {
				if yyrl4844 <= cap(yyv4844) {
					yyv4844 = yyv4844[:yyrl4844]
				} else {
					yyv4844 = make([]FinalizerName, yyrl4844)
				}
			} else {
				yyv4844 = make([]FinalizerName, yyrl4844)
			}
			yyc4844 = true
			yyrr4844 = len(yyv4844)
		} else if yyl4844 != len(yyv4844) {
			yyv4844 = yyv4844[:yyl4844]
			yyc4844 = true
		}
		yyj4844 := 0
		for ; yyj4844 < yyrr4844; yyj4844++ {
			yyh4844.ElemContainerState(yyj4844)
			if r.TryDecodeAsNil() {
				yyv4844[yyj4844] = ""
			} else {
				yyv4844[yyj4844] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt4844 {
			for ; yyj4844 < yyl4844; yyj4844++ {
				yyv4844 = append(yyv4844, "")
				yyh4844.ElemContainerState(yyj4844)
				if r.TryDecodeAsNil() {
					yyv4844[yyj4844] = ""
				} else {
					yyv4844[yyj4844] = FinalizerName(r.DecodeString())
				}

			}
		}

	} else {
		yyj4844 := 0
		for ; !r.CheckBreak(); yyj4844++ {

			if yyj4844 >= len(yyv4844) {
				yyv4844 = append(yyv4844, "") // var yyz4844 FinalizerName
				yyc4844 = true
			}
			yyh4844.ElemContainerState(yyj4844)
			if yyj4844 < len(yyv4844) {
				if r.TryDecodeAsNil() {
					yyv4844[yyj4844] = ""
				} else {
					yyv4844[yyj4844] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4844 < len(yyv4844) {
			yyv4844 = yyv4844[:yyj4844]
			yyc4844 = true
		} else if yyj4844 == 0 && yyv4844 == nil {
			yyv4844 = []FinalizerName{}
			yyc4844 = true
		}
	}
	yyh4844.End()
	if yyc4844 {
		*v = yyv4844
	}
}

func (x codecSelfer1234) encSliceNamespace(v []Namespace, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4848 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4849 := &yyv4848
		yy4849.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceNamespace(v *[]Namespace, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4850 := *v
	yyh4850, yyl4850 := z.DecSliceHelperStart()
	var yyc4850 bool
	if yyl4850 == 0 {
		if yyv4850 == nil {
			yyv4850 = []Namespace{}
			yyc4850 = true
		} else if len(yyv4850) != 0 {
			yyv4850 = yyv4850[:0]
			yyc4850 = true
		}
	} else if yyl4850 > 0 {
		var yyrr4850, yyrl4850 int
		var yyrt4850 bool
		if yyl4850 > cap(yyv4850) {

			yyrg4850 := len(yyv4850) > 0
			yyv24850 := yyv4850
			yyrl4850, yyrt4850 = z.DecInferLen(yyl4850, z.DecBasicHandle().MaxInitLen, 296)
			if yyrt4850 {
				if yyrl4850 <= cap(yyv4850) {
					yyv4850 = yyv4850[:yyrl4850]
				} else {
					yyv4850 = make([]Namespace, yyrl4850)
				}
			} else {
				yyv4850 = make([]Namespace, yyrl4850)
			}
			yyc4850 = true
			yyrr4850 = len(yyv4850)
			if yyrg4850 {
				copy(yyv4850, yyv24850)
			}
		} else if yyl4850 != len(yyv4850) {
			yyv4850 = yyv4850[:yyl4850]
			yyc4850 = true
		}
		yyj4850 := 0
		for ; yyj4850 < yyrr4850; yyj4850++ {
			yyh4850.ElemContainerState(yyj4850)
			if r.TryDecodeAsNil() {
				yyv4850[yyj4850] = Namespace{}
			} else {
				yyv4851 := &yyv4850[yyj4850]
				yyv4851.CodecDecodeSelf(d)
			}

		}
		if yyrt4850 {
			for ; yyj4850 < yyl4850; yyj4850++ {
				yyv4850 = append(yyv4850, Namespace{})
				yyh4850.ElemContainerState(yyj4850)
				if r.TryDecodeAsNil() {
					yyv4850[yyj4850] = Namespace{}
				} else {
					yyv4852 := &yyv4850[yyj4850]
					yyv4852.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4850 := 0
		for ; !r.CheckBreak(); yyj4850++ {

			if yyj4850 >= len(yyv4850) {
				yyv4850 = append(yyv4850, Namespace{}) // var yyz4850 Namespace
				yyc4850 = true
			}
			yyh4850.ElemContainerState(yyj4850)
			if yyj4850 < len(yyv4850) {
				if r.TryDecodeAsNil() {
					yyv4850[yyj4850] = Namespace{}
				} else {
					yyv4853 := &yyv4850[yyj4850]
					yyv4853.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4850 < len(yyv4850) {
			yyv4850 = yyv4850[:yyj4850]
			yyc4850 = true
		} else if yyj4850 == 0 && yyv4850 == nil {
			yyv4850 = []Namespace{}
			yyc4850 = true
		}
	}
	yyh4850.End()
	if yyc4850 {
		*v = yyv4850
	}
}

func (x codecSelfer1234) encSliceEvent(v []Event, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4854 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4855 := &yyv4854
		yy4855.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceEvent(v *[]Event, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4856 := *v
	yyh4856, yyl4856 := z.DecSliceHelperStart()
	var yyc4856 bool
	if yyl4856 == 0 {
		if yyv4856 == nil {
			yyv4856 = []Event{}
			yyc4856 = true
		} else if len(yyv4856) != 0 {
			yyv4856 = yyv4856[:0]
			yyc4856 = true
		}
	} else if yyl4856 > 0 {
		var yyrr4856, yyrl4856 int
		var yyrt4856 bool
		if yyl4856 > cap(yyv4856) {

			yyrg4856 := len(yyv4856) > 0
			yyv24856 := yyv4856
			yyrl4856, yyrt4856 = z.DecInferLen(yyl4856, z.DecBasicHandle().MaxInitLen, 504)
			if yyrt4856 {
				if yyrl4856 <= cap(yyv4856) {
					yyv4856 = yyv4856[:yyrl4856]
				} else {
					yyv4856 = make([]Event, yyrl4856)
				}
			} else {
				yyv4856 = make([]Event, yyrl4856)
			}
			yyc4856 = true
			yyrr4856 = len(yyv4856)
			if yyrg4856 {
				copy(yyv4856, yyv24856)
			}
		} else if yyl4856 != len(yyv4856) {
			yyv4856 = yyv4856[:yyl4856]
			yyc4856 = true
		}
		yyj4856 := 0
		for ; yyj4856 < yyrr4856; yyj4856++ {
			yyh4856.ElemContainerState(yyj4856)
			if r.TryDecodeAsNil() {
				yyv4856[yyj4856] = Event{}
			} else {
				yyv4857 := &yyv4856[yyj4856]
				yyv4857.CodecDecodeSelf(d)
			}

		}
		if yyrt4856 {
			for ; yyj4856 < yyl4856; yyj4856++ {
				yyv4856 = append(yyv4856, Event{})
				yyh4856.ElemContainerState(yyj4856)
				if r.TryDecodeAsNil() {
					yyv4856[yyj4856] = Event{}
				} else {
					yyv4858 := &yyv4856[yyj4856]
					yyv4858.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4856 := 0
		for ; !r.CheckBreak(); yyj4856++ {

			if yyj4856 >= len(yyv4856) {
				yyv4856 = append(yyv4856, Event{}) // var yyz4856 Event
				yyc4856 = true
			}
			yyh4856.ElemContainerState(yyj4856)
			if yyj4856 < len(yyv4856) {
				if r.TryDecodeAsNil() {
					yyv4856[yyj4856] = Event{}
				} else {
					yyv4859 := &yyv4856[yyj4856]
					yyv4859.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4856 < len(yyv4856) {
			yyv4856 = yyv4856[:yyj4856]
			yyc4856 = true
		} else if yyj4856 == 0 && yyv4856 == nil {
			yyv4856 = []Event{}
			yyc4856 = true
		}
	}
	yyh4856.End()
	if yyc4856 {
		*v = yyv4856
	}
}

func (x codecSelfer1234) encSliceruntime_Object(v []pkg7_runtime.Object, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4860 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		if yyv4860 == nil {
			r.EncodeNil()
		} else {
			yym4861 := z.EncBinary()
			_ = yym4861
			if false {
			} else if z.HasExtensions() && z.EncExt(yyv4860) {
			} else {
				z.EncFallback(yyv4860)
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceruntime_Object(v *[]pkg7_runtime.Object, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4862 := *v
	yyh4862, yyl4862 := z.DecSliceHelperStart()
	var yyc4862 bool
	if yyl4862 == 0 {
		if yyv4862 == nil {
			yyv4862 = []pkg7_runtime.Object{}
			yyc4862 = true
		} else if len(yyv4862) != 0 {
			yyv4862 = yyv4862[:0]
			yyc4862 = true
		}
	} else if yyl4862 > 0 {
		var yyrr4862, yyrl4862 int
		var yyrt4862 bool
		if yyl4862 > cap(yyv4862) {

			yyrg4862 := len(yyv4862) > 0
			yyv24862 := yyv4862
			yyrl4862, yyrt4862 = z.DecInferLen(yyl4862, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4862 {
				if yyrl4862 <= cap(yyv4862) {
					yyv4862 = yyv4862[:yyrl4862]
				} else {
					yyv4862 = make([]pkg7_runtime.Object, yyrl4862)
				}
			} else {
				yyv4862 = make([]pkg7_runtime.Object, yyrl4862)
			}
			yyc4862 = true
			yyrr4862 = len(yyv4862)
			if yyrg4862 {
				copy(yyv4862, yyv24862)
			}
		} else if yyl4862 != len(yyv4862) {
			yyv4862 = yyv4862[:yyl4862]
			yyc4862 = true
		}
		yyj4862 := 0
		for ; yyj4862 < yyrr4862; yyj4862++ {
			yyh4862.ElemContainerState(yyj4862)
			if r.TryDecodeAsNil() {
				yyv4862[yyj4862] = nil
			} else {
				yyv4863 := &yyv4862[yyj4862]
				yym4864 := z.DecBinary()
				_ = yym4864
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv4863) {
				} else {
					z.DecFallback(yyv4863, true)
				}
			}

		}
		if yyrt4862 {
			for ; yyj4862 < yyl4862; yyj4862++ {
				yyv4862 = append(yyv4862, nil)
				yyh4862.ElemContainerState(yyj4862)
				if r.TryDecodeAsNil() {
					yyv4862[yyj4862] = nil
				} else {
					yyv4865 := &yyv4862[yyj4862]
					yym4866 := z.DecBinary()
					_ = yym4866
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4865) {
					} else {
						z.DecFallback(yyv4865, true)
					}
				}

			}
		}

	} else {
		yyj4862 := 0
		for ; !r.CheckBreak(); yyj4862++ {

			if yyj4862 >= len(yyv4862) {
				yyv4862 = append(yyv4862, nil) // var yyz4862 pkg7_runtime.Object
				yyc4862 = true
			}
			yyh4862.ElemContainerState(yyj4862)
			if yyj4862 < len(yyv4862) {
				if r.TryDecodeAsNil() {
					yyv4862[yyj4862] = nil
				} else {
					yyv4867 := &yyv4862[yyj4862]
					yym4868 := z.DecBinary()
					_ = yym4868
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv4867) {
					} else {
						z.DecFallback(yyv4867, true)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4862 < len(yyv4862) {
			yyv4862 = yyv4862[:yyj4862]
			yyc4862 = true
		} else if yyj4862 == 0 && yyv4862 == nil {
			yyv4862 = []pkg7_runtime.Object{}
			yyc4862 = true
		}
	}
	yyh4862.End()
	if yyc4862 {
		*v = yyv4862
	}
}

func (x codecSelfer1234) encSliceLimitRangeItem(v []LimitRangeItem, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4869 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4870 := &yyv4869
		yy4870.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLimitRangeItem(v *[]LimitRangeItem, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4871 := *v
	yyh4871, yyl4871 := z.DecSliceHelperStart()
	var yyc4871 bool
	if yyl4871 == 0 {
		if yyv4871 == nil {
			yyv4871 = []LimitRangeItem{}
			yyc4871 = true
		} else if len(yyv4871) != 0 {
			yyv4871 = yyv4871[:0]
			yyc4871 = true
		}
	} else if yyl4871 > 0 {
		var yyrr4871, yyrl4871 int
		var yyrt4871 bool
		if yyl4871 > cap(yyv4871) {

			yyrg4871 := len(yyv4871) > 0
			yyv24871 := yyv4871
			yyrl4871, yyrt4871 = z.DecInferLen(yyl4871, z.DecBasicHandle().MaxInitLen, 56)
			if yyrt4871 {
				if yyrl4871 <= cap(yyv4871) {
					yyv4871 = yyv4871[:yyrl4871]
				} else {
					yyv4871 = make([]LimitRangeItem, yyrl4871)
				}
			} else {
				yyv4871 = make([]LimitRangeItem, yyrl4871)
			}
			yyc4871 = true
			yyrr4871 = len(yyv4871)
			if yyrg4871 {
				copy(yyv4871, yyv24871)
			}
		} else if yyl4871 != len(yyv4871) {
			yyv4871 = yyv4871[:yyl4871]
			yyc4871 = true
		}
		yyj4871 := 0
		for ; yyj4871 < yyrr4871; yyj4871++ {
			yyh4871.ElemContainerState(yyj4871)
			if r.TryDecodeAsNil() {
				yyv4871[yyj4871] = LimitRangeItem{}
			} else {
				yyv4872 := &yyv4871[yyj4871]
				yyv4872.CodecDecodeSelf(d)
			}

		}
		if yyrt4871 {
			for ; yyj4871 < yyl4871; yyj4871++ {
				yyv4871 = append(yyv4871, LimitRangeItem{})
				yyh4871.ElemContainerState(yyj4871)
				if r.TryDecodeAsNil() {
					yyv4871[yyj4871] = LimitRangeItem{}
				} else {
					yyv4873 := &yyv4871[yyj4871]
					yyv4873.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4871 := 0
		for ; !r.CheckBreak(); yyj4871++ {

			if yyj4871 >= len(yyv4871) {
				yyv4871 = append(yyv4871, LimitRangeItem{}) // var yyz4871 LimitRangeItem
				yyc4871 = true
			}
			yyh4871.ElemContainerState(yyj4871)
			if yyj4871 < len(yyv4871) {
				if r.TryDecodeAsNil() {
					yyv4871[yyj4871] = LimitRangeItem{}
				} else {
					yyv4874 := &yyv4871[yyj4871]
					yyv4874.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4871 < len(yyv4871) {
			yyv4871 = yyv4871[:yyj4871]
			yyc4871 = true
		} else if yyj4871 == 0 && yyv4871 == nil {
			yyv4871 = []LimitRangeItem{}
			yyc4871 = true
		}
	}
	yyh4871.End()
	if yyc4871 {
		*v = yyv4871
	}
}

func (x codecSelfer1234) encSliceLimitRange(v []LimitRange, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4875 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4876 := &yyv4875
		yy4876.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceLimitRange(v *[]LimitRange, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4877 := *v
	yyh4877, yyl4877 := z.DecSliceHelperStart()
	var yyc4877 bool
	if yyl4877 == 0 {
		if yyv4877 == nil {
			yyv4877 = []LimitRange{}
			yyc4877 = true
		} else if len(yyv4877) != 0 {
			yyv4877 = yyv4877[:0]
			yyc4877 = true
		}
	} else if yyl4877 > 0 {
		var yyrr4877, yyrl4877 int
		var yyrt4877 bool
		if yyl4877 > cap(yyv4877) {

			yyrg4877 := len(yyv4877) > 0
			yyv24877 := yyv4877
			yyrl4877, yyrt4877 = z.DecInferLen(yyl4877, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4877 {
				if yyrl4877 <= cap(yyv4877) {
					yyv4877 = yyv4877[:yyrl4877]
				} else {
					yyv4877 = make([]LimitRange, yyrl4877)
				}
			} else {
				yyv4877 = make([]LimitRange, yyrl4877)
			}
			yyc4877 = true
			yyrr4877 = len(yyv4877)
			if yyrg4877 {
				copy(yyv4877, yyv24877)
			}
		} else if yyl4877 != len(yyv4877) {
			yyv4877 = yyv4877[:yyl4877]
			yyc4877 = true
		}
		yyj4877 := 0
		for ; yyj4877 < yyrr4877; yyj4877++ {
			yyh4877.ElemContainerState(yyj4877)
			if r.TryDecodeAsNil() {
				yyv4877[yyj4877] = LimitRange{}
			} else {
				yyv4878 := &yyv4877[yyj4877]
				yyv4878.CodecDecodeSelf(d)
			}

		}
		if yyrt4877 {
			for ; yyj4877 < yyl4877; yyj4877++ {
				yyv4877 = append(yyv4877, LimitRange{})
				yyh4877.ElemContainerState(yyj4877)
				if r.TryDecodeAsNil() {
					yyv4877[yyj4877] = LimitRange{}
				} else {
					yyv4879 := &yyv4877[yyj4877]
					yyv4879.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4877 := 0
		for ; !r.CheckBreak(); yyj4877++ {

			if yyj4877 >= len(yyv4877) {
				yyv4877 = append(yyv4877, LimitRange{}) // var yyz4877 LimitRange
				yyc4877 = true
			}
			yyh4877.ElemContainerState(yyj4877)
			if yyj4877 < len(yyv4877) {
				if r.TryDecodeAsNil() {
					yyv4877[yyj4877] = LimitRange{}
				} else {
					yyv4880 := &yyv4877[yyj4877]
					yyv4880.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4877 < len(yyv4877) {
			yyv4877 = yyv4877[:yyj4877]
			yyc4877 = true
		} else if yyj4877 == 0 && yyv4877 == nil {
			yyv4877 = []LimitRange{}
			yyc4877 = true
		}
	}
	yyh4877.End()
	if yyc4877 {
		*v = yyv4877
	}
}

func (x codecSelfer1234) encSliceResourceQuotaScope(v []ResourceQuotaScope, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4881 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yyv4881.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceResourceQuotaScope(v *[]ResourceQuotaScope, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4882 := *v
	yyh4882, yyl4882 := z.DecSliceHelperStart()
	var yyc4882 bool
	if yyl4882 == 0 {
		if yyv4882 == nil {
			yyv4882 = []ResourceQuotaScope{}
			yyc4882 = true
		} else if len(yyv4882) != 0 {
			yyv4882 = yyv4882[:0]
			yyc4882 = true
		}
	} else if yyl4882 > 0 {
		var yyrr4882, yyrl4882 int
		var yyrt4882 bool
		if yyl4882 > cap(yyv4882) {

			yyrl4882, yyrt4882 = z.DecInferLen(yyl4882, z.DecBasicHandle().MaxInitLen, 16)
			if yyrt4882 {
				if yyrl4882 <= cap(yyv4882) {
					yyv4882 = yyv4882[:yyrl4882]
				} else {
					yyv4882 = make([]ResourceQuotaScope, yyrl4882)
				}
			} else {
				yyv4882 = make([]ResourceQuotaScope, yyrl4882)
			}
			yyc4882 = true
			yyrr4882 = len(yyv4882)
		} else if yyl4882 != len(yyv4882) {
			yyv4882 = yyv4882[:yyl4882]
			yyc4882 = true
		}
		yyj4882 := 0
		for ; yyj4882 < yyrr4882; yyj4882++ {
			yyh4882.ElemContainerState(yyj4882)
			if r.TryDecodeAsNil() {
				yyv4882[yyj4882] = ""
			} else {
				yyv4882[yyj4882] = ResourceQuotaScope(r.DecodeString())
			}

		}
		if yyrt4882 {
			for ; yyj4882 < yyl4882; yyj4882++ {
				yyv4882 = append(yyv4882, "")
				yyh4882.ElemContainerState(yyj4882)
				if r.TryDecodeAsNil() {
					yyv4882[yyj4882] = ""
				} else {
					yyv4882[yyj4882] = ResourceQuotaScope(r.DecodeString())
				}

			}
		}

	} else {
		yyj4882 := 0
		for ; !r.CheckBreak(); yyj4882++ {

			if yyj4882 >= len(yyv4882) {
				yyv4882 = append(yyv4882, "") // var yyz4882 ResourceQuotaScope
				yyc4882 = true
			}
			yyh4882.ElemContainerState(yyj4882)
			if yyj4882 < len(yyv4882) {
				if r.TryDecodeAsNil() {
					yyv4882[yyj4882] = ""
				} else {
					yyv4882[yyj4882] = ResourceQuotaScope(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4882 < len(yyv4882) {
			yyv4882 = yyv4882[:yyj4882]
			yyc4882 = true
		} else if yyj4882 == 0 && yyv4882 == nil {
			yyv4882 = []ResourceQuotaScope{}
			yyc4882 = true
		}
	}
	yyh4882.End()
	if yyc4882 {
		*v = yyv4882
	}
}

func (x codecSelfer1234) encSliceResourceQuota(v []ResourceQuota, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4886 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4887 := &yyv4886
		yy4887.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceResourceQuota(v *[]ResourceQuota, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4888 := *v
	yyh4888, yyl4888 := z.DecSliceHelperStart()
	var yyc4888 bool
	if yyl4888 == 0 {
		if yyv4888 == nil {
			yyv4888 = []ResourceQuota{}
			yyc4888 = true
		} else if len(yyv4888) != 0 {
			yyv4888 = yyv4888[:0]
			yyc4888 = true
		}
	} else if yyl4888 > 0 {
		var yyrr4888, yyrl4888 int
		var yyrt4888 bool
		if yyl4888 > cap(yyv4888) {

			yyrg4888 := len(yyv4888) > 0
			yyv24888 := yyv4888
			yyrl4888, yyrt4888 = z.DecInferLen(yyl4888, z.DecBasicHandle().MaxInitLen, 304)
			if yyrt4888 {
				if yyrl4888 <= cap(yyv4888) {
					yyv4888 = yyv4888[:yyrl4888]
				} else {
					yyv4888 = make([]ResourceQuota, yyrl4888)
				}
			} else {
				yyv4888 = make([]ResourceQuota, yyrl4888)
			}
			yyc4888 = true
			yyrr4888 = len(yyv4888)
			if yyrg4888 {
				copy(yyv4888, yyv24888)
			}
		} else if yyl4888 != len(yyv4888) {
			yyv4888 = yyv4888[:yyl4888]
			yyc4888 = true
		}
		yyj4888 := 0
		for ; yyj4888 < yyrr4888; yyj4888++ {
			yyh4888.ElemContainerState(yyj4888)
			if r.TryDecodeAsNil() {
				yyv4888[yyj4888] = ResourceQuota{}
			} else {
				yyv4889 := &yyv4888[yyj4888]
				yyv4889.CodecDecodeSelf(d)
			}

		}
		if yyrt4888 {
			for ; yyj4888 < yyl4888; yyj4888++ {
				yyv4888 = append(yyv4888, ResourceQuota{})
				yyh4888.ElemContainerState(yyj4888)
				if r.TryDecodeAsNil() {
					yyv4888[yyj4888] = ResourceQuota{}
				} else {
					yyv4890 := &yyv4888[yyj4888]
					yyv4890.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4888 := 0
		for ; !r.CheckBreak(); yyj4888++ {

			if yyj4888 >= len(yyv4888) {
				yyv4888 = append(yyv4888, ResourceQuota{}) // var yyz4888 ResourceQuota
				yyc4888 = true
			}
			yyh4888.ElemContainerState(yyj4888)
			if yyj4888 < len(yyv4888) {
				if r.TryDecodeAsNil() {
					yyv4888[yyj4888] = ResourceQuota{}
				} else {
					yyv4891 := &yyv4888[yyj4888]
					yyv4891.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4888 < len(yyv4888) {
			yyv4888 = yyv4888[:yyj4888]
			yyc4888 = true
		} else if yyj4888 == 0 && yyv4888 == nil {
			yyv4888 = []ResourceQuota{}
			yyc4888 = true
		}
	}
	yyh4888.End()
	if yyc4888 {
		*v = yyv4888
	}
}

func (x codecSelfer1234) encMapstringSliceuint8(v map[string][]uint8, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	for yyk4892, yyv4892 := range v {
		z.EncSendContainerState(codecSelfer_containerMapKey1234)
		yym4893 := z.EncBinary()
		_ = yym4893
		if false {
		} else {
			r.EncodeString(codecSelferC_UTF81234, string(yyk4892))
		}
		z.EncSendContainerState(codecSelfer_containerMapValue1234)
		if yyv4892 == nil {
			r.EncodeNil()
		} else {
			yym4894 := z.EncBinary()
			_ = yym4894
			if false {
			} else {
				r.EncodeStringBytes(codecSelferC_RAW1234, []byte(yyv4892))
			}
		}
	}
	z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) decMapstringSliceuint8(v *map[string][]uint8, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4895 := *v
	yyl4895 := r.ReadMapStart()
	yybh4895 := z.DecBasicHandle()
	if yyv4895 == nil {
		yyrl4895, _ := z.DecInferLen(yyl4895, yybh4895.MaxInitLen, 40)
		yyv4895 = make(map[string][]uint8, yyrl4895)
		*v = yyv4895
	}
	var yymk4895 string
	var yymv4895 []uint8
	var yymg4895 bool
	if yybh4895.MapValueReset {
		yymg4895 = true
	}
	if yyl4895 > 0 {
		for yyj4895 := 0; yyj4895 < yyl4895; yyj4895++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4895 = ""
			} else {
				yymk4895 = string(r.DecodeString())
			}

			if yymg4895 {
				yymv4895 = yyv4895[yymk4895]
			} else {
				yymv4895 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4895 = nil
			} else {
				yyv4897 := &yymv4895
				yym4898 := z.DecBinary()
				_ = yym4898
				if false {
				} else {
					*yyv4897 = r.DecodeBytes(*(*[]byte)(yyv4897), false, false)
				}
			}

			if yyv4895 != nil {
				yyv4895[yymk4895] = yymv4895
			}
		}
	} else if yyl4895 < 0 {
		for yyj4895 := 0; !r.CheckBreak(); yyj4895++ {
			z.DecSendContainerState(codecSelfer_containerMapKey1234)
			if r.TryDecodeAsNil() {
				yymk4895 = ""
			} else {
				yymk4895 = string(r.DecodeString())
			}

			if yymg4895 {
				yymv4895 = yyv4895[yymk4895]
			} else {
				yymv4895 = nil
			}
			z.DecSendContainerState(codecSelfer_containerMapValue1234)
			if r.TryDecodeAsNil() {
				yymv4895 = nil
			} else {
				yyv4900 := &yymv4895
				yym4901 := z.DecBinary()
				_ = yym4901
				if false {
				} else {
					*yyv4900 = r.DecodeBytes(*(*[]byte)(yyv4900), false, false)
				}
			}

			if yyv4895 != nil {
				yyv4895[yymk4895] = yymv4895
			}
		}
	} // else len==0: TODO: Should we clear map entries?
	z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}

func (x codecSelfer1234) encSliceSecret(v []Secret, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4902 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4903 := &yyv4902
		yy4903.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceSecret(v *[]Secret, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4904 := *v
	yyh4904, yyl4904 := z.DecSliceHelperStart()
	var yyc4904 bool
	if yyl4904 == 0 {
		if yyv4904 == nil {
			yyv4904 = []Secret{}
			yyc4904 = true
		} else if len(yyv4904) != 0 {
			yyv4904 = yyv4904[:0]
			yyc4904 = true
		}
	} else if yyl4904 > 0 {
		var yyrr4904, yyrl4904 int
		var yyrt4904 bool
		if yyl4904 > cap(yyv4904) {

			yyrg4904 := len(yyv4904) > 0
			yyv24904 := yyv4904
			yyrl4904, yyrt4904 = z.DecInferLen(yyl4904, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4904 {
				if yyrl4904 <= cap(yyv4904) {
					yyv4904 = yyv4904[:yyrl4904]
				} else {
					yyv4904 = make([]Secret, yyrl4904)
				}
			} else {
				yyv4904 = make([]Secret, yyrl4904)
			}
			yyc4904 = true
			yyrr4904 = len(yyv4904)
			if yyrg4904 {
				copy(yyv4904, yyv24904)
			}
		} else if yyl4904 != len(yyv4904) {
			yyv4904 = yyv4904[:yyl4904]
			yyc4904 = true
		}
		yyj4904 := 0
		for ; yyj4904 < yyrr4904; yyj4904++ {
			yyh4904.ElemContainerState(yyj4904)
			if r.TryDecodeAsNil() {
				yyv4904[yyj4904] = Secret{}
			} else {
				yyv4905 := &yyv4904[yyj4904]
				yyv4905.CodecDecodeSelf(d)
			}

		}
		if yyrt4904 {
			for ; yyj4904 < yyl4904; yyj4904++ {
				yyv4904 = append(yyv4904, Secret{})
				yyh4904.ElemContainerState(yyj4904)
				if r.TryDecodeAsNil() {
					yyv4904[yyj4904] = Secret{}
				} else {
					yyv4906 := &yyv4904[yyj4904]
					yyv4906.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4904 := 0
		for ; !r.CheckBreak(); yyj4904++ {

			if yyj4904 >= len(yyv4904) {
				yyv4904 = append(yyv4904, Secret{}) // var yyz4904 Secret
				yyc4904 = true
			}
			yyh4904.ElemContainerState(yyj4904)
			if yyj4904 < len(yyv4904) {
				if r.TryDecodeAsNil() {
					yyv4904[yyj4904] = Secret{}
				} else {
					yyv4907 := &yyv4904[yyj4904]
					yyv4907.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4904 < len(yyv4904) {
			yyv4904 = yyv4904[:yyj4904]
			yyc4904 = true
		} else if yyj4904 == 0 && yyv4904 == nil {
			yyv4904 = []Secret{}
			yyc4904 = true
		}
	}
	yyh4904.End()
	if yyc4904 {
		*v = yyv4904
	}
}

func (x codecSelfer1234) encSliceConfigMap(v []ConfigMap, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4908 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4909 := &yyv4908
		yy4909.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceConfigMap(v *[]ConfigMap, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4910 := *v
	yyh4910, yyl4910 := z.DecSliceHelperStart()
	var yyc4910 bool
	if yyl4910 == 0 {
		if yyv4910 == nil {
			yyv4910 = []ConfigMap{}
			yyc4910 = true
		} else if len(yyv4910) != 0 {
			yyv4910 = yyv4910[:0]
			yyc4910 = true
		}
	} else if yyl4910 > 0 {
		var yyrr4910, yyrl4910 int
		var yyrt4910 bool
		if yyl4910 > cap(yyv4910) {

			yyrg4910 := len(yyv4910) > 0
			yyv24910 := yyv4910
			yyrl4910, yyrt4910 = z.DecInferLen(yyl4910, z.DecBasicHandle().MaxInitLen, 264)
			if yyrt4910 {
				if yyrl4910 <= cap(yyv4910) {
					yyv4910 = yyv4910[:yyrl4910]
				} else {
					yyv4910 = make([]ConfigMap, yyrl4910)
				}
			} else {
				yyv4910 = make([]ConfigMap, yyrl4910)
			}
			yyc4910 = true
			yyrr4910 = len(yyv4910)
			if yyrg4910 {
				copy(yyv4910, yyv24910)
			}
		} else if yyl4910 != len(yyv4910) {
			yyv4910 = yyv4910[:yyl4910]
			yyc4910 = true
		}
		yyj4910 := 0
		for ; yyj4910 < yyrr4910; yyj4910++ {
			yyh4910.ElemContainerState(yyj4910)
			if r.TryDecodeAsNil() {
				yyv4910[yyj4910] = ConfigMap{}
			} else {
				yyv4911 := &yyv4910[yyj4910]
				yyv4911.CodecDecodeSelf(d)
			}

		}
		if yyrt4910 {
			for ; yyj4910 < yyl4910; yyj4910++ {
				yyv4910 = append(yyv4910, ConfigMap{})
				yyh4910.ElemContainerState(yyj4910)
				if r.TryDecodeAsNil() {
					yyv4910[yyj4910] = ConfigMap{}
				} else {
					yyv4912 := &yyv4910[yyj4910]
					yyv4912.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4910 := 0
		for ; !r.CheckBreak(); yyj4910++ {

			if yyj4910 >= len(yyv4910) {
				yyv4910 = append(yyv4910, ConfigMap{}) // var yyz4910 ConfigMap
				yyc4910 = true
			}
			yyh4910.ElemContainerState(yyj4910)
			if yyj4910 < len(yyv4910) {
				if r.TryDecodeAsNil() {
					yyv4910[yyj4910] = ConfigMap{}
				} else {
					yyv4913 := &yyv4910[yyj4910]
					yyv4913.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4910 < len(yyv4910) {
			yyv4910 = yyv4910[:yyj4910]
			yyc4910 = true
		} else if yyj4910 == 0 && yyv4910 == nil {
			yyv4910 = []ConfigMap{}
			yyc4910 = true
		}
	}
	yyh4910.End()
	if yyc4910 {
		*v = yyv4910
	}
}

func (x codecSelfer1234) encSliceComponentCondition(v []ComponentCondition, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4914 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4915 := &yyv4914
		yy4915.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceComponentCondition(v *[]ComponentCondition, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4916 := *v
	yyh4916, yyl4916 := z.DecSliceHelperStart()
	var yyc4916 bool
	if yyl4916 == 0 {
		if yyv4916 == nil {
			yyv4916 = []ComponentCondition{}
			yyc4916 = true
		} else if len(yyv4916) != 0 {
			yyv4916 = yyv4916[:0]
			yyc4916 = true
		}
	} else if yyl4916 > 0 {
		var yyrr4916, yyrl4916 int
		var yyrt4916 bool
		if yyl4916 > cap(yyv4916) {

			yyrg4916 := len(yyv4916) > 0
			yyv24916 := yyv4916
			yyrl4916, yyrt4916 = z.DecInferLen(yyl4916, z.DecBasicHandle().MaxInitLen, 64)
			if yyrt4916 {
				if yyrl4916 <= cap(yyv4916) {
					yyv4916 = yyv4916[:yyrl4916]
				} else {
					yyv4916 = make([]ComponentCondition, yyrl4916)
				}
			} else {
				yyv4916 = make([]ComponentCondition, yyrl4916)
			}
			yyc4916 = true
			yyrr4916 = len(yyv4916)
			if yyrg4916 {
				copy(yyv4916, yyv24916)
			}
		} else if yyl4916 != len(yyv4916) {
			yyv4916 = yyv4916[:yyl4916]
			yyc4916 = true
		}
		yyj4916 := 0
		for ; yyj4916 < yyrr4916; yyj4916++ {
			yyh4916.ElemContainerState(yyj4916)
			if r.TryDecodeAsNil() {
				yyv4916[yyj4916] = ComponentCondition{}
			} else {
				yyv4917 := &yyv4916[yyj4916]
				yyv4917.CodecDecodeSelf(d)
			}

		}
		if yyrt4916 {
			for ; yyj4916 < yyl4916; yyj4916++ {
				yyv4916 = append(yyv4916, ComponentCondition{})
				yyh4916.ElemContainerState(yyj4916)
				if r.TryDecodeAsNil() {
					yyv4916[yyj4916] = ComponentCondition{}
				} else {
					yyv4918 := &yyv4916[yyj4916]
					yyv4918.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4916 := 0
		for ; !r.CheckBreak(); yyj4916++ {

			if yyj4916 >= len(yyv4916) {
				yyv4916 = append(yyv4916, ComponentCondition{}) // var yyz4916 ComponentCondition
				yyc4916 = true
			}
			yyh4916.ElemContainerState(yyj4916)
			if yyj4916 < len(yyv4916) {
				if r.TryDecodeAsNil() {
					yyv4916[yyj4916] = ComponentCondition{}
				} else {
					yyv4919 := &yyv4916[yyj4916]
					yyv4919.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4916 < len(yyv4916) {
			yyv4916 = yyv4916[:yyj4916]
			yyc4916 = true
		} else if yyj4916 == 0 && yyv4916 == nil {
			yyv4916 = []ComponentCondition{}
			yyc4916 = true
		}
	}
	yyh4916.End()
	if yyc4916 {
		*v = yyv4916
	}
}

func (x codecSelfer1234) encSliceComponentStatus(v []ComponentStatus, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv4920 := range v {
		z.EncSendContainerState(codecSelfer_containerArrayElem1234)
		yy4921 := &yyv4920
		yy4921.CodecEncodeSelf(e)
	}
	z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}

func (x codecSelfer1234) decSliceComponentStatus(v *[]ComponentStatus, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv4922 := *v
	yyh4922, yyl4922 := z.DecSliceHelperStart()
	var yyc4922 bool
	if yyl4922 == 0 {
		if yyv4922 == nil {
			yyv4922 = []ComponentStatus{}
			yyc4922 = true
		} else if len(yyv4922) != 0 {
			yyv4922 = yyv4922[:0]
			yyc4922 = true
		}
	} else if yyl4922 > 0 {
		var yyrr4922, yyrl4922 int
		var yyrt4922 bool
		if yyl4922 > cap(yyv4922) {

			yyrg4922 := len(yyv4922) > 0
			yyv24922 := yyv4922
			yyrl4922, yyrt4922 = z.DecInferLen(yyl4922, z.DecBasicHandle().MaxInitLen, 280)
			if yyrt4922 {
				if yyrl4922 <= cap(yyv4922) {
					yyv4922 = yyv4922[:yyrl4922]
				} else {
					yyv4922 = make([]ComponentStatus, yyrl4922)
				}
			} else {
				yyv4922 = make([]ComponentStatus, yyrl4922)
			}
			yyc4922 = true
			yyrr4922 = len(yyv4922)
			if yyrg4922 {
				copy(yyv4922, yyv24922)
			}
		} else if yyl4922 != len(yyv4922) {
			yyv4922 = yyv4922[:yyl4922]
			yyc4922 = true
		}
		yyj4922 := 0
		for ; yyj4922 < yyrr4922; yyj4922++ {
			yyh4922.ElemContainerState(yyj4922)
			if r.TryDecodeAsNil() {
				yyv4922[yyj4922] = ComponentStatus{}
			} else {
				yyv4923 := &yyv4922[yyj4922]
				yyv4923.CodecDecodeSelf(d)
			}

		}
		if yyrt4922 {
			for ; yyj4922 < yyl4922; yyj4922++ {
				yyv4922 = append(yyv4922, ComponentStatus{})
				yyh4922.ElemContainerState(yyj4922)
				if r.TryDecodeAsNil() {
					yyv4922[yyj4922] = ComponentStatus{}
				} else {
					yyv4924 := &yyv4922[yyj4922]
					yyv4924.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		yyj4922 := 0
		for ; !r.CheckBreak(); yyj4922++ {

			if yyj4922 >= len(yyv4922) {
				yyv4922 = append(yyv4922, ComponentStatus{}) // var yyz4922 ComponentStatus
				yyc4922 = true
			}
			yyh4922.ElemContainerState(yyj4922)
			if yyj4922 < len(yyv4922) {
				if r.TryDecodeAsNil() {
					yyv4922[yyj4922] = ComponentStatus{}
				} else {
					yyv4925 := &yyv4922[yyj4922]
					yyv4925.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		if yyj4922 < len(yyv4922) {
			yyv4922 = yyv4922[:yyj4922]
			yyc4922 = true
		} else if yyj4922 == 0 && yyv4922 == nil {
			yyv4922 = []ComponentStatus{}
			yyc4922 = true
		}
	}
	yyh4922.End()
	if yyc4922 {
		*v = yyv4922
	}
}
