/*
Copyright 2015 The Kubernetes Authors All rights reserved.

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/kubernetes/pkg/api/resource"
	pkg2_unversioned "k8s.io/kubernetes/pkg/api/unversioned"
	pkg7_fields "k8s.io/kubernetes/pkg/fields"
	pkg6_labels "k8s.io/kubernetes/pkg/labels"
	pkg8_runtime "k8s.io/kubernetes/pkg/runtime"
	pkg1_types "k8s.io/kubernetes/pkg/types"
	pkg5_util "k8s.io/kubernetes/pkg/util"
	"reflect"
	"runtime"
	pkg4_inf "speter.net/go/exp/math/dec/inf"
	time "time"
)

const (
	codecSelferC_UTF81234         = 1
	codecSelferC_RAW1234          = 0
	codecSelferValueTypeArray1234 = 10
	codecSelferValueTypeMap1234   = 9
)

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 != 4 {
		_, file, _, _ := runtime.Caller(0)
		err := fmt.Errorf("codecgen version mismatch: current: %v, need %v. Re-generate file: %v",
			4, 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 pkg7_fields.Selector
		var v3 pkg6_labels.Selector
		var v4 pkg8_runtime.Object
		var v5 pkg1_types.UID
		var v6 pkg5_util.IntOrString
		var v7 pkg4_inf.Dec
		var v8 time.Time
		_, _, _, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6, v7, v8
	}
}

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 [12]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
			if yyr2 || yy2arr2 {
				r.EncodeArrayStart(12)
			} else {
				var yynn2 int = 0
				for _, b := range yyq2 {
					if b {
						yynn2++
					}
				}
				r.EncodeMapStart(yynn2)
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym5 := z.EncBinary()
					_ = yym5
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("generateName"))
					yym8 := z.EncBinary()
					_ = yym8
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.GenerateName))
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					yym11 := z.EncBinary()
					_ = yym11
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("selfLink"))
					yym14 := z.EncBinary()
					_ = yym14
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SelfLink))
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					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 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					yym20 := z.EncBinary()
					_ = yym20
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2 || yy2arr2 {
				if yyq2[6] {
					yym22 := z.EncBinary()
					_ = yym22
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2[6] {
					r.EncodeString(codecSelferC_UTF81234, string("generation"))
					yym23 := z.EncBinary()
					_ = yym23
					if false {
					} else {
						r.EncodeInt(int64(x.Generation))
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("creationTimestamp"))
					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 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("deletionTimestamp"))
					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 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("deletionGracePeriodSeconds"))
					if x.DeletionGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy35 := *x.DeletionGracePeriodSeconds
						yym36 := z.EncBinary()
						_ = yym36
						if false {
						} else {
							r.EncodeInt(int64(yy35))
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("labels"))
					if x.Labels == nil {
						r.EncodeNil()
					} else {
						yym39 := z.EncBinary()
						_ = yym39
						if false {
						} else {
							z.F.EncMapStringStringV(x.Labels, false, e)
						}
					}
				}
			}
			if yyr2 || yy2arr2 {
				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] {
					r.EncodeString(codecSelferC_UTF81234, string("annotations"))
					if x.Annotations == nil {
						r.EncodeNil()
					} else {
						yym42 := z.EncBinary()
						_ = yym42
						if false {
						} else {
							z.F.EncMapStringStringV(x.Annotations, false, e)
						}
					}
				}
			}
			if yysep2 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ObjectMeta) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym43 := z.DecBinary()
	_ = yym43
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl44 := r.ReadMapStart()
			if yyl44 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl44, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl44 := r.ReadArrayStart()
			if yyl44 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl44, 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 yys45Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys45Slc
	var yyhl45 bool = l >= 0
	for yyj45 := 0; ; yyj45++ {
		if yyhl45 {
			if yyj45 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys45Slc = r.DecodeBytes(yys45Slc, true, true)
		yys45 := string(yys45Slc)
		switch yys45 {
		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 {
				yyv53 := &x.CreationTimestamp
				yym54 := z.DecBinary()
				_ = yym54
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv53) {
				} else if yym54 {
					z.DecBinaryUnmarshal(yyv53)
				} else if !yym54 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv53)
				} else {
					z.DecFallback(yyv53, false)
				}
			}
		case "deletionTimestamp":
			if r.TryDecodeAsNil() {
				if x.DeletionTimestamp != nil {
					x.DeletionTimestamp = nil
				}
			} else {
				if x.DeletionTimestamp == nil {
					x.DeletionTimestamp = new(pkg2_unversioned.Time)
				}
				yym56 := z.DecBinary()
				_ = yym56
				if false {
				} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
				} else if yym56 {
					z.DecBinaryUnmarshal(x.DeletionTimestamp)
				} else if !yym56 && 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)
				}
				yym58 := z.DecBinary()
				_ = yym58
				if false {
				} else {
					*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		case "labels":
			if r.TryDecodeAsNil() {
				x.Labels = nil
			} else {
				yyv59 := &x.Labels
				yym60 := z.DecBinary()
				_ = yym60
				if false {
				} else {
					z.F.DecMapStringStringX(yyv59, false, d)
				}
			}
		case "annotations":
			if r.TryDecodeAsNil() {
				x.Annotations = nil
			} else {
				yyv61 := &x.Annotations
				yym62 := z.DecBinary()
				_ = yym62
				if false {
				} else {
					z.F.DecMapStringStringX(yyv61, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys45)
		} // end switch yys45
	} // end for yyj45
	if !yyhl45 {
		r.ReadEnd()
	}
}

func (x *ObjectMeta) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj63 int
	var yyb63 bool
	var yyhl63 bool = l >= 0
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.GenerateName = ""
	} else {
		x.GenerateName = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Namespace = ""
	} else {
		x.Namespace = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SelfLink = ""
	} else {
		x.SelfLink = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.UID = ""
	} else {
		x.UID = pkg1_types.UID(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Generation = 0
	} else {
		x.Generation = int64(r.DecodeInt(64))
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.CreationTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv71 := &x.CreationTimestamp
		yym72 := z.DecBinary()
		_ = yym72
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv71) {
		} else if yym72 {
			z.DecBinaryUnmarshal(yyv71)
		} else if !yym72 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv71)
		} else {
			z.DecFallback(yyv71, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DeletionTimestamp != nil {
			x.DeletionTimestamp = nil
		}
	} else {
		if x.DeletionTimestamp == nil {
			x.DeletionTimestamp = new(pkg2_unversioned.Time)
		}
		yym74 := z.DecBinary()
		_ = yym74
		if false {
		} else if z.HasExtensions() && z.DecExt(x.DeletionTimestamp) {
		} else if yym74 {
			z.DecBinaryUnmarshal(x.DeletionTimestamp)
		} else if !yym74 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.DeletionTimestamp)
		} else {
			z.DecFallback(x.DeletionTimestamp, false)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DeletionGracePeriodSeconds != nil {
			x.DeletionGracePeriodSeconds = nil
		}
	} else {
		if x.DeletionGracePeriodSeconds == nil {
			x.DeletionGracePeriodSeconds = new(int64)
		}
		yym76 := z.DecBinary()
		_ = yym76
		if false {
		} else {
			*((*int64)(x.DeletionGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Labels = nil
	} else {
		yyv77 := &x.Labels
		yym78 := z.DecBinary()
		_ = yym78
		if false {
		} else {
			z.F.DecMapStringStringX(yyv77, false, d)
		}
	}
	yyj63++
	if yyhl63 {
		yyb63 = yyj63 > l
	} else {
		yyb63 = r.CheckBreak()
	}
	if yyb63 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Annotations = nil
	} else {
		yyv79 := &x.Annotations
		yym80 := z.DecBinary()
		_ = yym80
		if false {
		} else {
			z.F.DecMapStringStringX(yyv79, false, d)
		}
	}
	for {
		yyj63++
		if yyhl63 {
			yyb63 = yyj63 > l
		} else {
			yyb63 = r.CheckBreak()
		}
		if yyb63 {
			break
		}
		z.DecStructFieldNotFound(yyj63-1, "")
	}
	r.ReadEnd()
}

func (x *Volume) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym81 := z.EncBinary()
		_ = yym81
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep82 := !z.EncBinary()
			yy2arr82 := z.EncBasicHandle().StructToArray
			var yyq82 [17]bool
			_, _, _ = yysep82, yyq82, yy2arr82
			const yyr82 bool = false
			yyq82[1] = x.VolumeSource.HostPath != nil && x.HostPath != nil
			yyq82[2] = x.VolumeSource.EmptyDir != nil && x.EmptyDir != nil
			yyq82[3] = x.VolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq82[4] = x.VolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq82[5] = x.VolumeSource.GitRepo != nil && x.GitRepo != nil
			yyq82[6] = x.VolumeSource.Secret != nil && x.Secret != nil
			yyq82[7] = x.VolumeSource.NFS != nil && x.NFS != nil
			yyq82[8] = x.VolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq82[9] = x.VolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq82[10] = x.VolumeSource.PersistentVolumeClaim != nil && x.PersistentVolumeClaim != nil
			yyq82[11] = x.VolumeSource.RBD != nil && x.RBD != nil
			yyq82[12] = x.VolumeSource.Cinder != nil && x.Cinder != nil
			yyq82[13] = x.VolumeSource.CephFS != nil && x.CephFS != nil
			yyq82[14] = x.VolumeSource.Flocker != nil && x.Flocker != nil
			yyq82[15] = x.VolumeSource.DownwardAPI != nil && x.DownwardAPI != nil
			yyq82[16] = x.VolumeSource.FC != nil && x.FC != nil
			if yyr82 || yy2arr82 {
				r.EncodeArrayStart(17)
			} else {
				var yynn82 int = 1
				for _, b := range yyq82 {
					if b {
						yynn82++
					}
				}
				r.EncodeMapStart(yynn82)
			}
			if yyr82 || yy2arr82 {
				yym84 := z.EncBinary()
				_ = yym84
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym85 := z.EncBinary()
				_ = yym85
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			var yyn86 bool
			if x.VolumeSource.HostPath == nil {
				yyn86 = true
				goto LABEL86
			}
		LABEL86:
			if yyr82 || yy2arr82 {
				if yyn86 {
					r.EncodeNil()
				} else {
					if yyq82[1] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if yyn86 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn87 bool
			if x.VolumeSource.EmptyDir == nil {
				yyn87 = true
				goto LABEL87
			}
		LABEL87:
			if yyr82 || yy2arr82 {
				if yyn87 {
					r.EncodeNil()
				} else {
					if yyq82[2] {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[2] {
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					if yyn87 {
						r.EncodeNil()
					} else {
						if x.EmptyDir == nil {
							r.EncodeNil()
						} else {
							x.EmptyDir.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn88 bool
			if x.VolumeSource.GCEPersistentDisk == nil {
				yyn88 = true
				goto LABEL88
			}
		LABEL88:
			if yyr82 || yy2arr82 {
				if yyn88 {
					r.EncodeNil()
				} else {
					if yyq82[3] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[3] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if yyn88 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn89 bool
			if x.VolumeSource.AWSElasticBlockStore == nil {
				yyn89 = true
				goto LABEL89
			}
		LABEL89:
			if yyr82 || yy2arr82 {
				if yyn89 {
					r.EncodeNil()
				} else {
					if yyq82[4] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[4] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if yyn89 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn90 bool
			if x.VolumeSource.GitRepo == nil {
				yyn90 = true
				goto LABEL90
			}
		LABEL90:
			if yyr82 || yy2arr82 {
				if yyn90 {
					r.EncodeNil()
				} else {
					if yyq82[5] {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[5] {
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					if yyn90 {
						r.EncodeNil()
					} else {
						if x.GitRepo == nil {
							r.EncodeNil()
						} else {
							x.GitRepo.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn91 bool
			if x.VolumeSource.Secret == nil {
				yyn91 = true
				goto LABEL91
			}
		LABEL91:
			if yyr82 || yy2arr82 {
				if yyn91 {
					r.EncodeNil()
				} else {
					if yyq82[6] {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[6] {
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					if yyn91 {
						r.EncodeNil()
					} else {
						if x.Secret == nil {
							r.EncodeNil()
						} else {
							x.Secret.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn92 bool
			if x.VolumeSource.NFS == nil {
				yyn92 = true
				goto LABEL92
			}
		LABEL92:
			if yyr82 || yy2arr82 {
				if yyn92 {
					r.EncodeNil()
				} else {
					if yyq82[7] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[7] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if yyn92 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn93 bool
			if x.VolumeSource.ISCSI == nil {
				yyn93 = true
				goto LABEL93
			}
		LABEL93:
			if yyr82 || yy2arr82 {
				if yyn93 {
					r.EncodeNil()
				} else {
					if yyq82[8] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[8] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if yyn93 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn94 bool
			if x.VolumeSource.Glusterfs == nil {
				yyn94 = true
				goto LABEL94
			}
		LABEL94:
			if yyr82 || yy2arr82 {
				if yyn94 {
					r.EncodeNil()
				} else {
					if yyq82[9] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[9] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if yyn94 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn95 bool
			if x.VolumeSource.PersistentVolumeClaim == nil {
				yyn95 = true
				goto LABEL95
			}
		LABEL95:
			if yyr82 || yy2arr82 {
				if yyn95 {
					r.EncodeNil()
				} else {
					if yyq82[10] {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[10] {
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					if yyn95 {
						r.EncodeNil()
					} else {
						if x.PersistentVolumeClaim == nil {
							r.EncodeNil()
						} else {
							x.PersistentVolumeClaim.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn96 bool
			if x.VolumeSource.RBD == nil {
				yyn96 = true
				goto LABEL96
			}
		LABEL96:
			if yyr82 || yy2arr82 {
				if yyn96 {
					r.EncodeNil()
				} else {
					if yyq82[11] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[11] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if yyn96 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn97 bool
			if x.VolumeSource.Cinder == nil {
				yyn97 = true
				goto LABEL97
			}
		LABEL97:
			if yyr82 || yy2arr82 {
				if yyn97 {
					r.EncodeNil()
				} else {
					if yyq82[12] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[12] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if yyn97 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn98 bool
			if x.VolumeSource.CephFS == nil {
				yyn98 = true
				goto LABEL98
			}
		LABEL98:
			if yyr82 || yy2arr82 {
				if yyn98 {
					r.EncodeNil()
				} else {
					if yyq82[13] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[13] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if yyn98 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn99 bool
			if x.VolumeSource.Flocker == nil {
				yyn99 = true
				goto LABEL99
			}
		LABEL99:
			if yyr82 || yy2arr82 {
				if yyn99 {
					r.EncodeNil()
				} else {
					if yyq82[14] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[14] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if yyn99 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn100 bool
			if x.VolumeSource.DownwardAPI == nil {
				yyn100 = true
				goto LABEL100
			}
		LABEL100:
			if yyr82 || yy2arr82 {
				if yyn100 {
					r.EncodeNil()
				} else {
					if yyq82[15] {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[15] {
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					if yyn100 {
						r.EncodeNil()
					} else {
						if x.DownwardAPI == nil {
							r.EncodeNil()
						} else {
							x.DownwardAPI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn101 bool
			if x.VolumeSource.FC == nil {
				yyn101 = true
				goto LABEL101
			}
		LABEL101:
			if yyr82 || yy2arr82 {
				if yyn101 {
					r.EncodeNil()
				} else {
					if yyq82[16] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq82[16] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if yyn101 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yysep82 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Volume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym102 := z.DecBinary()
	_ = yym102
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl103 := r.ReadMapStart()
			if yyl103 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl103, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl103 := r.ReadArrayStart()
			if yyl103 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl103, 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 yys104Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys104Slc
	var yyhl104 bool = l >= 0
	for yyj104 := 0; ; yyj104++ {
		if yyhl104 {
			if yyj104 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys104Slc = r.DecodeBytes(yys104Slc, true, true)
		yys104 := string(yys104Slc)
		switch yys104 {
		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 "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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys104)
		} // end switch yys104
	} // end for yyj104
	if !yyhl104 {
		r.ReadEnd()
	}
}

func (x *Volume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj122 int
	var yyb122 bool
	var yyhl122 bool = l >= 0
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj122++
	if yyhl122 {
		yyb122 = yyj122 > l
	} else {
		yyb122 = r.CheckBreak()
	}
	if yyb122 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	for {
		yyj122++
		if yyhl122 {
			yyb122 = yyj122 > l
		} else {
			yyb122 = r.CheckBreak()
		}
		if yyb122 {
			break
		}
		z.DecStructFieldNotFound(yyj122-1, "")
	}
	r.ReadEnd()
}

func (x *VolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym140 := z.EncBinary()
		_ = yym140
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep141 := !z.EncBinary()
			yy2arr141 := z.EncBasicHandle().StructToArray
			var yyq141 [16]bool
			_, _, _ = yysep141, yyq141, yy2arr141
			const yyr141 bool = false
			yyq141[0] = x.HostPath != nil
			yyq141[1] = x.EmptyDir != nil
			yyq141[2] = x.GCEPersistentDisk != nil
			yyq141[3] = x.AWSElasticBlockStore != nil
			yyq141[4] = x.GitRepo != nil
			yyq141[5] = x.Secret != nil
			yyq141[6] = x.NFS != nil
			yyq141[7] = x.ISCSI != nil
			yyq141[8] = x.Glusterfs != nil
			yyq141[9] = x.PersistentVolumeClaim != nil
			yyq141[10] = x.RBD != nil
			yyq141[11] = x.Cinder != nil
			yyq141[12] = x.CephFS != nil
			yyq141[13] = x.Flocker != nil
			yyq141[14] = x.DownwardAPI != nil
			yyq141[15] = x.FC != nil
			if yyr141 || yy2arr141 {
				r.EncodeArrayStart(16)
			} else {
				var yynn141 int = 0
				for _, b := range yyq141 {
					if b {
						yynn141++
					}
				}
				r.EncodeMapStart(yynn141)
			}
			if yyr141 || yy2arr141 {
				if yyq141[0] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[1] {
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[1] {
					r.EncodeString(codecSelferC_UTF81234, string("emptyDir"))
					if x.EmptyDir == nil {
						r.EncodeNil()
					} else {
						x.EmptyDir.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[2] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[2] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[3] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[3] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[4] {
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[4] {
					r.EncodeString(codecSelferC_UTF81234, string("gitRepo"))
					if x.GitRepo == nil {
						r.EncodeNil()
					} else {
						x.GitRepo.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[5] {
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[5] {
					r.EncodeString(codecSelferC_UTF81234, string("secret"))
					if x.Secret == nil {
						r.EncodeNil()
					} else {
						x.Secret.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[6] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[6] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[7] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[7] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[8] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[8] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[9] {
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[9] {
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeClaim"))
					if x.PersistentVolumeClaim == nil {
						r.EncodeNil()
					} else {
						x.PersistentVolumeClaim.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[10] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[10] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[11] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[11] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[12] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[12] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[13] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[13] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[14] {
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[14] {
					r.EncodeString(codecSelferC_UTF81234, string("downwardAPI"))
					if x.DownwardAPI == nil {
						r.EncodeNil()
					} else {
						x.DownwardAPI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr141 || yy2arr141 {
				if yyq141[15] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq141[15] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yysep141 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *VolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym158 := z.DecBinary()
	_ = yym158
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl159 := r.ReadMapStart()
			if yyl159 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl159, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl159 := r.ReadArrayStart()
			if yyl159 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl159, 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 yys160Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys160Slc
	var yyhl160 bool = l >= 0
	for yyj160 := 0; ; yyj160++ {
		if yyhl160 {
			if yyj160 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys160Slc = r.DecodeBytes(yys160Slc, true, true)
		yys160 := string(yys160Slc)
		switch yys160 {
		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 "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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys160)
		} // end switch yys160
	} // end for yyj160
	if !yyhl160 {
		r.ReadEnd()
	}
}

func (x *VolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj177 int
	var yyb177 bool
	var yyhl177 bool = l >= 0
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.EmptyDir != nil {
			x.EmptyDir = nil
		}
	} else {
		if x.EmptyDir == nil {
			x.EmptyDir = new(EmptyDirVolumeSource)
		}
		x.EmptyDir.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GitRepo != nil {
			x.GitRepo = nil
		}
	} else {
		if x.GitRepo == nil {
			x.GitRepo = new(GitRepoVolumeSource)
		}
		x.GitRepo.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Secret != nil {
			x.Secret = nil
		}
	} else {
		if x.Secret == nil {
			x.Secret = new(SecretVolumeSource)
		}
		x.Secret.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.PersistentVolumeClaim != nil {
			x.PersistentVolumeClaim = nil
		}
	} else {
		if x.PersistentVolumeClaim == nil {
			x.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource)
		}
		x.PersistentVolumeClaim.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.DownwardAPI != nil {
			x.DownwardAPI = nil
		}
	} else {
		if x.DownwardAPI == nil {
			x.DownwardAPI = new(DownwardAPIVolumeSource)
		}
		x.DownwardAPI.CodecDecodeSelf(d)
	}
	yyj177++
	if yyhl177 {
		yyb177 = yyj177 > l
	} else {
		yyb177 = r.CheckBreak()
	}
	if yyb177 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	for {
		yyj177++
		if yyhl177 {
			yyb177 = yyj177 > l
		} else {
			yyb177 = r.CheckBreak()
		}
		if yyb177 {
			break
		}
		z.DecStructFieldNotFound(yyj177-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym194 := z.EncBinary()
		_ = yym194
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep195 := !z.EncBinary()
			yy2arr195 := z.EncBasicHandle().StructToArray
			var yyq195 [11]bool
			_, _, _ = yysep195, yyq195, yy2arr195
			const yyr195 bool = false
			yyq195[0] = x.GCEPersistentDisk != nil
			yyq195[1] = x.AWSElasticBlockStore != nil
			yyq195[2] = x.HostPath != nil
			yyq195[3] = x.Glusterfs != nil
			yyq195[4] = x.NFS != nil
			yyq195[5] = x.RBD != nil
			yyq195[6] = x.ISCSI != nil
			yyq195[7] = x.Cinder != nil
			yyq195[8] = x.CephFS != nil
			yyq195[9] = x.FC != nil
			yyq195[10] = x.Flocker != nil
			if yyr195 || yy2arr195 {
				r.EncodeArrayStart(11)
			} else {
				var yynn195 int = 0
				for _, b := range yyq195 {
					if b {
						yynn195++
					}
				}
				r.EncodeMapStart(yynn195)
			}
			if yyr195 || yy2arr195 {
				if yyq195[0] {
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[0] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if x.GCEPersistentDisk == nil {
						r.EncodeNil()
					} else {
						x.GCEPersistentDisk.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[1] {
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[1] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if x.AWSElasticBlockStore == nil {
						r.EncodeNil()
					} else {
						x.AWSElasticBlockStore.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[2] {
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[2] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if x.HostPath == nil {
						r.EncodeNil()
					} else {
						x.HostPath.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[3] {
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[3] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if x.Glusterfs == nil {
						r.EncodeNil()
					} else {
						x.Glusterfs.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[4] {
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[4] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if x.NFS == nil {
						r.EncodeNil()
					} else {
						x.NFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[5] {
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[5] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if x.RBD == nil {
						r.EncodeNil()
					} else {
						x.RBD.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[6] {
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[6] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if x.ISCSI == nil {
						r.EncodeNil()
					} else {
						x.ISCSI.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[7] {
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[7] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if x.Cinder == nil {
						r.EncodeNil()
					} else {
						x.Cinder.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[8] {
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[8] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if x.CephFS == nil {
						r.EncodeNil()
					} else {
						x.CephFS.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[9] {
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[9] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if x.FC == nil {
						r.EncodeNil()
					} else {
						x.FC.CodecEncodeSelf(e)
					}
				}
			}
			if yyr195 || yy2arr195 {
				if yyq195[10] {
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq195[10] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if x.Flocker == nil {
						r.EncodeNil()
					} else {
						x.Flocker.CodecEncodeSelf(e)
					}
				}
			}
			if yysep195 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym207 := z.DecBinary()
	_ = yym207
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl208 := r.ReadMapStart()
			if yyl208 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl208, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl208 := r.ReadArrayStart()
			if yyl208 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl208, 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 yys209Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys209Slc
	var yyhl209 bool = l >= 0
	for yyj209 := 0; ; yyj209++ {
		if yyhl209 {
			if yyj209 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys209Slc = r.DecodeBytes(yys209Slc, true, true)
		yys209 := string(yys209Slc)
		switch yys209 {
		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 "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 "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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys209)
		} // end switch yys209
	} // end for yyj209
	if !yyhl209 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj221 int
	var yyb221 bool
	var yyhl221 bool = l >= 0
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj221++
	if yyhl221 {
		yyb221 = yyj221 > l
	} else {
		yyb221 = r.CheckBreak()
	}
	if yyb221 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	for {
		yyj221++
		if yyhl221 {
			yyb221 = yyj221 > l
		} else {
			yyb221 = r.CheckBreak()
		}
		if yyb221 {
			break
		}
		z.DecStructFieldNotFound(yyj221-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym233 := z.EncBinary()
		_ = yym233
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep234 := !z.EncBinary()
			yy2arr234 := z.EncBasicHandle().StructToArray
			var yyq234 [2]bool
			_, _, _ = yysep234, yyq234, yy2arr234
			const yyr234 bool = false
			yyq234[1] = x.ReadOnly != false
			if yyr234 || yy2arr234 {
				r.EncodeArrayStart(2)
			} else {
				var yynn234 int = 1
				for _, b := range yyq234 {
					if b {
						yynn234++
					}
				}
				r.EncodeMapStart(yynn234)
			}
			if yyr234 || yy2arr234 {
				yym236 := z.EncBinary()
				_ = yym236
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("claimName"))
				yym237 := z.EncBinary()
				_ = yym237
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ClaimName))
				}
			}
			if yyr234 || yy2arr234 {
				if yyq234[1] {
					yym239 := z.EncBinary()
					_ = yym239
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq234[1] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym240 := z.EncBinary()
					_ = yym240
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep234 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym241 := z.DecBinary()
	_ = yym241
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl242 := r.ReadMapStart()
			if yyl242 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl242, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl242 := r.ReadArrayStart()
			if yyl242 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl242, 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 yys243Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys243Slc
	var yyhl243 bool = l >= 0
	for yyj243 := 0; ; yyj243++ {
		if yyhl243 {
			if yyj243 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys243Slc = r.DecodeBytes(yys243Slc, true, true)
		yys243 := string(yys243Slc)
		switch yys243 {
		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, yys243)
		} // end switch yys243
	} // end for yyj243
	if !yyhl243 {
		r.ReadEnd()
	}
}

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

func (x *PersistentVolume) 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 [5]bool
			_, _, _ = yysep250, yyq250, yy2arr250
			const yyr250 bool = false
			yyq250[0] = x.Kind != ""
			yyq250[1] = x.APIVersion != ""
			yyq250[2] = true
			yyq250[3] = true
			yyq250[4] = true
			if yyr250 || yy2arr250 {
				r.EncodeArrayStart(5)
			} else {
				var yynn250 int = 0
				for _, b := range yyq250 {
					if b {
						yynn250++
					}
				}
				r.EncodeMapStart(yynn250)
			}
			if yyr250 || yy2arr250 {
				if yyq250[0] {
					yym252 := z.EncBinary()
					_ = yym252
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq250[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym253 := z.EncBinary()
					_ = yym253
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[1] {
					yym255 := z.EncBinary()
					_ = yym255
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq250[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym256 := z.EncBinary()
					_ = yym256
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[2] {
					yy258 := &x.ObjectMeta
					yy258.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy259 := &x.ObjectMeta
					yy259.CodecEncodeSelf(e)
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[3] {
					yy261 := &x.Spec
					yy261.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy262 := &x.Spec
					yy262.CodecEncodeSelf(e)
				}
			}
			if yyr250 || yy2arr250 {
				if yyq250[4] {
					yy264 := &x.Status
					yy264.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq250[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy265 := &x.Status
					yy265.CodecEncodeSelf(e)
				}
			}
			if yysep250 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolume) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym266 := z.DecBinary()
	_ = yym266
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl267 := r.ReadMapStart()
			if yyl267 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl267, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl267 := r.ReadArrayStart()
			if yyl267 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl267, 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 yys268Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys268Slc
	var yyhl268 bool = l >= 0
	for yyj268 := 0; ; yyj268++ {
		if yyhl268 {
			if yyj268 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys268Slc = r.DecodeBytes(yys268Slc, true, true)
		yys268 := string(yys268Slc)
		switch yys268 {
		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 {
				yyv271 := &x.ObjectMeta
				yyv271.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeSpec{}
			} else {
				yyv272 := &x.Spec
				yyv272.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeStatus{}
			} else {
				yyv273 := &x.Status
				yyv273.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys268)
		} // end switch yys268
	} // end for yyj268
	if !yyhl268 {
		r.ReadEnd()
	}
}

func (x *PersistentVolume) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj274 int
	var yyb274 bool
	var yyhl274 bool = l >= 0
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv277 := &x.ObjectMeta
		yyv277.CodecDecodeSelf(d)
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeSpec{}
	} else {
		yyv278 := &x.Spec
		yyv278.CodecDecodeSelf(d)
	}
	yyj274++
	if yyhl274 {
		yyb274 = yyj274 > l
	} else {
		yyb274 = r.CheckBreak()
	}
	if yyb274 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeStatus{}
	} else {
		yyv279 := &x.Status
		yyv279.CodecDecodeSelf(d)
	}
	for {
		yyj274++
		if yyhl274 {
			yyb274 = yyj274 > l
		} else {
			yyb274 = r.CheckBreak()
		}
		if yyb274 {
			break
		}
		z.DecStructFieldNotFound(yyj274-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym280 := z.EncBinary()
		_ = yym280
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep281 := !z.EncBinary()
			yy2arr281 := z.EncBasicHandle().StructToArray
			var yyq281 [15]bool
			_, _, _ = yysep281, yyq281, yy2arr281
			const yyr281 bool = false
			yyq281[1] = x.PersistentVolumeSource.GCEPersistentDisk != nil && x.GCEPersistentDisk != nil
			yyq281[2] = x.PersistentVolumeSource.AWSElasticBlockStore != nil && x.AWSElasticBlockStore != nil
			yyq281[3] = x.PersistentVolumeSource.HostPath != nil && x.HostPath != nil
			yyq281[4] = x.PersistentVolumeSource.Glusterfs != nil && x.Glusterfs != nil
			yyq281[5] = x.PersistentVolumeSource.NFS != nil && x.NFS != nil
			yyq281[6] = x.PersistentVolumeSource.RBD != nil && x.RBD != nil
			yyq281[7] = x.PersistentVolumeSource.ISCSI != nil && x.ISCSI != nil
			yyq281[8] = x.PersistentVolumeSource.Cinder != nil && x.Cinder != nil
			yyq281[9] = x.PersistentVolumeSource.CephFS != nil && x.CephFS != nil
			yyq281[10] = x.PersistentVolumeSource.FC != nil && x.FC != nil
			yyq281[11] = x.PersistentVolumeSource.Flocker != nil && x.Flocker != nil
			yyq281[12] = len(x.AccessModes) != 0
			yyq281[13] = x.ClaimRef != nil
			yyq281[14] = x.PersistentVolumeReclaimPolicy != ""
			if yyr281 || yy2arr281 {
				r.EncodeArrayStart(15)
			} else {
				var yynn281 int = 1
				for _, b := range yyq281 {
					if b {
						yynn281++
					}
				}
				r.EncodeMapStart(yynn281)
			}
			if yyr281 || yy2arr281 {
				if x.Capacity == nil {
					r.EncodeNil()
				} else {
					x.Capacity.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("capacity"))
				if x.Capacity == nil {
					r.EncodeNil()
				} else {
					x.Capacity.CodecEncodeSelf(e)
				}
			}
			var yyn283 bool
			if x.PersistentVolumeSource.GCEPersistentDisk == nil {
				yyn283 = true
				goto LABEL283
			}
		LABEL283:
			if yyr281 || yy2arr281 {
				if yyn283 {
					r.EncodeNil()
				} else {
					if yyq281[1] {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[1] {
					r.EncodeString(codecSelferC_UTF81234, string("gcePersistentDisk"))
					if yyn283 {
						r.EncodeNil()
					} else {
						if x.GCEPersistentDisk == nil {
							r.EncodeNil()
						} else {
							x.GCEPersistentDisk.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn284 bool
			if x.PersistentVolumeSource.AWSElasticBlockStore == nil {
				yyn284 = true
				goto LABEL284
			}
		LABEL284:
			if yyr281 || yy2arr281 {
				if yyn284 {
					r.EncodeNil()
				} else {
					if yyq281[2] {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[2] {
					r.EncodeString(codecSelferC_UTF81234, string("awsElasticBlockStore"))
					if yyn284 {
						r.EncodeNil()
					} else {
						if x.AWSElasticBlockStore == nil {
							r.EncodeNil()
						} else {
							x.AWSElasticBlockStore.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn285 bool
			if x.PersistentVolumeSource.HostPath == nil {
				yyn285 = true
				goto LABEL285
			}
		LABEL285:
			if yyr281 || yy2arr281 {
				if yyn285 {
					r.EncodeNil()
				} else {
					if yyq281[3] {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[3] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPath"))
					if yyn285 {
						r.EncodeNil()
					} else {
						if x.HostPath == nil {
							r.EncodeNil()
						} else {
							x.HostPath.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn286 bool
			if x.PersistentVolumeSource.Glusterfs == nil {
				yyn286 = true
				goto LABEL286
			}
		LABEL286:
			if yyr281 || yy2arr281 {
				if yyn286 {
					r.EncodeNil()
				} else {
					if yyq281[4] {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[4] {
					r.EncodeString(codecSelferC_UTF81234, string("glusterfs"))
					if yyn286 {
						r.EncodeNil()
					} else {
						if x.Glusterfs == nil {
							r.EncodeNil()
						} else {
							x.Glusterfs.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn287 bool
			if x.PersistentVolumeSource.NFS == nil {
				yyn287 = true
				goto LABEL287
			}
		LABEL287:
			if yyr281 || yy2arr281 {
				if yyn287 {
					r.EncodeNil()
				} else {
					if yyq281[5] {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[5] {
					r.EncodeString(codecSelferC_UTF81234, string("nfs"))
					if yyn287 {
						r.EncodeNil()
					} else {
						if x.NFS == nil {
							r.EncodeNil()
						} else {
							x.NFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn288 bool
			if x.PersistentVolumeSource.RBD == nil {
				yyn288 = true
				goto LABEL288
			}
		LABEL288:
			if yyr281 || yy2arr281 {
				if yyn288 {
					r.EncodeNil()
				} else {
					if yyq281[6] {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[6] {
					r.EncodeString(codecSelferC_UTF81234, string("rbd"))
					if yyn288 {
						r.EncodeNil()
					} else {
						if x.RBD == nil {
							r.EncodeNil()
						} else {
							x.RBD.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn289 bool
			if x.PersistentVolumeSource.ISCSI == nil {
				yyn289 = true
				goto LABEL289
			}
		LABEL289:
			if yyr281 || yy2arr281 {
				if yyn289 {
					r.EncodeNil()
				} else {
					if yyq281[7] {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[7] {
					r.EncodeString(codecSelferC_UTF81234, string("iscsi"))
					if yyn289 {
						r.EncodeNil()
					} else {
						if x.ISCSI == nil {
							r.EncodeNil()
						} else {
							x.ISCSI.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn290 bool
			if x.PersistentVolumeSource.Cinder == nil {
				yyn290 = true
				goto LABEL290
			}
		LABEL290:
			if yyr281 || yy2arr281 {
				if yyn290 {
					r.EncodeNil()
				} else {
					if yyq281[8] {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[8] {
					r.EncodeString(codecSelferC_UTF81234, string("cinder"))
					if yyn290 {
						r.EncodeNil()
					} else {
						if x.Cinder == nil {
							r.EncodeNil()
						} else {
							x.Cinder.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn291 bool
			if x.PersistentVolumeSource.CephFS == nil {
				yyn291 = true
				goto LABEL291
			}
		LABEL291:
			if yyr281 || yy2arr281 {
				if yyn291 {
					r.EncodeNil()
				} else {
					if yyq281[9] {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[9] {
					r.EncodeString(codecSelferC_UTF81234, string("cephfs"))
					if yyn291 {
						r.EncodeNil()
					} else {
						if x.CephFS == nil {
							r.EncodeNil()
						} else {
							x.CephFS.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn292 bool
			if x.PersistentVolumeSource.FC == nil {
				yyn292 = true
				goto LABEL292
			}
		LABEL292:
			if yyr281 || yy2arr281 {
				if yyn292 {
					r.EncodeNil()
				} else {
					if yyq281[10] {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[10] {
					r.EncodeString(codecSelferC_UTF81234, string("fc"))
					if yyn292 {
						r.EncodeNil()
					} else {
						if x.FC == nil {
							r.EncodeNil()
						} else {
							x.FC.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn293 bool
			if x.PersistentVolumeSource.Flocker == nil {
				yyn293 = true
				goto LABEL293
			}
		LABEL293:
			if yyr281 || yy2arr281 {
				if yyn293 {
					r.EncodeNil()
				} else {
					if yyq281[11] {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq281[11] {
					r.EncodeString(codecSelferC_UTF81234, string("flocker"))
					if yyn293 {
						r.EncodeNil()
					} else {
						if x.Flocker == nil {
							r.EncodeNil()
						} else {
							x.Flocker.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr281 || yy2arr281 {
				if yyq281[12] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym295 := z.EncBinary()
						_ = yym295
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq281[12] {
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym296 := z.EncBinary()
						_ = yym296
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr281 || yy2arr281 {
				if yyq281[13] {
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq281[13] {
					r.EncodeString(codecSelferC_UTF81234, string("claimRef"))
					if x.ClaimRef == nil {
						r.EncodeNil()
					} else {
						x.ClaimRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr281 || yy2arr281 {
				if yyq281[14] {
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq281[14] {
					r.EncodeString(codecSelferC_UTF81234, string("persistentVolumeReclaimPolicy"))
					x.PersistentVolumeReclaimPolicy.CodecEncodeSelf(e)
				}
			}
			if yysep281 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym299 := z.DecBinary()
	_ = yym299
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl300 := r.ReadMapStart()
			if yyl300 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl300, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl300 := r.ReadArrayStart()
			if yyl300 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl300, 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 yys301Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys301Slc
	var yyhl301 bool = l >= 0
	for yyj301 := 0; ; yyj301++ {
		if yyhl301 {
			if yyj301 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys301Slc = r.DecodeBytes(yys301Slc, true, true)
		yys301 := string(yys301Slc)
		switch yys301 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv302 := &x.Capacity
				yyv302.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 "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 "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 "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv314 := &x.AccessModes
				yym315 := z.DecBinary()
				_ = yym315
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv314), 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, yys301)
		} // end switch yys301
	} // end for yyj301
	if !yyhl301 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj318 int
	var yyb318 bool
	var yyhl318 bool = l >= 0
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv319 := &x.Capacity
		yyv319.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GCEPersistentDisk != nil {
			x.GCEPersistentDisk = nil
		}
	} else {
		if x.GCEPersistentDisk == nil {
			x.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource)
		}
		x.GCEPersistentDisk.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.AWSElasticBlockStore != nil {
			x.AWSElasticBlockStore = nil
		}
	} else {
		if x.AWSElasticBlockStore == nil {
			x.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource)
		}
		x.AWSElasticBlockStore.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HostPath != nil {
			x.HostPath = nil
		}
	} else {
		if x.HostPath == nil {
			x.HostPath = new(HostPathVolumeSource)
		}
		x.HostPath.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Glusterfs != nil {
			x.Glusterfs = nil
		}
	} else {
		if x.Glusterfs == nil {
			x.Glusterfs = new(GlusterfsVolumeSource)
		}
		x.Glusterfs.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.NFS != nil {
			x.NFS = nil
		}
	} else {
		if x.NFS == nil {
			x.NFS = new(NFSVolumeSource)
		}
		x.NFS.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RBD != nil {
			x.RBD = nil
		}
	} else {
		if x.RBD == nil {
			x.RBD = new(RBDVolumeSource)
		}
		x.RBD.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ISCSI != nil {
			x.ISCSI = nil
		}
	} else {
		if x.ISCSI == nil {
			x.ISCSI = new(ISCSIVolumeSource)
		}
		x.ISCSI.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Cinder != nil {
			x.Cinder = nil
		}
	} else {
		if x.Cinder == nil {
			x.Cinder = new(CinderVolumeSource)
		}
		x.Cinder.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.CephFS != nil {
			x.CephFS = nil
		}
	} else {
		if x.CephFS == nil {
			x.CephFS = new(CephFSVolumeSource)
		}
		x.CephFS.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FC != nil {
			x.FC = nil
		}
	} else {
		if x.FC == nil {
			x.FC = new(FCVolumeSource)
		}
		x.FC.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Flocker != nil {
			x.Flocker = nil
		}
	} else {
		if x.Flocker == nil {
			x.Flocker = new(FlockerVolumeSource)
		}
		x.Flocker.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv331 := &x.AccessModes
		yym332 := z.DecBinary()
		_ = yym332
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv331), d)
		}
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ClaimRef != nil {
			x.ClaimRef = nil
		}
	} else {
		if x.ClaimRef == nil {
			x.ClaimRef = new(ObjectReference)
		}
		x.ClaimRef.CodecDecodeSelf(d)
	}
	yyj318++
	if yyhl318 {
		yyb318 = yyj318 > l
	} else {
		yyb318 = r.CheckBreak()
	}
	if yyb318 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PersistentVolumeReclaimPolicy = ""
	} else {
		x.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(r.DecodeString())
	}
	for {
		yyj318++
		if yyhl318 {
			yyb318 = yyj318 > l
		} else {
			yyb318 = r.CheckBreak()
		}
		if yyb318 {
			break
		}
		z.DecStructFieldNotFound(yyj318-1, "")
	}
	r.ReadEnd()
}

func (x PersistentVolumeReclaimPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym335 := z.EncBinary()
	_ = yym335
	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
	yym336 := z.DecBinary()
	_ = yym336
	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 {
		yym337 := z.EncBinary()
		_ = yym337
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep338 := !z.EncBinary()
			yy2arr338 := z.EncBasicHandle().StructToArray
			var yyq338 [3]bool
			_, _, _ = yysep338, yyq338, yy2arr338
			const yyr338 bool = false
			yyq338[0] = x.Phase != ""
			yyq338[1] = x.Message != ""
			yyq338[2] = x.Reason != ""
			if yyr338 || yy2arr338 {
				r.EncodeArrayStart(3)
			} else {
				var yynn338 int = 0
				for _, b := range yyq338 {
					if b {
						yynn338++
					}
				}
				r.EncodeMapStart(yynn338)
			}
			if yyr338 || yy2arr338 {
				if yyq338[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq338[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr338 || yy2arr338 {
				if yyq338[1] {
					yym341 := z.EncBinary()
					_ = yym341
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq338[1] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym342 := z.EncBinary()
					_ = yym342
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr338 || yy2arr338 {
				if yyq338[2] {
					yym344 := z.EncBinary()
					_ = yym344
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq338[2] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym345 := z.EncBinary()
					_ = yym345
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yysep338 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym346 := z.DecBinary()
	_ = yym346
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl347 := r.ReadMapStart()
			if yyl347 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl347, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl347 := r.ReadArrayStart()
			if yyl347 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl347, 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 yys348Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys348Slc
	var yyhl348 bool = l >= 0
	for yyj348 := 0; ; yyj348++ {
		if yyhl348 {
			if yyj348 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys348Slc = r.DecodeBytes(yys348Slc, true, true)
		yys348 := string(yys348Slc)
		switch yys348 {
		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, yys348)
		} // end switch yys348
	} // end for yyj348
	if !yyhl348 {
		r.ReadEnd()
	}
}

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

func (x *PersistentVolumeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym356 := z.EncBinary()
		_ = yym356
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep357 := !z.EncBinary()
			yy2arr357 := z.EncBasicHandle().StructToArray
			var yyq357 [4]bool
			_, _, _ = yysep357, yyq357, yy2arr357
			const yyr357 bool = false
			yyq357[0] = x.Kind != ""
			yyq357[1] = x.APIVersion != ""
			yyq357[2] = true
			if yyr357 || yy2arr357 {
				r.EncodeArrayStart(4)
			} else {
				var yynn357 int = 1
				for _, b := range yyq357 {
					if b {
						yynn357++
					}
				}
				r.EncodeMapStart(yynn357)
			}
			if yyr357 || yy2arr357 {
				if yyq357[0] {
					yym359 := z.EncBinary()
					_ = yym359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq357[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym360 := z.EncBinary()
					_ = yym360
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr357 || yy2arr357 {
				if yyq357[1] {
					yym362 := z.EncBinary()
					_ = yym362
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq357[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym363 := z.EncBinary()
					_ = yym363
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr357 || yy2arr357 {
				if yyq357[2] {
					yy365 := &x.ListMeta
					yym366 := z.EncBinary()
					_ = yym366
					if false {
					} else if z.HasExtensions() && z.EncExt(yy365) {
					} else {
						z.EncFallback(yy365)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq357[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy367 := &x.ListMeta
					yym368 := z.EncBinary()
					_ = yym368
					if false {
					} else if z.HasExtensions() && z.EncExt(yy367) {
					} else {
						z.EncFallback(yy367)
					}
				}
			}
			if yyr357 || yy2arr357 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym370 := z.EncBinary()
					_ = yym370
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym371 := z.EncBinary()
					_ = yym371
					if false {
					} else {
						h.encSlicePersistentVolume(([]PersistentVolume)(x.Items), e)
					}
				}
			}
			if yysep357 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym372 := z.DecBinary()
	_ = yym372
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl373 := r.ReadMapStart()
			if yyl373 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl373, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl373 := r.ReadArrayStart()
			if yyl373 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl373, 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 yys374Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys374Slc
	var yyhl374 bool = l >= 0
	for yyj374 := 0; ; yyj374++ {
		if yyhl374 {
			if yyj374 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys374Slc = r.DecodeBytes(yys374Slc, true, true)
		yys374 := string(yys374Slc)
		switch yys374 {
		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 {
				yyv377 := &x.ListMeta
				yym378 := z.DecBinary()
				_ = yym378
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv377) {
				} else {
					z.DecFallback(yyv377, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv379 := &x.Items
				yym380 := z.DecBinary()
				_ = yym380
				if false {
				} else {
					h.decSlicePersistentVolume((*[]PersistentVolume)(yyv379), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys374)
		} // end switch yys374
	} // end for yyj374
	if !yyhl374 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj381 int
	var yyb381 bool
	var yyhl381 bool = l >= 0
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv384 := &x.ListMeta
		yym385 := z.DecBinary()
		_ = yym385
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv384) {
		} else {
			z.DecFallback(yyv384, false)
		}
	}
	yyj381++
	if yyhl381 {
		yyb381 = yyj381 > l
	} else {
		yyb381 = r.CheckBreak()
	}
	if yyb381 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv386 := &x.Items
		yym387 := z.DecBinary()
		_ = yym387
		if false {
		} else {
			h.decSlicePersistentVolume((*[]PersistentVolume)(yyv386), d)
		}
	}
	for {
		yyj381++
		if yyhl381 {
			yyb381 = yyj381 > l
		} else {
			yyb381 = r.CheckBreak()
		}
		if yyb381 {
			break
		}
		z.DecStructFieldNotFound(yyj381-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaim) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym388 := z.EncBinary()
		_ = yym388
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep389 := !z.EncBinary()
			yy2arr389 := z.EncBasicHandle().StructToArray
			var yyq389 [5]bool
			_, _, _ = yysep389, yyq389, yy2arr389
			const yyr389 bool = false
			yyq389[0] = x.Kind != ""
			yyq389[1] = x.APIVersion != ""
			yyq389[2] = true
			yyq389[3] = true
			yyq389[4] = true
			if yyr389 || yy2arr389 {
				r.EncodeArrayStart(5)
			} else {
				var yynn389 int = 0
				for _, b := range yyq389 {
					if b {
						yynn389++
					}
				}
				r.EncodeMapStart(yynn389)
			}
			if yyr389 || yy2arr389 {
				if yyq389[0] {
					yym391 := z.EncBinary()
					_ = yym391
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq389[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym392 := z.EncBinary()
					_ = yym392
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[1] {
					yym394 := z.EncBinary()
					_ = yym394
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq389[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym395 := z.EncBinary()
					_ = yym395
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[2] {
					yy397 := &x.ObjectMeta
					yy397.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq389[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy398 := &x.ObjectMeta
					yy398.CodecEncodeSelf(e)
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[3] {
					yy400 := &x.Spec
					yy400.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq389[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy401 := &x.Spec
					yy401.CodecEncodeSelf(e)
				}
			}
			if yyr389 || yy2arr389 {
				if yyq389[4] {
					yy403 := &x.Status
					yy403.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq389[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy404 := &x.Status
					yy404.CodecEncodeSelf(e)
				}
			}
			if yysep389 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaim) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym405 := z.DecBinary()
	_ = yym405
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl406 := r.ReadMapStart()
			if yyl406 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl406, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl406 := r.ReadArrayStart()
			if yyl406 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl406, 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 yys407Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys407Slc
	var yyhl407 bool = l >= 0
	for yyj407 := 0; ; yyj407++ {
		if yyhl407 {
			if yyj407 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys407Slc = r.DecodeBytes(yys407Slc, true, true)
		yys407 := string(yys407Slc)
		switch yys407 {
		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 {
				yyv410 := &x.ObjectMeta
				yyv410.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PersistentVolumeClaimSpec{}
			} else {
				yyv411 := &x.Spec
				yyv411.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PersistentVolumeClaimStatus{}
			} else {
				yyv412 := &x.Status
				yyv412.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys407)
		} // end switch yys407
	} // end for yyj407
	if !yyhl407 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaim) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj413 int
	var yyb413 bool
	var yyhl413 bool = l >= 0
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv416 := &x.ObjectMeta
		yyv416.CodecDecodeSelf(d)
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PersistentVolumeClaimSpec{}
	} else {
		yyv417 := &x.Spec
		yyv417.CodecDecodeSelf(d)
	}
	yyj413++
	if yyhl413 {
		yyb413 = yyj413 > l
	} else {
		yyb413 = r.CheckBreak()
	}
	if yyb413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PersistentVolumeClaimStatus{}
	} else {
		yyv418 := &x.Status
		yyv418.CodecDecodeSelf(d)
	}
	for {
		yyj413++
		if yyhl413 {
			yyb413 = yyj413 > l
		} else {
			yyb413 = r.CheckBreak()
		}
		if yyb413 {
			break
		}
		z.DecStructFieldNotFound(yyj413-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym419 := z.EncBinary()
		_ = yym419
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep420 := !z.EncBinary()
			yy2arr420 := z.EncBasicHandle().StructToArray
			var yyq420 [4]bool
			_, _, _ = yysep420, yyq420, yy2arr420
			const yyr420 bool = false
			yyq420[0] = x.Kind != ""
			yyq420[1] = x.APIVersion != ""
			yyq420[2] = true
			if yyr420 || yy2arr420 {
				r.EncodeArrayStart(4)
			} else {
				var yynn420 int = 1
				for _, b := range yyq420 {
					if b {
						yynn420++
					}
				}
				r.EncodeMapStart(yynn420)
			}
			if yyr420 || yy2arr420 {
				if yyq420[0] {
					yym422 := z.EncBinary()
					_ = yym422
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq420[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym423 := z.EncBinary()
					_ = yym423
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr420 || yy2arr420 {
				if yyq420[1] {
					yym425 := z.EncBinary()
					_ = yym425
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq420[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym426 := z.EncBinary()
					_ = yym426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr420 || yy2arr420 {
				if yyq420[2] {
					yy428 := &x.ListMeta
					yym429 := z.EncBinary()
					_ = yym429
					if false {
					} else if z.HasExtensions() && z.EncExt(yy428) {
					} else {
						z.EncFallback(yy428)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq420[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy430 := &x.ListMeta
					yym431 := z.EncBinary()
					_ = yym431
					if false {
					} else if z.HasExtensions() && z.EncExt(yy430) {
					} else {
						z.EncFallback(yy430)
					}
				}
			}
			if yyr420 || yy2arr420 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym433 := z.EncBinary()
					_ = yym433
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym434 := z.EncBinary()
					_ = yym434
					if false {
					} else {
						h.encSlicePersistentVolumeClaim(([]PersistentVolumeClaim)(x.Items), e)
					}
				}
			}
			if yysep420 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym435 := z.DecBinary()
	_ = yym435
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl436 := r.ReadMapStart()
			if yyl436 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl436, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl436 := r.ReadArrayStart()
			if yyl436 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl436, 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 yys437Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys437Slc
	var yyhl437 bool = l >= 0
	for yyj437 := 0; ; yyj437++ {
		if yyhl437 {
			if yyj437 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys437Slc = r.DecodeBytes(yys437Slc, true, true)
		yys437 := string(yys437Slc)
		switch yys437 {
		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 {
				yyv440 := &x.ListMeta
				yym441 := z.DecBinary()
				_ = yym441
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv440) {
				} else {
					z.DecFallback(yyv440, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv442 := &x.Items
				yym443 := z.DecBinary()
				_ = yym443
				if false {
				} else {
					h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv442), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys437)
		} // end switch yys437
	} // end for yyj437
	if !yyhl437 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj444 int
	var yyb444 bool
	var yyhl444 bool = l >= 0
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv447 := &x.ListMeta
		yym448 := z.DecBinary()
		_ = yym448
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv447) {
		} else {
			z.DecFallback(yyv447, false)
		}
	}
	yyj444++
	if yyhl444 {
		yyb444 = yyj444 > l
	} else {
		yyb444 = r.CheckBreak()
	}
	if yyb444 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv449 := &x.Items
		yym450 := z.DecBinary()
		_ = yym450
		if false {
		} else {
			h.decSlicePersistentVolumeClaim((*[]PersistentVolumeClaim)(yyv449), d)
		}
	}
	for {
		yyj444++
		if yyhl444 {
			yyb444 = yyj444 > l
		} else {
			yyb444 = r.CheckBreak()
		}
		if yyb444 {
			break
		}
		z.DecStructFieldNotFound(yyj444-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym451 := z.EncBinary()
		_ = yym451
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep452 := !z.EncBinary()
			yy2arr452 := z.EncBasicHandle().StructToArray
			var yyq452 [3]bool
			_, _, _ = yysep452, yyq452, yy2arr452
			const yyr452 bool = false
			yyq452[0] = len(x.AccessModes) != 0
			yyq452[1] = true
			yyq452[2] = x.VolumeName != ""
			if yyr452 || yy2arr452 {
				r.EncodeArrayStart(3)
			} else {
				var yynn452 int = 0
				for _, b := range yyq452 {
					if b {
						yynn452++
					}
				}
				r.EncodeMapStart(yynn452)
			}
			if yyr452 || yy2arr452 {
				if yyq452[0] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym454 := z.EncBinary()
						_ = yym454
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq452[0] {
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym455 := z.EncBinary()
						_ = yym455
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr452 || yy2arr452 {
				if yyq452[1] {
					yy457 := &x.Resources
					yy457.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq452[1] {
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					yy458 := &x.Resources
					yy458.CodecEncodeSelf(e)
				}
			}
			if yyr452 || yy2arr452 {
				if yyq452[2] {
					yym460 := z.EncBinary()
					_ = yym460
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq452[2] {
					r.EncodeString(codecSelferC_UTF81234, string("volumeName"))
					yym461 := z.EncBinary()
					_ = yym461
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.VolumeName))
					}
				}
			}
			if yysep452 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym462 := z.DecBinary()
	_ = yym462
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl463 := r.ReadMapStart()
			if yyl463 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl463, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl463 := r.ReadArrayStart()
			if yyl463 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl463, 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 yys464Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys464Slc
	var yyhl464 bool = l >= 0
	for yyj464 := 0; ; yyj464++ {
		if yyhl464 {
			if yyj464 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys464Slc = r.DecodeBytes(yys464Slc, true, true)
		yys464 := string(yys464Slc)
		switch yys464 {
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv465 := &x.AccessModes
				yym466 := z.DecBinary()
				_ = yym466
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv465), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv467 := &x.Resources
				yyv467.CodecDecodeSelf(d)
			}
		case "volumeName":
			if r.TryDecodeAsNil() {
				x.VolumeName = ""
			} else {
				x.VolumeName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys464)
		} // end switch yys464
	} // end for yyj464
	if !yyhl464 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj469 int
	var yyb469 bool
	var yyhl469 bool = l >= 0
	yyj469++
	if yyhl469 {
		yyb469 = yyj469 > l
	} else {
		yyb469 = r.CheckBreak()
	}
	if yyb469 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv470 := &x.AccessModes
		yym471 := z.DecBinary()
		_ = yym471
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv470), d)
		}
	}
	yyj469++
	if yyhl469 {
		yyb469 = yyj469 > l
	} else {
		yyb469 = r.CheckBreak()
	}
	if yyb469 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv472 := &x.Resources
		yyv472.CodecDecodeSelf(d)
	}
	yyj469++
	if yyhl469 {
		yyb469 = yyj469 > l
	} else {
		yyb469 = r.CheckBreak()
	}
	if yyb469 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeName = ""
	} else {
		x.VolumeName = string(r.DecodeString())
	}
	for {
		yyj469++
		if yyhl469 {
			yyb469 = yyj469 > l
		} else {
			yyb469 = r.CheckBreak()
		}
		if yyb469 {
			break
		}
		z.DecStructFieldNotFound(yyj469-1, "")
	}
	r.ReadEnd()
}

func (x *PersistentVolumeClaimStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym474 := z.EncBinary()
		_ = yym474
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep475 := !z.EncBinary()
			yy2arr475 := z.EncBasicHandle().StructToArray
			var yyq475 [3]bool
			_, _, _ = yysep475, yyq475, yy2arr475
			const yyr475 bool = false
			yyq475[0] = x.Phase != ""
			yyq475[1] = len(x.AccessModes) != 0
			yyq475[2] = len(x.Capacity) != 0
			if yyr475 || yy2arr475 {
				r.EncodeArrayStart(3)
			} else {
				var yynn475 int = 0
				for _, b := range yyq475 {
					if b {
						yynn475++
					}
				}
				r.EncodeMapStart(yynn475)
			}
			if yyr475 || yy2arr475 {
				if yyq475[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq475[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr475 || yy2arr475 {
				if yyq475[1] {
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym478 := z.EncBinary()
						_ = yym478
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq475[1] {
					r.EncodeString(codecSelferC_UTF81234, string("accessModes"))
					if x.AccessModes == nil {
						r.EncodeNil()
					} else {
						yym479 := z.EncBinary()
						_ = yym479
						if false {
						} else {
							h.encSlicePersistentVolumeAccessMode(([]PersistentVolumeAccessMode)(x.AccessModes), e)
						}
					}
				}
			}
			if yyr475 || yy2arr475 {
				if yyq475[2] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq475[2] {
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yysep475 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PersistentVolumeClaimStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym481 := z.DecBinary()
	_ = yym481
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl482 := r.ReadMapStart()
			if yyl482 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl482, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl482 := r.ReadArrayStart()
			if yyl482 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl482, 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 yys483Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys483Slc
	var yyhl483 bool = l >= 0
	for yyj483 := 0; ; yyj483++ {
		if yyhl483 {
			if yyj483 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys483Slc = r.DecodeBytes(yys483Slc, true, true)
		yys483 := string(yys483Slc)
		switch yys483 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
			}
		case "accessModes":
			if r.TryDecodeAsNil() {
				x.AccessModes = nil
			} else {
				yyv485 := &x.AccessModes
				yym486 := z.DecBinary()
				_ = yym486
				if false {
				} else {
					h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv485), d)
				}
			}
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv487 := &x.Capacity
				yyv487.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys483)
		} // end switch yys483
	} // end for yyj483
	if !yyhl483 {
		r.ReadEnd()
	}
}

func (x *PersistentVolumeClaimStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj488 int
	var yyb488 bool
	var yyhl488 bool = l >= 0
	yyj488++
	if yyhl488 {
		yyb488 = yyj488 > l
	} else {
		yyb488 = r.CheckBreak()
	}
	if yyb488 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PersistentVolumeClaimPhase(r.DecodeString())
	}
	yyj488++
	if yyhl488 {
		yyb488 = yyj488 > l
	} else {
		yyb488 = r.CheckBreak()
	}
	if yyb488 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.AccessModes = nil
	} else {
		yyv490 := &x.AccessModes
		yym491 := z.DecBinary()
		_ = yym491
		if false {
		} else {
			h.decSlicePersistentVolumeAccessMode((*[]PersistentVolumeAccessMode)(yyv490), d)
		}
	}
	yyj488++
	if yyhl488 {
		yyb488 = yyj488 > l
	} else {
		yyb488 = r.CheckBreak()
	}
	if yyb488 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv492 := &x.Capacity
		yyv492.CodecDecodeSelf(d)
	}
	for {
		yyj488++
		if yyhl488 {
			yyb488 = yyj488 > l
		} else {
			yyb488 = r.CheckBreak()
		}
		if yyb488 {
			break
		}
		z.DecStructFieldNotFound(yyj488-1, "")
	}
	r.ReadEnd()
}

func (x PersistentVolumeAccessMode) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym493 := z.EncBinary()
	_ = yym493
	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
	yym494 := z.DecBinary()
	_ = yym494
	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
	yym495 := z.EncBinary()
	_ = yym495
	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
	yym496 := z.DecBinary()
	_ = yym496
	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
	yym497 := z.EncBinary()
	_ = yym497
	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
	yym498 := z.DecBinary()
	_ = yym498
	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 {
		yym499 := z.EncBinary()
		_ = yym499
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep500 := !z.EncBinary()
			yy2arr500 := z.EncBasicHandle().StructToArray
			var yyq500 [1]bool
			_, _, _ = yysep500, yyq500, yy2arr500
			const yyr500 bool = false
			if yyr500 || yy2arr500 {
				r.EncodeArrayStart(1)
			} else {
				var yynn500 int = 1
				for _, b := range yyq500 {
					if b {
						yynn500++
					}
				}
				r.EncodeMapStart(yynn500)
			}
			if yyr500 || yy2arr500 {
				yym502 := z.EncBinary()
				_ = yym502
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym503 := z.EncBinary()
				_ = yym503
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yysep500 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *HostPathVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym504 := z.DecBinary()
	_ = yym504
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl505 := r.ReadMapStart()
			if yyl505 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl505, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl505 := r.ReadArrayStart()
			if yyl505 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl505, 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 yys506Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys506Slc
	var yyhl506 bool = l >= 0
	for yyj506 := 0; ; yyj506++ {
		if yyhl506 {
			if yyj506 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys506Slc = r.DecodeBytes(yys506Slc, true, true)
		yys506 := string(yys506Slc)
		switch yys506 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys506)
		} // end switch yys506
	} // end for yyj506
	if !yyhl506 {
		r.ReadEnd()
	}
}

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

func (x *EmptyDirVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym510 := z.EncBinary()
		_ = yym510
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep511 := !z.EncBinary()
			yy2arr511 := z.EncBasicHandle().StructToArray
			var yyq511 [1]bool
			_, _, _ = yysep511, yyq511, yy2arr511
			const yyr511 bool = false
			if yyr511 || yy2arr511 {
				r.EncodeArrayStart(1)
			} else {
				var yynn511 int = 1
				for _, b := range yyq511 {
					if b {
						yynn511++
					}
				}
				r.EncodeMapStart(yynn511)
			}
			if yyr511 || yy2arr511 {
				x.Medium.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("medium"))
				x.Medium.CodecEncodeSelf(e)
			}
			if yysep511 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EmptyDirVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym513 := z.DecBinary()
	_ = yym513
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl514 := r.ReadMapStart()
			if yyl514 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl514, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl514 := r.ReadArrayStart()
			if yyl514 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl514, 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 yys515Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys515Slc
	var yyhl515 bool = l >= 0
	for yyj515 := 0; ; yyj515++ {
		if yyhl515 {
			if yyj515 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys515Slc = r.DecodeBytes(yys515Slc, true, true)
		yys515 := string(yys515Slc)
		switch yys515 {
		case "medium":
			if r.TryDecodeAsNil() {
				x.Medium = ""
			} else {
				x.Medium = StorageMedium(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys515)
		} // end switch yys515
	} // end for yyj515
	if !yyhl515 {
		r.ReadEnd()
	}
}

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

func (x StorageMedium) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym519 := z.EncBinary()
	_ = yym519
	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
	yym520 := z.DecBinary()
	_ = yym520
	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
	yym521 := z.EncBinary()
	_ = yym521
	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
	yym522 := z.DecBinary()
	_ = yym522
	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 {
		yym523 := z.EncBinary()
		_ = yym523
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep524 := !z.EncBinary()
			yy2arr524 := z.EncBasicHandle().StructToArray
			var yyq524 [4]bool
			_, _, _ = yysep524, yyq524, yy2arr524
			const yyr524 bool = false
			yyq524[1] = x.FSType != ""
			yyq524[2] = x.Partition != 0
			yyq524[3] = x.ReadOnly != false
			if yyr524 || yy2arr524 {
				r.EncodeArrayStart(4)
			} else {
				var yynn524 int = 1
				for _, b := range yyq524 {
					if b {
						yynn524++
					}
				}
				r.EncodeMapStart(yynn524)
			}
			if yyr524 || yy2arr524 {
				yym526 := z.EncBinary()
				_ = yym526
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("pdName"))
				yym527 := z.EncBinary()
				_ = yym527
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.PDName))
				}
			}
			if yyr524 || yy2arr524 {
				if yyq524[1] {
					yym529 := z.EncBinary()
					_ = yym529
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq524[1] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym530 := z.EncBinary()
					_ = yym530
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr524 || yy2arr524 {
				if yyq524[2] {
					yym532 := z.EncBinary()
					_ = yym532
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq524[2] {
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					yym533 := z.EncBinary()
					_ = yym533
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr524 || yy2arr524 {
				if yyq524[3] {
					yym535 := z.EncBinary()
					_ = yym535
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq524[3] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym536 := z.EncBinary()
					_ = yym536
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep524 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *GCEPersistentDiskVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym537 := z.DecBinary()
	_ = yym537
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl538 := r.ReadMapStart()
			if yyl538 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl538, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl538 := r.ReadArrayStart()
			if yyl538 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl538, 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 yys539Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys539Slc
	var yyhl539 bool = l >= 0
	for yyj539 := 0; ; yyj539++ {
		if yyhl539 {
			if yyj539 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys539Slc = r.DecodeBytes(yys539Slc, true, true)
		yys539 := string(yys539Slc)
		switch yys539 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys539)
		} // end switch yys539
	} // end for yyj539
	if !yyhl539 {
		r.ReadEnd()
	}
}

func (x *GCEPersistentDiskVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj544 int
	var yyb544 bool
	var yyhl544 bool = l >= 0
	yyj544++
	if yyhl544 {
		yyb544 = yyj544 > l
	} else {
		yyb544 = r.CheckBreak()
	}
	if yyb544 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PDName = ""
	} else {
		x.PDName = string(r.DecodeString())
	}
	yyj544++
	if yyhl544 {
		yyb544 = yyj544 > l
	} else {
		yyb544 = r.CheckBreak()
	}
	if yyb544 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj544++
	if yyhl544 {
		yyb544 = yyj544 > l
	} else {
		yyb544 = r.CheckBreak()
	}
	if yyb544 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj544++
	if yyhl544 {
		yyb544 = yyj544 > l
	} else {
		yyb544 = r.CheckBreak()
	}
	if yyb544 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj544++
		if yyhl544 {
			yyb544 = yyj544 > l
		} else {
			yyb544 = r.CheckBreak()
		}
		if yyb544 {
			break
		}
		z.DecStructFieldNotFound(yyj544-1, "")
	}
	r.ReadEnd()
}

func (x *ISCSIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym549 := z.EncBinary()
		_ = yym549
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep550 := !z.EncBinary()
			yy2arr550 := z.EncBasicHandle().StructToArray
			var yyq550 [5]bool
			_, _, _ = yysep550, yyq550, yy2arr550
			const yyr550 bool = false
			yyq550[0] = x.TargetPortal != ""
			yyq550[1] = x.IQN != ""
			yyq550[2] = x.Lun != 0
			yyq550[3] = x.FSType != ""
			yyq550[4] = x.ReadOnly != false
			if yyr550 || yy2arr550 {
				r.EncodeArrayStart(5)
			} else {
				var yynn550 int = 0
				for _, b := range yyq550 {
					if b {
						yynn550++
					}
				}
				r.EncodeMapStart(yynn550)
			}
			if yyr550 || yy2arr550 {
				if yyq550[0] {
					yym552 := z.EncBinary()
					_ = yym552
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq550[0] {
					r.EncodeString(codecSelferC_UTF81234, string("targetPortal"))
					yym553 := z.EncBinary()
					_ = yym553
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TargetPortal))
					}
				}
			}
			if yyr550 || yy2arr550 {
				if yyq550[1] {
					yym555 := z.EncBinary()
					_ = yym555
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq550[1] {
					r.EncodeString(codecSelferC_UTF81234, string("iqn"))
					yym556 := z.EncBinary()
					_ = yym556
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IQN))
					}
				}
			}
			if yyr550 || yy2arr550 {
				if yyq550[2] {
					yym558 := z.EncBinary()
					_ = yym558
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq550[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lun"))
					yym559 := z.EncBinary()
					_ = yym559
					if false {
					} else {
						r.EncodeInt(int64(x.Lun))
					}
				}
			}
			if yyr550 || yy2arr550 {
				if yyq550[3] {
					yym561 := z.EncBinary()
					_ = yym561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq550[3] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym562 := z.EncBinary()
					_ = yym562
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr550 || yy2arr550 {
				if yyq550[4] {
					yym564 := z.EncBinary()
					_ = yym564
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq550[4] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym565 := z.EncBinary()
					_ = yym565
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep550 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ISCSIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym566 := z.DecBinary()
	_ = yym566
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl567 := r.ReadMapStart()
			if yyl567 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl567, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl567 := r.ReadArrayStart()
			if yyl567 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl567, 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 yys568Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys568Slc
	var yyhl568 bool = l >= 0
	for yyj568 := 0; ; yyj568++ {
		if yyhl568 {
			if yyj568 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys568Slc = r.DecodeBytes(yys568Slc, true, true)
		yys568 := string(yys568Slc)
		switch yys568 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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, yys568)
		} // end switch yys568
	} // end for yyj568
	if !yyhl568 {
		r.ReadEnd()
	}
}

func (x *ISCSIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj574 int
	var yyb574 bool
	var yyhl574 bool = l >= 0
	yyj574++
	if yyhl574 {
		yyb574 = yyj574 > l
	} else {
		yyb574 = r.CheckBreak()
	}
	if yyb574 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TargetPortal = ""
	} else {
		x.TargetPortal = string(r.DecodeString())
	}
	yyj574++
	if yyhl574 {
		yyb574 = yyj574 > l
	} else {
		yyb574 = r.CheckBreak()
	}
	if yyb574 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.IQN = ""
	} else {
		x.IQN = string(r.DecodeString())
	}
	yyj574++
	if yyhl574 {
		yyb574 = yyj574 > l
	} else {
		yyb574 = r.CheckBreak()
	}
	if yyb574 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Lun = 0
	} else {
		x.Lun = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj574++
	if yyhl574 {
		yyb574 = yyj574 > l
	} else {
		yyb574 = r.CheckBreak()
	}
	if yyb574 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj574++
	if yyhl574 {
		yyb574 = yyj574 > l
	} else {
		yyb574 = r.CheckBreak()
	}
	if yyb574 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj574++
		if yyhl574 {
			yyb574 = yyj574 > l
		} else {
			yyb574 = r.CheckBreak()
		}
		if yyb574 {
			break
		}
		z.DecStructFieldNotFound(yyj574-1, "")
	}
	r.ReadEnd()
}

func (x *FCVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym580 := z.EncBinary()
		_ = yym580
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep581 := !z.EncBinary()
			yy2arr581 := z.EncBasicHandle().StructToArray
			var yyq581 [4]bool
			_, _, _ = yysep581, yyq581, yy2arr581
			const yyr581 bool = false
			yyq581[3] = x.ReadOnly != false
			if yyr581 || yy2arr581 {
				r.EncodeArrayStart(4)
			} else {
				var yynn581 int = 3
				for _, b := range yyq581 {
					if b {
						yynn581++
					}
				}
				r.EncodeMapStart(yynn581)
			}
			if yyr581 || yy2arr581 {
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym583 := z.EncBinary()
					_ = yym583
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("targetWWNs"))
				if x.TargetWWNs == nil {
					r.EncodeNil()
				} else {
					yym584 := z.EncBinary()
					_ = yym584
					if false {
					} else {
						z.F.EncSliceStringV(x.TargetWWNs, false, e)
					}
				}
			}
			if yyr581 || yy2arr581 {
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy586 := *x.Lun
					yym587 := z.EncBinary()
					_ = yym587
					if false {
					} else {
						r.EncodeInt(int64(yy586))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("lun"))
				if x.Lun == nil {
					r.EncodeNil()
				} else {
					yy588 := *x.Lun
					yym589 := z.EncBinary()
					_ = yym589
					if false {
					} else {
						r.EncodeInt(int64(yy588))
					}
				}
			}
			if yyr581 || yy2arr581 {
				yym591 := z.EncBinary()
				_ = yym591
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fsType"))
				yym592 := z.EncBinary()
				_ = yym592
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
				}
			}
			if yyr581 || yy2arr581 {
				if yyq581[3] {
					yym594 := z.EncBinary()
					_ = yym594
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq581[3] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym595 := z.EncBinary()
					_ = yym595
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep581 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *FCVolumeSource) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl597 := r.ReadMapStart()
			if yyl597 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl597, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl597 := r.ReadArrayStart()
			if yyl597 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl597, 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 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
			}
		}
		yys598Slc = r.DecodeBytes(yys598Slc, true, true)
		yys598 := string(yys598Slc)
		switch yys598 {
		case "targetWWNs":
			if r.TryDecodeAsNil() {
				x.TargetWWNs = nil
			} else {
				yyv599 := &x.TargetWWNs
				yym600 := z.DecBinary()
				_ = yym600
				if false {
				} else {
					z.F.DecSliceStringX(yyv599, false, d)
				}
			}
		case "lun":
			if r.TryDecodeAsNil() {
				if x.Lun != nil {
					x.Lun = nil
				}
			} else {
				if x.Lun == nil {
					x.Lun = new(int)
				}
				yym602 := z.DecBinary()
				_ = yym602
				if false {
				} else {
					*((*int)(x.Lun)) = int(r.DecodeInt(codecSelferBitsize1234))
				}
			}
		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, yys598)
		} // end switch yys598
	} // end for yyj598
	if !yyhl598 {
		r.ReadEnd()
	}
}

func (x *FCVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj605 int
	var yyb605 bool
	var yyhl605 bool = l >= 0
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TargetWWNs = nil
	} else {
		yyv606 := &x.TargetWWNs
		yym607 := z.DecBinary()
		_ = yym607
		if false {
		} else {
			z.F.DecSliceStringX(yyv606, false, d)
		}
	}
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Lun != nil {
			x.Lun = nil
		}
	} else {
		if x.Lun == nil {
			x.Lun = new(int)
		}
		yym609 := z.DecBinary()
		_ = yym609
		if false {
		} else {
			*((*int)(x.Lun)) = int(r.DecodeInt(codecSelferBitsize1234))
		}
	}
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj605++
	if yyhl605 {
		yyb605 = yyj605 > l
	} else {
		yyb605 = r.CheckBreak()
	}
	if yyb605 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj605++
		if yyhl605 {
			yyb605 = yyj605 > l
		} else {
			yyb605 = r.CheckBreak()
		}
		if yyb605 {
			break
		}
		z.DecStructFieldNotFound(yyj605-1, "")
	}
	r.ReadEnd()
}

func (x *AWSElasticBlockStoreVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym612 := z.EncBinary()
		_ = yym612
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep613 := !z.EncBinary()
			yy2arr613 := z.EncBasicHandle().StructToArray
			var yyq613 [4]bool
			_, _, _ = yysep613, yyq613, yy2arr613
			const yyr613 bool = false
			yyq613[1] = x.FSType != ""
			yyq613[2] = x.Partition != 0
			yyq613[3] = x.ReadOnly != false
			if yyr613 || yy2arr613 {
				r.EncodeArrayStart(4)
			} else {
				var yynn613 int = 1
				for _, b := range yyq613 {
					if b {
						yynn613++
					}
				}
				r.EncodeMapStart(yynn613)
			}
			if yyr613 || yy2arr613 {
				yym615 := z.EncBinary()
				_ = yym615
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				yym616 := z.EncBinary()
				_ = yym616
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr613 || yy2arr613 {
				if yyq613[1] {
					yym618 := z.EncBinary()
					_ = yym618
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq613[1] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym619 := z.EncBinary()
					_ = yym619
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr613 || yy2arr613 {
				if yyq613[2] {
					yym621 := z.EncBinary()
					_ = yym621
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq613[2] {
					r.EncodeString(codecSelferC_UTF81234, string("partition"))
					yym622 := z.EncBinary()
					_ = yym622
					if false {
					} else {
						r.EncodeInt(int64(x.Partition))
					}
				}
			}
			if yyr613 || yy2arr613 {
				if yyq613[3] {
					yym624 := z.EncBinary()
					_ = yym624
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq613[3] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym625 := z.EncBinary()
					_ = yym625
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep613 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *AWSElasticBlockStoreVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym626 := z.DecBinary()
	_ = yym626
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl627 := r.ReadMapStart()
			if yyl627 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl627, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl627 := r.ReadArrayStart()
			if yyl627 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl627, 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 yys628Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys628Slc
	var yyhl628 bool = l >= 0
	for yyj628 := 0; ; yyj628++ {
		if yyhl628 {
			if yyj628 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys628Slc = r.DecodeBytes(yys628Slc, true, true)
		yys628 := string(yys628Slc)
		switch yys628 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "readOnly":
			if r.TryDecodeAsNil() {
				x.ReadOnly = false
			} else {
				x.ReadOnly = bool(r.DecodeBool())
			}
		default:
			z.DecStructFieldNotFound(-1, yys628)
		} // end switch yys628
	} // end for yyj628
	if !yyhl628 {
		r.ReadEnd()
	}
}

func (x *AWSElasticBlockStoreVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj633 int
	var yyb633 bool
	var yyhl633 bool = l >= 0
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeID = ""
	} else {
		x.VolumeID = string(r.DecodeString())
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FSType = ""
	} else {
		x.FSType = string(r.DecodeString())
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Partition = 0
	} else {
		x.Partition = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj633++
	if yyhl633 {
		yyb633 = yyj633 > l
	} else {
		yyb633 = r.CheckBreak()
	}
	if yyb633 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj633++
		if yyhl633 {
			yyb633 = yyj633 > l
		} else {
			yyb633 = r.CheckBreak()
		}
		if yyb633 {
			break
		}
		z.DecStructFieldNotFound(yyj633-1, "")
	}
	r.ReadEnd()
}

func (x *GitRepoVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym638 := z.EncBinary()
		_ = yym638
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep639 := !z.EncBinary()
			yy2arr639 := z.EncBasicHandle().StructToArray
			var yyq639 [2]bool
			_, _, _ = yysep639, yyq639, yy2arr639
			const yyr639 bool = false
			if yyr639 || yy2arr639 {
				r.EncodeArrayStart(2)
			} else {
				var yynn639 int = 2
				for _, b := range yyq639 {
					if b {
						yynn639++
					}
				}
				r.EncodeMapStart(yynn639)
			}
			if yyr639 || yy2arr639 {
				yym641 := z.EncBinary()
				_ = yym641
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("repository"))
				yym642 := z.EncBinary()
				_ = yym642
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Repository))
				}
			}
			if yyr639 || yy2arr639 {
				yym644 := z.EncBinary()
				_ = yym644
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("revision"))
				yym645 := z.EncBinary()
				_ = yym645
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Revision))
				}
			}
			if yysep639 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *GitRepoVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym646 := z.DecBinary()
	_ = yym646
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl647 := r.ReadMapStart()
			if yyl647 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl647, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl647 := r.ReadArrayStart()
			if yyl647 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl647, 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 yys648Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys648Slc
	var yyhl648 bool = l >= 0
	for yyj648 := 0; ; yyj648++ {
		if yyhl648 {
			if yyj648 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys648Slc = r.DecodeBytes(yys648Slc, true, true)
		yys648 := string(yys648Slc)
		switch yys648 {
		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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys648)
		} // end switch yys648
	} // end for yyj648
	if !yyhl648 {
		r.ReadEnd()
	}
}

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

func (x *SecretVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym654 := z.EncBinary()
		_ = yym654
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep655 := !z.EncBinary()
			yy2arr655 := z.EncBasicHandle().StructToArray
			var yyq655 [1]bool
			_, _, _ = yysep655, yyq655, yy2arr655
			const yyr655 bool = false
			if yyr655 || yy2arr655 {
				r.EncodeArrayStart(1)
			} else {
				var yynn655 int = 1
				for _, b := range yyq655 {
					if b {
						yynn655++
					}
				}
				r.EncodeMapStart(yynn655)
			}
			if yyr655 || yy2arr655 {
				yym657 := z.EncBinary()
				_ = yym657
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("secretName"))
				yym658 := z.EncBinary()
				_ = yym658
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SecretName))
				}
			}
			if yysep655 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SecretVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym659 := z.DecBinary()
	_ = yym659
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl660 := r.ReadMapStart()
			if yyl660 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl660, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl660 := r.ReadArrayStart()
			if yyl660 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl660, 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 yys661Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys661Slc
	var yyhl661 bool = l >= 0
	for yyj661 := 0; ; yyj661++ {
		if yyhl661 {
			if yyj661 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys661Slc = r.DecodeBytes(yys661Slc, true, true)
		yys661 := string(yys661Slc)
		switch yys661 {
		case "secretName":
			if r.TryDecodeAsNil() {
				x.SecretName = ""
			} else {
				x.SecretName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys661)
		} // end switch yys661
	} // end for yyj661
	if !yyhl661 {
		r.ReadEnd()
	}
}

func (x *SecretVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj663 int
	var yyb663 bool
	var yyhl663 bool = l >= 0
	yyj663++
	if yyhl663 {
		yyb663 = yyj663 > l
	} else {
		yyb663 = r.CheckBreak()
	}
	if yyb663 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SecretName = ""
	} else {
		x.SecretName = string(r.DecodeString())
	}
	for {
		yyj663++
		if yyhl663 {
			yyb663 = yyj663 > l
		} else {
			yyb663 = r.CheckBreak()
		}
		if yyb663 {
			break
		}
		z.DecStructFieldNotFound(yyj663-1, "")
	}
	r.ReadEnd()
}

func (x *NFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym665 := z.EncBinary()
		_ = yym665
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep666 := !z.EncBinary()
			yy2arr666 := z.EncBasicHandle().StructToArray
			var yyq666 [3]bool
			_, _, _ = yysep666, yyq666, yy2arr666
			const yyr666 bool = false
			yyq666[2] = x.ReadOnly != false
			if yyr666 || yy2arr666 {
				r.EncodeArrayStart(3)
			} else {
				var yynn666 int = 2
				for _, b := range yyq666 {
					if b {
						yynn666++
					}
				}
				r.EncodeMapStart(yynn666)
			}
			if yyr666 || yy2arr666 {
				yym668 := z.EncBinary()
				_ = yym668
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("server"))
				yym669 := z.EncBinary()
				_ = yym669
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Server))
				}
			}
			if yyr666 || yy2arr666 {
				yym671 := z.EncBinary()
				_ = yym671
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym672 := z.EncBinary()
				_ = yym672
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr666 || yy2arr666 {
				if yyq666[2] {
					yym674 := z.EncBinary()
					_ = yym674
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq666[2] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym675 := z.EncBinary()
					_ = yym675
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep666 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym676 := z.DecBinary()
	_ = yym676
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl677 := r.ReadMapStart()
			if yyl677 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl677, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl677 := r.ReadArrayStart()
			if yyl677 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl677, 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 yys678Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys678Slc
	var yyhl678 bool = l >= 0
	for yyj678 := 0; ; yyj678++ {
		if yyhl678 {
			if yyj678 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys678Slc = r.DecodeBytes(yys678Slc, true, true)
		yys678 := string(yys678Slc)
		switch yys678 {
		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, yys678)
		} // end switch yys678
	} // end for yyj678
	if !yyhl678 {
		r.ReadEnd()
	}
}

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

func (x *GlusterfsVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym686 := z.EncBinary()
		_ = yym686
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep687 := !z.EncBinary()
			yy2arr687 := z.EncBasicHandle().StructToArray
			var yyq687 [3]bool
			_, _, _ = yysep687, yyq687, yy2arr687
			const yyr687 bool = false
			yyq687[2] = x.ReadOnly != false
			if yyr687 || yy2arr687 {
				r.EncodeArrayStart(3)
			} else {
				var yynn687 int = 2
				for _, b := range yyq687 {
					if b {
						yynn687++
					}
				}
				r.EncodeMapStart(yynn687)
			}
			if yyr687 || yy2arr687 {
				yym689 := z.EncBinary()
				_ = yym689
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("endpoints"))
				yym690 := z.EncBinary()
				_ = yym690
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.EndpointsName))
				}
			}
			if yyr687 || yy2arr687 {
				yym692 := z.EncBinary()
				_ = yym692
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym693 := z.EncBinary()
				_ = yym693
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr687 || yy2arr687 {
				if yyq687[2] {
					yym695 := z.EncBinary()
					_ = yym695
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq687[2] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym696 := z.EncBinary()
					_ = yym696
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep687 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *GlusterfsVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym697 := z.DecBinary()
	_ = yym697
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl698 := r.ReadMapStart()
			if yyl698 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl698, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl698 := r.ReadArrayStart()
			if yyl698 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl698, 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 yys699Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys699Slc
	var yyhl699 bool = l >= 0
	for yyj699 := 0; ; yyj699++ {
		if yyhl699 {
			if yyj699 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys699Slc = r.DecodeBytes(yys699Slc, true, true)
		yys699 := string(yys699Slc)
		switch yys699 {
		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, yys699)
		} // end switch yys699
	} // end for yyj699
	if !yyhl699 {
		r.ReadEnd()
	}
}

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

func (x *RBDVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym707 := z.EncBinary()
		_ = yym707
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep708 := !z.EncBinary()
			yy2arr708 := z.EncBasicHandle().StructToArray
			var yyq708 [8]bool
			_, _, _ = yysep708, yyq708, yy2arr708
			const yyr708 bool = false
			yyq708[2] = x.FSType != ""
			yyq708[7] = x.ReadOnly != false
			if yyr708 || yy2arr708 {
				r.EncodeArrayStart(8)
			} else {
				var yynn708 int = 6
				for _, b := range yyq708 {
					if b {
						yynn708++
					}
				}
				r.EncodeMapStart(yynn708)
			}
			if yyr708 || yy2arr708 {
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym710 := z.EncBinary()
					_ = yym710
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				if x.CephMonitors == nil {
					r.EncodeNil()
				} else {
					yym711 := z.EncBinary()
					_ = yym711
					if false {
					} else {
						z.F.EncSliceStringV(x.CephMonitors, false, e)
					}
				}
			}
			if yyr708 || yy2arr708 {
				yym713 := z.EncBinary()
				_ = yym713
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				yym714 := z.EncBinary()
				_ = yym714
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDImage))
				}
			}
			if yyr708 || yy2arr708 {
				if yyq708[2] {
					yym716 := z.EncBinary()
					_ = yym716
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq708[2] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym717 := z.EncBinary()
					_ = yym717
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr708 || yy2arr708 {
				yym719 := z.EncBinary()
				_ = yym719
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("pool"))
				yym720 := z.EncBinary()
				_ = yym720
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RBDPool))
				}
			}
			if yyr708 || yy2arr708 {
				yym722 := z.EncBinary()
				_ = yym722
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("user"))
				yym723 := z.EncBinary()
				_ = yym723
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.RadosUser))
				}
			}
			if yyr708 || yy2arr708 {
				yym725 := z.EncBinary()
				_ = yym725
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("keyring"))
				yym726 := z.EncBinary()
				_ = yym726
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Keyring))
				}
			}
			if yyr708 || yy2arr708 {
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
				if x.SecretRef == nil {
					r.EncodeNil()
				} else {
					x.SecretRef.CodecEncodeSelf(e)
				}
			}
			if yyr708 || yy2arr708 {
				if yyq708[7] {
					yym729 := z.EncBinary()
					_ = yym729
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq708[7] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym730 := z.EncBinary()
					_ = yym730
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep708 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *RBDVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym731 := z.DecBinary()
	_ = yym731
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl732 := r.ReadMapStart()
			if yyl732 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl732, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl732 := r.ReadArrayStart()
			if yyl732 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl732, 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 yys733Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys733Slc
	var yyhl733 bool = l >= 0
	for yyj733 := 0; ; yyj733++ {
		if yyhl733 {
			if yyj733 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys733Slc = r.DecodeBytes(yys733Slc, true, true)
		yys733 := string(yys733Slc)
		switch yys733 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.CephMonitors = nil
			} else {
				yyv734 := &x.CephMonitors
				yym735 := z.DecBinary()
				_ = yym735
				if false {
				} else {
					z.F.DecSliceStringX(yyv734, 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, yys733)
		} // end switch yys733
	} // end for yyj733
	if !yyhl733 {
		r.ReadEnd()
	}
}

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

func (x *CinderVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym753 := z.EncBinary()
		_ = yym753
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep754 := !z.EncBinary()
			yy2arr754 := z.EncBasicHandle().StructToArray
			var yyq754 [3]bool
			_, _, _ = yysep754, yyq754, yy2arr754
			const yyr754 bool = false
			yyq754[1] = x.FSType != ""
			yyq754[2] = x.ReadOnly != false
			if yyr754 || yy2arr754 {
				r.EncodeArrayStart(3)
			} else {
				var yynn754 int = 1
				for _, b := range yyq754 {
					if b {
						yynn754++
					}
				}
				r.EncodeMapStart(yynn754)
			}
			if yyr754 || yy2arr754 {
				yym756 := z.EncBinary()
				_ = yym756
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("volumeID"))
				yym757 := z.EncBinary()
				_ = yym757
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.VolumeID))
				}
			}
			if yyr754 || yy2arr754 {
				if yyq754[1] {
					yym759 := z.EncBinary()
					_ = yym759
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq754[1] {
					r.EncodeString(codecSelferC_UTF81234, string("fsType"))
					yym760 := z.EncBinary()
					_ = yym760
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FSType))
					}
				}
			}
			if yyr754 || yy2arr754 {
				if yyq754[2] {
					yym762 := z.EncBinary()
					_ = yym762
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq754[2] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym763 := z.EncBinary()
					_ = yym763
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep754 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *CinderVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym764 := z.DecBinary()
	_ = yym764
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl765 := r.ReadMapStart()
			if yyl765 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl765, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl765 := r.ReadArrayStart()
			if yyl765 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl765, 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 yys766Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys766Slc
	var yyhl766 bool = l >= 0
	for yyj766 := 0; ; yyj766++ {
		if yyhl766 {
			if yyj766 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys766Slc = r.DecodeBytes(yys766Slc, true, true)
		yys766 := string(yys766Slc)
		switch yys766 {
		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, yys766)
		} // end switch yys766
	} // end for yyj766
	if !yyhl766 {
		r.ReadEnd()
	}
}

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

func (x *CephFSVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym774 := z.EncBinary()
		_ = yym774
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep775 := !z.EncBinary()
			yy2arr775 := z.EncBasicHandle().StructToArray
			var yyq775 [5]bool
			_, _, _ = yysep775, yyq775, yy2arr775
			const yyr775 bool = false
			yyq775[1] = x.User != ""
			yyq775[2] = x.SecretFile != ""
			yyq775[3] = x.SecretRef != nil
			yyq775[4] = x.ReadOnly != false
			if yyr775 || yy2arr775 {
				r.EncodeArrayStart(5)
			} else {
				var yynn775 int = 1
				for _, b := range yyq775 {
					if b {
						yynn775++
					}
				}
				r.EncodeMapStart(yynn775)
			}
			if yyr775 || yy2arr775 {
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym777 := z.EncBinary()
					_ = yym777
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("monitors"))
				if x.Monitors == nil {
					r.EncodeNil()
				} else {
					yym778 := z.EncBinary()
					_ = yym778
					if false {
					} else {
						z.F.EncSliceStringV(x.Monitors, false, e)
					}
				}
			}
			if yyr775 || yy2arr775 {
				if yyq775[1] {
					yym780 := z.EncBinary()
					_ = yym780
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq775[1] {
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					yym781 := z.EncBinary()
					_ = yym781
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr775 || yy2arr775 {
				if yyq775[2] {
					yym783 := z.EncBinary()
					_ = yym783
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq775[2] {
					r.EncodeString(codecSelferC_UTF81234, string("secretFile"))
					yym784 := z.EncBinary()
					_ = yym784
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.SecretFile))
					}
				}
			}
			if yyr775 || yy2arr775 {
				if yyq775[3] {
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq775[3] {
					r.EncodeString(codecSelferC_UTF81234, string("secretRef"))
					if x.SecretRef == nil {
						r.EncodeNil()
					} else {
						x.SecretRef.CodecEncodeSelf(e)
					}
				}
			}
			if yyr775 || yy2arr775 {
				if yyq775[4] {
					yym787 := z.EncBinary()
					_ = yym787
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq775[4] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym788 := z.EncBinary()
					_ = yym788
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yysep775 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *CephFSVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym789 := z.DecBinary()
	_ = yym789
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl790 := r.ReadMapStart()
			if yyl790 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl790, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl790 := r.ReadArrayStart()
			if yyl790 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl790, 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 yys791Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys791Slc
	var yyhl791 bool = l >= 0
	for yyj791 := 0; ; yyj791++ {
		if yyhl791 {
			if yyj791 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys791Slc = r.DecodeBytes(yys791Slc, true, true)
		yys791 := string(yys791Slc)
		switch yys791 {
		case "monitors":
			if r.TryDecodeAsNil() {
				x.Monitors = nil
			} else {
				yyv792 := &x.Monitors
				yym793 := z.DecBinary()
				_ = yym793
				if false {
				} else {
					z.F.DecSliceStringX(yyv792, false, d)
				}
			}
		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, yys791)
		} // end switch yys791
	} // end for yyj791
	if !yyhl791 {
		r.ReadEnd()
	}
}

func (x *CephFSVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj798 int
	var yyb798 bool
	var yyhl798 bool = l >= 0
	yyj798++
	if yyhl798 {
		yyb798 = yyj798 > l
	} else {
		yyb798 = r.CheckBreak()
	}
	if yyb798 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Monitors = nil
	} else {
		yyv799 := &x.Monitors
		yym800 := z.DecBinary()
		_ = yym800
		if false {
		} else {
			z.F.DecSliceStringX(yyv799, false, d)
		}
	}
	yyj798++
	if yyhl798 {
		yyb798 = yyj798 > l
	} else {
		yyb798 = r.CheckBreak()
	}
	if yyb798 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj798++
	if yyhl798 {
		yyb798 = yyj798 > l
	} else {
		yyb798 = r.CheckBreak()
	}
	if yyb798 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SecretFile = ""
	} else {
		x.SecretFile = string(r.DecodeString())
	}
	yyj798++
	if yyhl798 {
		yyb798 = yyj798 > l
	} else {
		yyb798 = r.CheckBreak()
	}
	if yyb798 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecretRef != nil {
			x.SecretRef = nil
		}
	} else {
		if x.SecretRef == nil {
			x.SecretRef = new(LocalObjectReference)
		}
		x.SecretRef.CodecDecodeSelf(d)
	}
	yyj798++
	if yyhl798 {
		yyb798 = yyj798 > l
	} else {
		yyb798 = r.CheckBreak()
	}
	if yyb798 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ReadOnly = false
	} else {
		x.ReadOnly = bool(r.DecodeBool())
	}
	for {
		yyj798++
		if yyhl798 {
			yyb798 = yyj798 > l
		} else {
			yyb798 = r.CheckBreak()
		}
		if yyb798 {
			break
		}
		z.DecStructFieldNotFound(yyj798-1, "")
	}
	r.ReadEnd()
}

func (x *FlockerVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym805 := z.EncBinary()
		_ = yym805
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep806 := !z.EncBinary()
			yy2arr806 := z.EncBasicHandle().StructToArray
			var yyq806 [1]bool
			_, _, _ = yysep806, yyq806, yy2arr806
			const yyr806 bool = false
			if yyr806 || yy2arr806 {
				r.EncodeArrayStart(1)
			} else {
				var yynn806 int = 1
				for _, b := range yyq806 {
					if b {
						yynn806++
					}
				}
				r.EncodeMapStart(yynn806)
			}
			if yyr806 || yy2arr806 {
				yym808 := z.EncBinary()
				_ = yym808
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("datasetName"))
				yym809 := z.EncBinary()
				_ = yym809
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.DatasetName))
				}
			}
			if yysep806 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *FlockerVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym810 := z.DecBinary()
	_ = yym810
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl811 := r.ReadMapStart()
			if yyl811 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl811, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl811 := r.ReadArrayStart()
			if yyl811 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl811, 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 yys812Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys812Slc
	var yyhl812 bool = l >= 0
	for yyj812 := 0; ; yyj812++ {
		if yyhl812 {
			if yyj812 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys812Slc = r.DecodeBytes(yys812Slc, true, true)
		yys812 := string(yys812Slc)
		switch yys812 {
		case "datasetName":
			if r.TryDecodeAsNil() {
				x.DatasetName = ""
			} else {
				x.DatasetName = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys812)
		} // end switch yys812
	} // end for yyj812
	if !yyhl812 {
		r.ReadEnd()
	}
}

func (x *FlockerVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj814 int
	var yyb814 bool
	var yyhl814 bool = l >= 0
	yyj814++
	if yyhl814 {
		yyb814 = yyj814 > l
	} else {
		yyb814 = r.CheckBreak()
	}
	if yyb814 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DatasetName = ""
	} else {
		x.DatasetName = string(r.DecodeString())
	}
	for {
		yyj814++
		if yyhl814 {
			yyb814 = yyj814 > l
		} else {
			yyb814 = r.CheckBreak()
		}
		if yyb814 {
			break
		}
		z.DecStructFieldNotFound(yyj814-1, "")
	}
	r.ReadEnd()
}

func (x *DownwardAPIVolumeSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym816 := z.EncBinary()
		_ = yym816
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep817 := !z.EncBinary()
			yy2arr817 := z.EncBasicHandle().StructToArray
			var yyq817 [1]bool
			_, _, _ = yysep817, yyq817, yy2arr817
			const yyr817 bool = false
			yyq817[0] = len(x.Items) != 0
			if yyr817 || yy2arr817 {
				r.EncodeArrayStart(1)
			} else {
				var yynn817 int = 0
				for _, b := range yyq817 {
					if b {
						yynn817++
					}
				}
				r.EncodeMapStart(yynn817)
			}
			if yyr817 || yy2arr817 {
				if yyq817[0] {
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym819 := z.EncBinary()
						_ = yym819
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq817[0] {
					r.EncodeString(codecSelferC_UTF81234, string("items"))
					if x.Items == nil {
						r.EncodeNil()
					} else {
						yym820 := z.EncBinary()
						_ = yym820
						if false {
						} else {
							h.encSliceDownwardAPIVolumeFile(([]DownwardAPIVolumeFile)(x.Items), e)
						}
					}
				}
			}
			if yysep817 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DownwardAPIVolumeSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym821 := z.DecBinary()
	_ = yym821
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl822 := r.ReadMapStart()
			if yyl822 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl822, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl822 := r.ReadArrayStart()
			if yyl822 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl822, 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 yys823Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys823Slc
	var yyhl823 bool = l >= 0
	for yyj823 := 0; ; yyj823++ {
		if yyhl823 {
			if yyj823 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys823Slc = r.DecodeBytes(yys823Slc, true, true)
		yys823 := string(yys823Slc)
		switch yys823 {
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv824 := &x.Items
				yym825 := z.DecBinary()
				_ = yym825
				if false {
				} else {
					h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv824), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys823)
		} // end switch yys823
	} // end for yyj823
	if !yyhl823 {
		r.ReadEnd()
	}
}

func (x *DownwardAPIVolumeSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj826 int
	var yyb826 bool
	var yyhl826 bool = l >= 0
	yyj826++
	if yyhl826 {
		yyb826 = yyj826 > l
	} else {
		yyb826 = r.CheckBreak()
	}
	if yyb826 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv827 := &x.Items
		yym828 := z.DecBinary()
		_ = yym828
		if false {
		} else {
			h.decSliceDownwardAPIVolumeFile((*[]DownwardAPIVolumeFile)(yyv827), d)
		}
	}
	for {
		yyj826++
		if yyhl826 {
			yyb826 = yyj826 > l
		} else {
			yyb826 = r.CheckBreak()
		}
		if yyb826 {
			break
		}
		z.DecStructFieldNotFound(yyj826-1, "")
	}
	r.ReadEnd()
}

func (x *DownwardAPIVolumeFile) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym829 := z.EncBinary()
		_ = yym829
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep830 := !z.EncBinary()
			yy2arr830 := z.EncBasicHandle().StructToArray
			var yyq830 [2]bool
			_, _, _ = yysep830, yyq830, yy2arr830
			const yyr830 bool = false
			if yyr830 || yy2arr830 {
				r.EncodeArrayStart(2)
			} else {
				var yynn830 int = 2
				for _, b := range yyq830 {
					if b {
						yynn830++
					}
				}
				r.EncodeMapStart(yynn830)
			}
			if yyr830 || yy2arr830 {
				yym832 := z.EncBinary()
				_ = yym832
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("path"))
				yym833 := z.EncBinary()
				_ = yym833
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yyr830 || yy2arr830 {
				yy835 := &x.FieldRef
				yy835.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
				yy836 := &x.FieldRef
				yy836.CodecEncodeSelf(e)
			}
			if yysep830 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DownwardAPIVolumeFile) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym837 := z.DecBinary()
	_ = yym837
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl838 := r.ReadMapStart()
			if yyl838 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl838, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl838 := r.ReadArrayStart()
			if yyl838 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl838, 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 yys839Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys839Slc
	var yyhl839 bool = l >= 0
	for yyj839 := 0; ; yyj839++ {
		if yyhl839 {
			if yyj839 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys839Slc = r.DecodeBytes(yys839Slc, true, true)
		yys839 := string(yys839Slc)
		switch yys839 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "fieldRef":
			if r.TryDecodeAsNil() {
				x.FieldRef = ObjectFieldSelector{}
			} else {
				yyv841 := &x.FieldRef
				yyv841.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys839)
		} // end switch yys839
	} // end for yyj839
	if !yyhl839 {
		r.ReadEnd()
	}
}

func (x *DownwardAPIVolumeFile) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj842 int
	var yyb842 bool
	var yyhl842 bool = l >= 0
	yyj842++
	if yyhl842 {
		yyb842 = yyj842 > l
	} else {
		yyb842 = r.CheckBreak()
	}
	if yyb842 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj842++
	if yyhl842 {
		yyb842 = yyj842 > l
	} else {
		yyb842 = r.CheckBreak()
	}
	if yyb842 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FieldRef = ObjectFieldSelector{}
	} else {
		yyv844 := &x.FieldRef
		yyv844.CodecDecodeSelf(d)
	}
	for {
		yyj842++
		if yyhl842 {
			yyb842 = yyj842 > l
		} else {
			yyb842 = r.CheckBreak()
		}
		if yyb842 {
			break
		}
		z.DecStructFieldNotFound(yyj842-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym845 := z.EncBinary()
		_ = yym845
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep846 := !z.EncBinary()
			yy2arr846 := z.EncBasicHandle().StructToArray
			var yyq846 [5]bool
			_, _, _ = yysep846, yyq846, yy2arr846
			const yyr846 bool = false
			yyq846[0] = x.Name != ""
			yyq846[1] = x.HostPort != 0
			yyq846[3] = x.Protocol != ""
			yyq846[4] = x.HostIP != ""
			if yyr846 || yy2arr846 {
				r.EncodeArrayStart(5)
			} else {
				var yynn846 int = 1
				for _, b := range yyq846 {
					if b {
						yynn846++
					}
				}
				r.EncodeMapStart(yynn846)
			}
			if yyr846 || yy2arr846 {
				if yyq846[0] {
					yym848 := z.EncBinary()
					_ = yym848
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq846[0] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym849 := z.EncBinary()
					_ = yym849
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr846 || yy2arr846 {
				if yyq846[1] {
					yym851 := z.EncBinary()
					_ = yym851
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq846[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPort"))
					yym852 := z.EncBinary()
					_ = yym852
					if false {
					} else {
						r.EncodeInt(int64(x.HostPort))
					}
				}
			}
			if yyr846 || yy2arr846 {
				yym854 := z.EncBinary()
				_ = yym854
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("containerPort"))
				yym855 := z.EncBinary()
				_ = yym855
				if false {
				} else {
					r.EncodeInt(int64(x.ContainerPort))
				}
			}
			if yyr846 || yy2arr846 {
				if yyq846[3] {
					x.Protocol.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq846[3] {
					r.EncodeString(codecSelferC_UTF81234, string("protocol"))
					x.Protocol.CodecEncodeSelf(e)
				}
			}
			if yyr846 || yy2arr846 {
				if yyq846[4] {
					yym858 := z.EncBinary()
					_ = yym858
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq846[4] {
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					yym859 := z.EncBinary()
					_ = yym859
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yysep846 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym860 := z.DecBinary()
	_ = yym860
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl861 := r.ReadMapStart()
			if yyl861 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl861, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl861 := r.ReadArrayStart()
			if yyl861 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl861, 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 yys862Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys862Slc
	var yyhl862 bool = l >= 0
	for yyj862 := 0; ; yyj862++ {
		if yyhl862 {
			if yyj862 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys862Slc = r.DecodeBytes(yys862Slc, true, true)
		yys862 := string(yys862Slc)
		switch yys862 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "hostPort":
			if r.TryDecodeAsNil() {
				x.HostPort = 0
			} else {
				x.HostPort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "containerPort":
			if r.TryDecodeAsNil() {
				x.ContainerPort = 0
			} else {
				x.ContainerPort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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, yys862)
		} // end switch yys862
	} // end for yyj862
	if !yyhl862 {
		r.ReadEnd()
	}
}

func (x *ContainerPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj868 int
	var yyb868 bool
	var yyhl868 bool = l >= 0
	yyj868++
	if yyhl868 {
		yyb868 = yyj868 > l
	} else {
		yyb868 = r.CheckBreak()
	}
	if yyb868 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj868++
	if yyhl868 {
		yyb868 = yyj868 > l
	} else {
		yyb868 = r.CheckBreak()
	}
	if yyb868 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostPort = 0
	} else {
		x.HostPort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj868++
	if yyhl868 {
		yyb868 = yyj868 > l
	} else {
		yyb868 = r.CheckBreak()
	}
	if yyb868 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerPort = 0
	} else {
		x.ContainerPort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj868++
	if yyhl868 {
		yyb868 = yyj868 > l
	} else {
		yyb868 = r.CheckBreak()
	}
	if yyb868 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj868++
	if yyhl868 {
		yyb868 = yyj868 > l
	} else {
		yyb868 = r.CheckBreak()
	}
	if yyb868 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	for {
		yyj868++
		if yyhl868 {
			yyb868 = yyj868 > l
		} else {
			yyb868 = r.CheckBreak()
		}
		if yyb868 {
			break
		}
		z.DecStructFieldNotFound(yyj868-1, "")
	}
	r.ReadEnd()
}

func (x *VolumeMount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym874 := z.EncBinary()
		_ = yym874
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep875 := !z.EncBinary()
			yy2arr875 := z.EncBasicHandle().StructToArray
			var yyq875 [3]bool
			_, _, _ = yysep875, yyq875, yy2arr875
			const yyr875 bool = false
			yyq875[1] = x.ReadOnly != false
			if yyr875 || yy2arr875 {
				r.EncodeArrayStart(3)
			} else {
				var yynn875 int = 2
				for _, b := range yyq875 {
					if b {
						yynn875++
					}
				}
				r.EncodeMapStart(yynn875)
			}
			if yyr875 || yy2arr875 {
				yym877 := z.EncBinary()
				_ = yym877
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym878 := z.EncBinary()
				_ = yym878
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr875 || yy2arr875 {
				if yyq875[1] {
					yym880 := z.EncBinary()
					_ = yym880
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq875[1] {
					r.EncodeString(codecSelferC_UTF81234, string("readOnly"))
					yym881 := z.EncBinary()
					_ = yym881
					if false {
					} else {
						r.EncodeBool(bool(x.ReadOnly))
					}
				}
			}
			if yyr875 || yy2arr875 {
				yym883 := z.EncBinary()
				_ = yym883
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("mountPath"))
				yym884 := z.EncBinary()
				_ = yym884
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MountPath))
				}
			}
			if yysep875 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *VolumeMount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym885 := z.DecBinary()
	_ = yym885
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl886 := r.ReadMapStart()
			if yyl886 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl886, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl886 := r.ReadArrayStart()
			if yyl886 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl886, 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 yys887Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys887Slc
	var yyhl887 bool = l >= 0
	for yyj887 := 0; ; yyj887++ {
		if yyhl887 {
			if yyj887 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys887Slc = r.DecodeBytes(yys887Slc, true, true)
		yys887 := string(yys887Slc)
		switch yys887 {
		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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys887)
		} // end switch yys887
	} // end for yyj887
	if !yyhl887 {
		r.ReadEnd()
	}
}

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

func (x *EnvVar) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym895 := z.EncBinary()
		_ = yym895
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep896 := !z.EncBinary()
			yy2arr896 := z.EncBasicHandle().StructToArray
			var yyq896 [3]bool
			_, _, _ = yysep896, yyq896, yy2arr896
			const yyr896 bool = false
			yyq896[1] = x.Value != ""
			yyq896[2] = x.ValueFrom != nil
			if yyr896 || yy2arr896 {
				r.EncodeArrayStart(3)
			} else {
				var yynn896 int = 1
				for _, b := range yyq896 {
					if b {
						yynn896++
					}
				}
				r.EncodeMapStart(yynn896)
			}
			if yyr896 || yy2arr896 {
				yym898 := z.EncBinary()
				_ = yym898
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym899 := z.EncBinary()
				_ = yym899
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr896 || yy2arr896 {
				if yyq896[1] {
					yym901 := z.EncBinary()
					_ = yym901
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq896[1] {
					r.EncodeString(codecSelferC_UTF81234, string("value"))
					yym902 := z.EncBinary()
					_ = yym902
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Value))
					}
				}
			}
			if yyr896 || yy2arr896 {
				if yyq896[2] {
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq896[2] {
					r.EncodeString(codecSelferC_UTF81234, string("valueFrom"))
					if x.ValueFrom == nil {
						r.EncodeNil()
					} else {
						x.ValueFrom.CodecEncodeSelf(e)
					}
				}
			}
			if yysep896 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EnvVar) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym904 := z.DecBinary()
	_ = yym904
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl905 := r.ReadMapStart()
			if yyl905 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl905, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl905 := r.ReadArrayStart()
			if yyl905 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl905, 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 yys906Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys906Slc
	var yyhl906 bool = l >= 0
	for yyj906 := 0; ; yyj906++ {
		if yyhl906 {
			if yyj906 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys906Slc = r.DecodeBytes(yys906Slc, true, true)
		yys906 := string(yys906Slc)
		switch yys906 {
		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, yys906)
		} // end switch yys906
	} // end for yyj906
	if !yyhl906 {
		r.ReadEnd()
	}
}

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

func (x *EnvVarSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym914 := z.EncBinary()
		_ = yym914
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep915 := !z.EncBinary()
			yy2arr915 := z.EncBasicHandle().StructToArray
			var yyq915 [1]bool
			_, _, _ = yysep915, yyq915, yy2arr915
			const yyr915 bool = false
			if yyr915 || yy2arr915 {
				r.EncodeArrayStart(1)
			} else {
				var yynn915 int = 1
				for _, b := range yyq915 {
					if b {
						yynn915++
					}
				}
				r.EncodeMapStart(yynn915)
			}
			if yyr915 || yy2arr915 {
				if x.FieldRef == nil {
					r.EncodeNil()
				} else {
					x.FieldRef.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fieldRef"))
				if x.FieldRef == nil {
					r.EncodeNil()
				} else {
					x.FieldRef.CodecEncodeSelf(e)
				}
			}
			if yysep915 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EnvVarSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym917 := z.DecBinary()
	_ = yym917
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl918 := r.ReadMapStart()
			if yyl918 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl918, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl918 := r.ReadArrayStart()
			if yyl918 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl918, 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 yys919Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys919Slc
	var yyhl919 bool = l >= 0
	for yyj919 := 0; ; yyj919++ {
		if yyhl919 {
			if yyj919 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys919Slc = r.DecodeBytes(yys919Slc, true, true)
		yys919 := string(yys919Slc)
		switch yys919 {
		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)
			}
		default:
			z.DecStructFieldNotFound(-1, yys919)
		} // end switch yys919
	} // end for yyj919
	if !yyhl919 {
		r.ReadEnd()
	}
}

func (x *EnvVarSource) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj921 int
	var yyb921 bool
	var yyhl921 bool = l >= 0
	yyj921++
	if yyhl921 {
		yyb921 = yyj921 > l
	} else {
		yyb921 = r.CheckBreak()
	}
	if yyb921 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FieldRef != nil {
			x.FieldRef = nil
		}
	} else {
		if x.FieldRef == nil {
			x.FieldRef = new(ObjectFieldSelector)
		}
		x.FieldRef.CodecDecodeSelf(d)
	}
	for {
		yyj921++
		if yyhl921 {
			yyb921 = yyj921 > l
		} else {
			yyb921 = r.CheckBreak()
		}
		if yyb921 {
			break
		}
		z.DecStructFieldNotFound(yyj921-1, "")
	}
	r.ReadEnd()
}

func (x *ObjectFieldSelector) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym923 := z.EncBinary()
		_ = yym923
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep924 := !z.EncBinary()
			yy2arr924 := z.EncBasicHandle().StructToArray
			var yyq924 [2]bool
			_, _, _ = yysep924, yyq924, yy2arr924
			const yyr924 bool = false
			if yyr924 || yy2arr924 {
				r.EncodeArrayStart(2)
			} else {
				var yynn924 int = 2
				for _, b := range yyq924 {
					if b {
						yynn924++
					}
				}
				r.EncodeMapStart(yynn924)
			}
			if yyr924 || yy2arr924 {
				yym926 := z.EncBinary()
				_ = yym926
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
				yym927 := z.EncBinary()
				_ = yym927
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
				}
			}
			if yyr924 || yy2arr924 {
				yym929 := z.EncBinary()
				_ = yym929
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
				yym930 := z.EncBinary()
				_ = yym930
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
				}
			}
			if yysep924 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ObjectFieldSelector) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym931 := z.DecBinary()
	_ = yym931
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl932 := r.ReadMapStart()
			if yyl932 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl932, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl932 := r.ReadArrayStart()
			if yyl932 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl932, 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 yys933Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys933Slc
	var yyhl933 bool = l >= 0
	for yyj933 := 0; ; yyj933++ {
		if yyhl933 {
			if yyj933 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys933Slc = r.DecodeBytes(yys933Slc, true, true)
		yys933 := string(yys933Slc)
		switch yys933 {
		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, yys933)
		} // end switch yys933
	} // end for yyj933
	if !yyhl933 {
		r.ReadEnd()
	}
}

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

func (x *HTTPGetAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym939 := z.EncBinary()
		_ = yym939
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep940 := !z.EncBinary()
			yy2arr940 := z.EncBasicHandle().StructToArray
			var yyq940 [4]bool
			_, _, _ = yysep940, yyq940, yy2arr940
			const yyr940 bool = false
			yyq940[0] = x.Path != ""
			yyq940[1] = true
			yyq940[2] = x.Host != ""
			yyq940[3] = x.Scheme != ""
			if yyr940 || yy2arr940 {
				r.EncodeArrayStart(4)
			} else {
				var yynn940 int = 0
				for _, b := range yyq940 {
					if b {
						yynn940++
					}
				}
				r.EncodeMapStart(yynn940)
			}
			if yyr940 || yy2arr940 {
				if yyq940[0] {
					yym942 := z.EncBinary()
					_ = yym942
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq940[0] {
					r.EncodeString(codecSelferC_UTF81234, string("path"))
					yym943 := z.EncBinary()
					_ = yym943
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Path))
					}
				}
			}
			if yyr940 || yy2arr940 {
				if yyq940[1] {
					yy945 := &x.Port
					yym946 := z.EncBinary()
					_ = yym946
					if false {
					} else if z.HasExtensions() && z.EncExt(yy945) {
					} else if !yym946 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy945)
					} else {
						z.EncFallback(yy945)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq940[1] {
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					yy947 := &x.Port
					yym948 := z.EncBinary()
					_ = yym948
					if false {
					} else if z.HasExtensions() && z.EncExt(yy947) {
					} else if !yym948 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy947)
					} else {
						z.EncFallback(yy947)
					}
				}
			}
			if yyr940 || yy2arr940 {
				if yyq940[2] {
					yym950 := z.EncBinary()
					_ = yym950
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq940[2] {
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					yym951 := z.EncBinary()
					_ = yym951
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yyr940 || yy2arr940 {
				if yyq940[3] {
					x.Scheme.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq940[3] {
					r.EncodeString(codecSelferC_UTF81234, string("scheme"))
					x.Scheme.CodecEncodeSelf(e)
				}
			}
			if yysep940 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *HTTPGetAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym953 := z.DecBinary()
	_ = yym953
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl954 := r.ReadMapStart()
			if yyl954 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl954, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl954 := r.ReadArrayStart()
			if yyl954 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl954, 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 yys955Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys955Slc
	var yyhl955 bool = l >= 0
	for yyj955 := 0; ; yyj955++ {
		if yyhl955 {
			if yyj955 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys955Slc = r.DecodeBytes(yys955Slc, true, true)
		yys955 := string(yys955Slc)
		switch yys955 {
		case "path":
			if r.TryDecodeAsNil() {
				x.Path = ""
			} else {
				x.Path = string(r.DecodeString())
			}
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_util.IntOrString{}
			} else {
				yyv957 := &x.Port
				yym958 := z.DecBinary()
				_ = yym958
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv957) {
				} else if !yym958 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv957)
				} else {
					z.DecFallback(yyv957, 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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys955)
		} // end switch yys955
	} // end for yyj955
	if !yyhl955 {
		r.ReadEnd()
	}
}

func (x *HTTPGetAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj961 int
	var yyb961 bool
	var yyhl961 bool = l >= 0
	yyj961++
	if yyhl961 {
		yyb961 = yyj961 > l
	} else {
		yyb961 = r.CheckBreak()
	}
	if yyb961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Path = ""
	} else {
		x.Path = string(r.DecodeString())
	}
	yyj961++
	if yyhl961 {
		yyb961 = yyj961 > l
	} else {
		yyb961 = r.CheckBreak()
	}
	if yyb961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = pkg5_util.IntOrString{}
	} else {
		yyv963 := &x.Port
		yym964 := z.DecBinary()
		_ = yym964
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv963) {
		} else if !yym964 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv963)
		} else {
			z.DecFallback(yyv963, false)
		}
	}
	yyj961++
	if yyhl961 {
		yyb961 = yyj961 > l
	} else {
		yyb961 = r.CheckBreak()
	}
	if yyb961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Host = ""
	} else {
		x.Host = string(r.DecodeString())
	}
	yyj961++
	if yyhl961 {
		yyb961 = yyj961 > l
	} else {
		yyb961 = r.CheckBreak()
	}
	if yyb961 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Scheme = ""
	} else {
		x.Scheme = URIScheme(r.DecodeString())
	}
	for {
		yyj961++
		if yyhl961 {
			yyb961 = yyj961 > l
		} else {
			yyb961 = r.CheckBreak()
		}
		if yyb961 {
			break
		}
		z.DecStructFieldNotFound(yyj961-1, "")
	}
	r.ReadEnd()
}

func (x URIScheme) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym967 := z.EncBinary()
	_ = yym967
	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
	yym968 := z.DecBinary()
	_ = yym968
	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 {
		yym969 := z.EncBinary()
		_ = yym969
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep970 := !z.EncBinary()
			yy2arr970 := z.EncBasicHandle().StructToArray
			var yyq970 [1]bool
			_, _, _ = yysep970, yyq970, yy2arr970
			const yyr970 bool = false
			yyq970[0] = true
			if yyr970 || yy2arr970 {
				r.EncodeArrayStart(1)
			} else {
				var yynn970 int = 0
				for _, b := range yyq970 {
					if b {
						yynn970++
					}
				}
				r.EncodeMapStart(yynn970)
			}
			if yyr970 || yy2arr970 {
				if yyq970[0] {
					yy972 := &x.Port
					yym973 := z.EncBinary()
					_ = yym973
					if false {
					} else if z.HasExtensions() && z.EncExt(yy972) {
					} else if !yym973 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy972)
					} else {
						z.EncFallback(yy972)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq970[0] {
					r.EncodeString(codecSelferC_UTF81234, string("port"))
					yy974 := &x.Port
					yym975 := z.EncBinary()
					_ = yym975
					if false {
					} else if z.HasExtensions() && z.EncExt(yy974) {
					} else if !yym975 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy974)
					} else {
						z.EncFallback(yy974)
					}
				}
			}
			if yysep970 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *TCPSocketAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym976 := z.DecBinary()
	_ = yym976
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl977 := r.ReadMapStart()
			if yyl977 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl977, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl977 := r.ReadArrayStart()
			if yyl977 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl977, 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 yys978Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys978Slc
	var yyhl978 bool = l >= 0
	for yyj978 := 0; ; yyj978++ {
		if yyhl978 {
			if yyj978 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys978Slc = r.DecodeBytes(yys978Slc, true, true)
		yys978 := string(yys978Slc)
		switch yys978 {
		case "port":
			if r.TryDecodeAsNil() {
				x.Port = pkg5_util.IntOrString{}
			} else {
				yyv979 := &x.Port
				yym980 := z.DecBinary()
				_ = yym980
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv979) {
				} else if !yym980 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv979)
				} else {
					z.DecFallback(yyv979, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys978)
		} // end switch yys978
	} // end for yyj978
	if !yyhl978 {
		r.ReadEnd()
	}
}

func (x *TCPSocketAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj981 int
	var yyb981 bool
	var yyhl981 bool = l >= 0
	yyj981++
	if yyhl981 {
		yyb981 = yyj981 > l
	} else {
		yyb981 = r.CheckBreak()
	}
	if yyb981 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = pkg5_util.IntOrString{}
	} else {
		yyv982 := &x.Port
		yym983 := z.DecBinary()
		_ = yym983
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv982) {
		} else if !yym983 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv982)
		} else {
			z.DecFallback(yyv982, false)
		}
	}
	for {
		yyj981++
		if yyhl981 {
			yyb981 = yyj981 > l
		} else {
			yyb981 = r.CheckBreak()
		}
		if yyb981 {
			break
		}
		z.DecStructFieldNotFound(yyj981-1, "")
	}
	r.ReadEnd()
}

func (x *ExecAction) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym984 := z.EncBinary()
		_ = yym984
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep985 := !z.EncBinary()
			yy2arr985 := z.EncBasicHandle().StructToArray
			var yyq985 [1]bool
			_, _, _ = yysep985, yyq985, yy2arr985
			const yyr985 bool = false
			yyq985[0] = len(x.Command) != 0
			if yyr985 || yy2arr985 {
				r.EncodeArrayStart(1)
			} else {
				var yynn985 int = 0
				for _, b := range yyq985 {
					if b {
						yynn985++
					}
				}
				r.EncodeMapStart(yynn985)
			}
			if yyr985 || yy2arr985 {
				if yyq985[0] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym987 := z.EncBinary()
						_ = yym987
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq985[0] {
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym988 := z.EncBinary()
						_ = yym988
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yysep985 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ExecAction) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym989 := z.DecBinary()
	_ = yym989
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl990 := r.ReadMapStart()
			if yyl990 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl990, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl990 := r.ReadArrayStart()
			if yyl990 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl990, 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 yys991Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys991Slc
	var yyhl991 bool = l >= 0
	for yyj991 := 0; ; yyj991++ {
		if yyhl991 {
			if yyj991 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys991Slc = r.DecodeBytes(yys991Slc, true, true)
		yys991 := string(yys991Slc)
		switch yys991 {
		case "command":
			if r.TryDecodeAsNil() {
				x.Command = nil
			} else {
				yyv992 := &x.Command
				yym993 := z.DecBinary()
				_ = yym993
				if false {
				} else {
					z.F.DecSliceStringX(yyv992, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys991)
		} // end switch yys991
	} // end for yyj991
	if !yyhl991 {
		r.ReadEnd()
	}
}

func (x *ExecAction) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj994 int
	var yyb994 bool
	var yyhl994 bool = l >= 0
	yyj994++
	if yyhl994 {
		yyb994 = yyj994 > l
	} else {
		yyb994 = r.CheckBreak()
	}
	if yyb994 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv995 := &x.Command
		yym996 := z.DecBinary()
		_ = yym996
		if false {
		} else {
			z.F.DecSliceStringX(yyv995, false, d)
		}
	}
	for {
		yyj994++
		if yyhl994 {
			yyb994 = yyj994 > l
		} else {
			yyb994 = r.CheckBreak()
		}
		if yyb994 {
			break
		}
		z.DecStructFieldNotFound(yyj994-1, "")
	}
	r.ReadEnd()
}

func (x *Probe) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym997 := z.EncBinary()
		_ = yym997
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep998 := !z.EncBinary()
			yy2arr998 := z.EncBasicHandle().StructToArray
			var yyq998 [8]bool
			_, _, _ = yysep998, yyq998, yy2arr998
			const yyr998 bool = false
			yyq998[0] = x.Handler.Exec != nil && x.Exec != nil
			yyq998[1] = x.Handler.HTTPGet != nil && x.HTTPGet != nil
			yyq998[2] = x.Handler.TCPSocket != nil && x.TCPSocket != nil
			yyq998[3] = x.InitialDelaySeconds != 0
			yyq998[4] = x.TimeoutSeconds != 0
			yyq998[5] = x.PeriodSeconds != 0
			yyq998[6] = x.SuccessThreshold != 0
			yyq998[7] = x.FailureThreshold != 0
			if yyr998 || yy2arr998 {
				r.EncodeArrayStart(8)
			} else {
				var yynn998 int = 0
				for _, b := range yyq998 {
					if b {
						yynn998++
					}
				}
				r.EncodeMapStart(yynn998)
			}
			var yyn999 bool
			if x.Handler.Exec == nil {
				yyn999 = true
				goto LABEL999
			}
		LABEL999:
			if yyr998 || yy2arr998 {
				if yyn999 {
					r.EncodeNil()
				} else {
					if yyq998[0] {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq998[0] {
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					if yyn999 {
						r.EncodeNil()
					} else {
						if x.Exec == nil {
							r.EncodeNil()
						} else {
							x.Exec.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1000 bool
			if x.Handler.HTTPGet == nil {
				yyn1000 = true
				goto LABEL1000
			}
		LABEL1000:
			if yyr998 || yy2arr998 {
				if yyn1000 {
					r.EncodeNil()
				} else {
					if yyq998[1] {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq998[1] {
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					if yyn1000 {
						r.EncodeNil()
					} else {
						if x.HTTPGet == nil {
							r.EncodeNil()
						} else {
							x.HTTPGet.CodecEncodeSelf(e)
						}
					}
				}
			}
			var yyn1001 bool
			if x.Handler.TCPSocket == nil {
				yyn1001 = true
				goto LABEL1001
			}
		LABEL1001:
			if yyr998 || yy2arr998 {
				if yyn1001 {
					r.EncodeNil()
				} else {
					if yyq998[2] {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					} else {
						r.EncodeNil()
					}
				}
			} else {
				if yyq998[2] {
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					if yyn1001 {
						r.EncodeNil()
					} else {
						if x.TCPSocket == nil {
							r.EncodeNil()
						} else {
							x.TCPSocket.CodecEncodeSelf(e)
						}
					}
				}
			}
			if yyr998 || yy2arr998 {
				if yyq998[3] {
					yym1003 := z.EncBinary()
					_ = yym1003
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq998[3] {
					r.EncodeString(codecSelferC_UTF81234, string("initialDelaySeconds"))
					yym1004 := z.EncBinary()
					_ = yym1004
					if false {
					} else {
						r.EncodeInt(int64(x.InitialDelaySeconds))
					}
				}
			}
			if yyr998 || yy2arr998 {
				if yyq998[4] {
					yym1006 := z.EncBinary()
					_ = yym1006
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq998[4] {
					r.EncodeString(codecSelferC_UTF81234, string("timeoutSeconds"))
					yym1007 := z.EncBinary()
					_ = yym1007
					if false {
					} else {
						r.EncodeInt(int64(x.TimeoutSeconds))
					}
				}
			}
			if yyr998 || yy2arr998 {
				if yyq998[5] {
					yym1009 := z.EncBinary()
					_ = yym1009
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq998[5] {
					r.EncodeString(codecSelferC_UTF81234, string("periodSeconds"))
					yym1010 := z.EncBinary()
					_ = yym1010
					if false {
					} else {
						r.EncodeInt(int64(x.PeriodSeconds))
					}
				}
			}
			if yyr998 || yy2arr998 {
				if yyq998[6] {
					yym1012 := z.EncBinary()
					_ = yym1012
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq998[6] {
					r.EncodeString(codecSelferC_UTF81234, string("successThreshold"))
					yym1013 := z.EncBinary()
					_ = yym1013
					if false {
					} else {
						r.EncodeInt(int64(x.SuccessThreshold))
					}
				}
			}
			if yyr998 || yy2arr998 {
				if yyq998[7] {
					yym1015 := z.EncBinary()
					_ = yym1015
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq998[7] {
					r.EncodeString(codecSelferC_UTF81234, string("failureThreshold"))
					yym1016 := z.EncBinary()
					_ = yym1016
					if false {
					} else {
						r.EncodeInt(int64(x.FailureThreshold))
					}
				}
			}
			if yysep998 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Probe) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1017 := z.DecBinary()
	_ = yym1017
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1018 := r.ReadMapStart()
			if yyl1018 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1018, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1018 := r.ReadArrayStart()
			if yyl1018 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1018, 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 yys1019Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1019Slc
	var yyhl1019 bool = l >= 0
	for yyj1019 := 0; ; yyj1019++ {
		if yyhl1019 {
			if yyj1019 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1019Slc = r.DecodeBytes(yys1019Slc, true, true)
		yys1019 := string(yys1019Slc)
		switch yys1019 {
		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 = int64(r.DecodeInt(64))
			}
		case "timeoutSeconds":
			if r.TryDecodeAsNil() {
				x.TimeoutSeconds = 0
			} else {
				x.TimeoutSeconds = int64(r.DecodeInt(64))
			}
		case "periodSeconds":
			if r.TryDecodeAsNil() {
				x.PeriodSeconds = 0
			} else {
				x.PeriodSeconds = int64(r.DecodeInt(64))
			}
		case "successThreshold":
			if r.TryDecodeAsNil() {
				x.SuccessThreshold = 0
			} else {
				x.SuccessThreshold = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "failureThreshold":
			if r.TryDecodeAsNil() {
				x.FailureThreshold = 0
			} else {
				x.FailureThreshold = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1019)
		} // end switch yys1019
	} // end for yyj1019
	if !yyhl1019 {
		r.ReadEnd()
	}
}

func (x *Probe) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1028 int
	var yyb1028 bool
	var yyhl1028 bool = l >= 0
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Exec != nil {
			x.Exec = nil
		}
	} else {
		if x.Exec == nil {
			x.Exec = new(ExecAction)
		}
		x.Exec.CodecDecodeSelf(d)
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.HTTPGet != nil {
			x.HTTPGet = nil
		}
	} else {
		if x.HTTPGet == nil {
			x.HTTPGet = new(HTTPGetAction)
		}
		x.HTTPGet.CodecDecodeSelf(d)
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TCPSocket != nil {
			x.TCPSocket = nil
		}
	} else {
		if x.TCPSocket == nil {
			x.TCPSocket = new(TCPSocketAction)
		}
		x.TCPSocket.CodecDecodeSelf(d)
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.InitialDelaySeconds = 0
	} else {
		x.InitialDelaySeconds = int64(r.DecodeInt(64))
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TimeoutSeconds = 0
	} else {
		x.TimeoutSeconds = int64(r.DecodeInt(64))
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PeriodSeconds = 0
	} else {
		x.PeriodSeconds = int64(r.DecodeInt(64))
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SuccessThreshold = 0
	} else {
		x.SuccessThreshold = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1028++
	if yyhl1028 {
		yyb1028 = yyj1028 > l
	} else {
		yyb1028 = r.CheckBreak()
	}
	if yyb1028 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FailureThreshold = 0
	} else {
		x.FailureThreshold = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj1028++
		if yyhl1028 {
			yyb1028 = yyj1028 > l
		} else {
			yyb1028 = r.CheckBreak()
		}
		if yyb1028 {
			break
		}
		z.DecStructFieldNotFound(yyj1028-1, "")
	}
	r.ReadEnd()
}

func (x PullPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1037 := z.EncBinary()
	_ = yym1037
	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
	yym1038 := z.DecBinary()
	_ = yym1038
	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
	yym1039 := z.EncBinary()
	_ = yym1039
	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
	yym1040 := z.DecBinary()
	_ = yym1040
	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 {
		yym1041 := z.EncBinary()
		_ = yym1041
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1042 := !z.EncBinary()
			yy2arr1042 := z.EncBasicHandle().StructToArray
			var yyq1042 [2]bool
			_, _, _ = yysep1042, yyq1042, yy2arr1042
			const yyr1042 bool = false
			yyq1042[0] = len(x.Add) != 0
			yyq1042[1] = len(x.Drop) != 0
			if yyr1042 || yy2arr1042 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1042 int = 0
				for _, b := range yyq1042 {
					if b {
						yynn1042++
					}
				}
				r.EncodeMapStart(yynn1042)
			}
			if yyr1042 || yy2arr1042 {
				if yyq1042[0] {
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1044 := z.EncBinary()
						_ = yym1044
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1042[0] {
					r.EncodeString(codecSelferC_UTF81234, string("add"))
					if x.Add == nil {
						r.EncodeNil()
					} else {
						yym1045 := z.EncBinary()
						_ = yym1045
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Add), e)
						}
					}
				}
			}
			if yyr1042 || yy2arr1042 {
				if yyq1042[1] {
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1047 := z.EncBinary()
						_ = yym1047
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1042[1] {
					r.EncodeString(codecSelferC_UTF81234, string("drop"))
					if x.Drop == nil {
						r.EncodeNil()
					} else {
						yym1048 := z.EncBinary()
						_ = yym1048
						if false {
						} else {
							h.encSliceCapability(([]Capability)(x.Drop), e)
						}
					}
				}
			}
			if yysep1042 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Capabilities) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1049 := z.DecBinary()
	_ = yym1049
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1050 := r.ReadMapStart()
			if yyl1050 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1050, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1050 := r.ReadArrayStart()
			if yyl1050 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1050, 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 yys1051Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1051Slc
	var yyhl1051 bool = l >= 0
	for yyj1051 := 0; ; yyj1051++ {
		if yyhl1051 {
			if yyj1051 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1051Slc = r.DecodeBytes(yys1051Slc, true, true)
		yys1051 := string(yys1051Slc)
		switch yys1051 {
		case "add":
			if r.TryDecodeAsNil() {
				x.Add = nil
			} else {
				yyv1052 := &x.Add
				yym1053 := z.DecBinary()
				_ = yym1053
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1052), d)
				}
			}
		case "drop":
			if r.TryDecodeAsNil() {
				x.Drop = nil
			} else {
				yyv1054 := &x.Drop
				yym1055 := z.DecBinary()
				_ = yym1055
				if false {
				} else {
					h.decSliceCapability((*[]Capability)(yyv1054), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1051)
		} // end switch yys1051
	} // end for yyj1051
	if !yyhl1051 {
		r.ReadEnd()
	}
}

func (x *Capabilities) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1056 int
	var yyb1056 bool
	var yyhl1056 bool = l >= 0
	yyj1056++
	if yyhl1056 {
		yyb1056 = yyj1056 > l
	} else {
		yyb1056 = r.CheckBreak()
	}
	if yyb1056 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Add = nil
	} else {
		yyv1057 := &x.Add
		yym1058 := z.DecBinary()
		_ = yym1058
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1057), d)
		}
	}
	yyj1056++
	if yyhl1056 {
		yyb1056 = yyj1056 > l
	} else {
		yyb1056 = r.CheckBreak()
	}
	if yyb1056 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Drop = nil
	} else {
		yyv1059 := &x.Drop
		yym1060 := z.DecBinary()
		_ = yym1060
		if false {
		} else {
			h.decSliceCapability((*[]Capability)(yyv1059), d)
		}
	}
	for {
		yyj1056++
		if yyhl1056 {
			yyb1056 = yyj1056 > l
		} else {
			yyb1056 = r.CheckBreak()
		}
		if yyb1056 {
			break
		}
		z.DecStructFieldNotFound(yyj1056-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceRequirements) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1061 := z.EncBinary()
		_ = yym1061
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1062 := !z.EncBinary()
			yy2arr1062 := z.EncBasicHandle().StructToArray
			var yyq1062 [2]bool
			_, _, _ = yysep1062, yyq1062, yy2arr1062
			const yyr1062 bool = false
			yyq1062[0] = len(x.Limits) != 0
			yyq1062[1] = len(x.Requests) != 0
			if yyr1062 || yy2arr1062 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1062 int = 0
				for _, b := range yyq1062 {
					if b {
						yynn1062++
					}
				}
				r.EncodeMapStart(yynn1062)
			}
			if yyr1062 || yy2arr1062 {
				if yyq1062[0] {
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1062[0] {
					r.EncodeString(codecSelferC_UTF81234, string("limits"))
					if x.Limits == nil {
						r.EncodeNil()
					} else {
						x.Limits.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1062 || yy2arr1062 {
				if yyq1062[1] {
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1062[1] {
					r.EncodeString(codecSelferC_UTF81234, string("requests"))
					if x.Requests == nil {
						r.EncodeNil()
					} else {
						x.Requests.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1062 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceRequirements) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1066 := r.ReadMapStart()
			if yyl1066 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1066, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1066 := r.ReadArrayStart()
			if yyl1066 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1066, 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 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
			}
		}
		yys1067Slc = r.DecodeBytes(yys1067Slc, true, true)
		yys1067 := string(yys1067Slc)
		switch yys1067 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv1068 := &x.Limits
				yyv1068.CodecDecodeSelf(d)
			}
		case "requests":
			if r.TryDecodeAsNil() {
				x.Requests = nil
			} else {
				yyv1069 := &x.Requests
				yyv1069.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1067)
		} // end switch yys1067
	} // end for yyj1067
	if !yyhl1067 {
		r.ReadEnd()
	}
}

func (x *ResourceRequirements) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1070 int
	var yyb1070 bool
	var yyhl1070 bool = l >= 0
	yyj1070++
	if yyhl1070 {
		yyb1070 = yyj1070 > l
	} else {
		yyb1070 = r.CheckBreak()
	}
	if yyb1070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv1071 := &x.Limits
		yyv1071.CodecDecodeSelf(d)
	}
	yyj1070++
	if yyhl1070 {
		yyb1070 = yyj1070 > l
	} else {
		yyb1070 = r.CheckBreak()
	}
	if yyb1070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Requests = nil
	} else {
		yyv1072 := &x.Requests
		yyv1072.CodecDecodeSelf(d)
	}
	for {
		yyj1070++
		if yyhl1070 {
			yyb1070 = yyj1070 > l
		} else {
			yyb1070 = r.CheckBreak()
		}
		if yyb1070 {
			break
		}
		z.DecStructFieldNotFound(yyj1070-1, "")
	}
	r.ReadEnd()
}

func (x *Container) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1073 := z.EncBinary()
		_ = yym1073
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1074 := !z.EncBinary()
			yy2arr1074 := z.EncBasicHandle().StructToArray
			var yyq1074 [18]bool
			_, _, _ = yysep1074, yyq1074, yy2arr1074
			const yyr1074 bool = false
			yyq1074[2] = len(x.Command) != 0
			yyq1074[3] = len(x.Args) != 0
			yyq1074[4] = x.WorkingDir != ""
			yyq1074[5] = len(x.Ports) != 0
			yyq1074[6] = len(x.Env) != 0
			yyq1074[7] = true
			yyq1074[8] = len(x.VolumeMounts) != 0
			yyq1074[9] = x.LivenessProbe != nil
			yyq1074[10] = x.ReadinessProbe != nil
			yyq1074[11] = x.Lifecycle != nil
			yyq1074[12] = x.TerminationMessagePath != ""
			yyq1074[14] = x.SecurityContext != nil
			yyq1074[15] = x.Stdin != false
			yyq1074[16] = x.StdinOnce != false
			yyq1074[17] = x.TTY != false
			if yyr1074 || yy2arr1074 {
				r.EncodeArrayStart(18)
			} else {
				var yynn1074 int = 3
				for _, b := range yyq1074 {
					if b {
						yynn1074++
					}
				}
				r.EncodeMapStart(yynn1074)
			}
			if yyr1074 || yy2arr1074 {
				yym1076 := z.EncBinary()
				_ = yym1076
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym1077 := z.EncBinary()
				_ = yym1077
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1074 || yy2arr1074 {
				yym1079 := z.EncBinary()
				_ = yym1079
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				yym1080 := z.EncBinary()
				_ = yym1080
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[2] {
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1082 := z.EncBinary()
						_ = yym1082
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[2] {
					r.EncodeString(codecSelferC_UTF81234, string("command"))
					if x.Command == nil {
						r.EncodeNil()
					} else {
						yym1083 := z.EncBinary()
						_ = yym1083
						if false {
						} else {
							z.F.EncSliceStringV(x.Command, false, e)
						}
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[3] {
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1085 := z.EncBinary()
						_ = yym1085
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[3] {
					r.EncodeString(codecSelferC_UTF81234, string("args"))
					if x.Args == nil {
						r.EncodeNil()
					} else {
						yym1086 := z.EncBinary()
						_ = yym1086
						if false {
						} else {
							z.F.EncSliceStringV(x.Args, false, e)
						}
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[4] {
					yym1088 := z.EncBinary()
					_ = yym1088
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1074[4] {
					r.EncodeString(codecSelferC_UTF81234, string("workingDir"))
					yym1089 := z.EncBinary()
					_ = yym1089
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.WorkingDir))
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[5] {
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1091 := z.EncBinary()
						_ = yym1091
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[5] {
					r.EncodeString(codecSelferC_UTF81234, string("ports"))
					if x.Ports == nil {
						r.EncodeNil()
					} else {
						yym1092 := z.EncBinary()
						_ = yym1092
						if false {
						} else {
							h.encSliceContainerPort(([]ContainerPort)(x.Ports), e)
						}
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[6] {
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1094 := z.EncBinary()
						_ = yym1094
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[6] {
					r.EncodeString(codecSelferC_UTF81234, string("env"))
					if x.Env == nil {
						r.EncodeNil()
					} else {
						yym1095 := z.EncBinary()
						_ = yym1095
						if false {
						} else {
							h.encSliceEnvVar(([]EnvVar)(x.Env), e)
						}
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[7] {
					yy1097 := &x.Resources
					yy1097.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[7] {
					r.EncodeString(codecSelferC_UTF81234, string("resources"))
					yy1098 := &x.Resources
					yy1098.CodecEncodeSelf(e)
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[8] {
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1100 := z.EncBinary()
						_ = yym1100
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[8] {
					r.EncodeString(codecSelferC_UTF81234, string("volumeMounts"))
					if x.VolumeMounts == nil {
						r.EncodeNil()
					} else {
						yym1101 := z.EncBinary()
						_ = yym1101
						if false {
						} else {
							h.encSliceVolumeMount(([]VolumeMount)(x.VolumeMounts), e)
						}
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[9] {
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[9] {
					r.EncodeString(codecSelferC_UTF81234, string("livenessProbe"))
					if x.LivenessProbe == nil {
						r.EncodeNil()
					} else {
						x.LivenessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[10] {
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[10] {
					r.EncodeString(codecSelferC_UTF81234, string("readinessProbe"))
					if x.ReadinessProbe == nil {
						r.EncodeNil()
					} else {
						x.ReadinessProbe.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[11] {
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[11] {
					r.EncodeString(codecSelferC_UTF81234, string("lifecycle"))
					if x.Lifecycle == nil {
						r.EncodeNil()
					} else {
						x.Lifecycle.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[12] {
					yym1106 := z.EncBinary()
					_ = yym1106
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1074[12] {
					r.EncodeString(codecSelferC_UTF81234, string("terminationMessagePath"))
					yym1107 := z.EncBinary()
					_ = yym1107
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.TerminationMessagePath))
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				x.ImagePullPolicy.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("imagePullPolicy"))
				x.ImagePullPolicy.CodecEncodeSelf(e)
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[14] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1074[14] {
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[15] {
					yym1111 := z.EncBinary()
					_ = yym1111
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1074[15] {
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					yym1112 := z.EncBinary()
					_ = yym1112
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[16] {
					yym1114 := z.EncBinary()
					_ = yym1114
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1074[16] {
					r.EncodeString(codecSelferC_UTF81234, string("stdinOnce"))
					yym1115 := z.EncBinary()
					_ = yym1115
					if false {
					} else {
						r.EncodeBool(bool(x.StdinOnce))
					}
				}
			}
			if yyr1074 || yy2arr1074 {
				if yyq1074[17] {
					yym1117 := z.EncBinary()
					_ = yym1117
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1074[17] {
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					yym1118 := z.EncBinary()
					_ = yym1118
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yysep1074 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Container) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1119 := z.DecBinary()
	_ = yym1119
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1120 := r.ReadMapStart()
			if yyl1120 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1120, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1120 := r.ReadArrayStart()
			if yyl1120 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1120, 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 yys1121Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1121Slc
	var yyhl1121 bool = l >= 0
	for yyj1121 := 0; ; yyj1121++ {
		if yyhl1121 {
			if yyj1121 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1121Slc = r.DecodeBytes(yys1121Slc, true, true)
		yys1121 := string(yys1121Slc)
		switch yys1121 {
		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 {
				yyv1124 := &x.Command
				yym1125 := z.DecBinary()
				_ = yym1125
				if false {
				} else {
					z.F.DecSliceStringX(yyv1124, false, d)
				}
			}
		case "args":
			if r.TryDecodeAsNil() {
				x.Args = nil
			} else {
				yyv1126 := &x.Args
				yym1127 := z.DecBinary()
				_ = yym1127
				if false {
				} else {
					z.F.DecSliceStringX(yyv1126, false, d)
				}
			}
		case "workingDir":
			if r.TryDecodeAsNil() {
				x.WorkingDir = ""
			} else {
				x.WorkingDir = string(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1129 := &x.Ports
				yym1130 := z.DecBinary()
				_ = yym1130
				if false {
				} else {
					h.decSliceContainerPort((*[]ContainerPort)(yyv1129), d)
				}
			}
		case "env":
			if r.TryDecodeAsNil() {
				x.Env = nil
			} else {
				yyv1131 := &x.Env
				yym1132 := z.DecBinary()
				_ = yym1132
				if false {
				} else {
					h.decSliceEnvVar((*[]EnvVar)(yyv1131), d)
				}
			}
		case "resources":
			if r.TryDecodeAsNil() {
				x.Resources = ResourceRequirements{}
			} else {
				yyv1133 := &x.Resources
				yyv1133.CodecDecodeSelf(d)
			}
		case "volumeMounts":
			if r.TryDecodeAsNil() {
				x.VolumeMounts = nil
			} else {
				yyv1134 := &x.VolumeMounts
				yym1135 := z.DecBinary()
				_ = yym1135
				if false {
				} else {
					h.decSliceVolumeMount((*[]VolumeMount)(yyv1134), 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, yys1121)
		} // end switch yys1121
	} // end for yyj1121
	if !yyhl1121 {
		r.ReadEnd()
	}
}

func (x *Container) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1145 int
	var yyb1145 bool
	var yyhl1145 bool = l >= 0
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Command = nil
	} else {
		yyv1148 := &x.Command
		yym1149 := z.DecBinary()
		_ = yym1149
		if false {
		} else {
			z.F.DecSliceStringX(yyv1148, false, d)
		}
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Args = nil
	} else {
		yyv1150 := &x.Args
		yym1151 := z.DecBinary()
		_ = yym1151
		if false {
		} else {
			z.F.DecSliceStringX(yyv1150, false, d)
		}
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.WorkingDir = ""
	} else {
		x.WorkingDir = string(r.DecodeString())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1153 := &x.Ports
		yym1154 := z.DecBinary()
		_ = yym1154
		if false {
		} else {
			h.decSliceContainerPort((*[]ContainerPort)(yyv1153), d)
		}
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Env = nil
	} else {
		yyv1155 := &x.Env
		yym1156 := z.DecBinary()
		_ = yym1156
		if false {
		} else {
			h.decSliceEnvVar((*[]EnvVar)(yyv1155), d)
		}
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Resources = ResourceRequirements{}
	} else {
		yyv1157 := &x.Resources
		yyv1157.CodecDecodeSelf(d)
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.VolumeMounts = nil
	} else {
		yyv1158 := &x.VolumeMounts
		yym1159 := z.DecBinary()
		_ = yym1159
		if false {
		} else {
			h.decSliceVolumeMount((*[]VolumeMount)(yyv1158), d)
		}
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.LivenessProbe != nil {
			x.LivenessProbe = nil
		}
	} else {
		if x.LivenessProbe == nil {
			x.LivenessProbe = new(Probe)
		}
		x.LivenessProbe.CodecDecodeSelf(d)
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ReadinessProbe != nil {
			x.ReadinessProbe = nil
		}
	} else {
		if x.ReadinessProbe == nil {
			x.ReadinessProbe = new(Probe)
		}
		x.ReadinessProbe.CodecDecodeSelf(d)
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Lifecycle != nil {
			x.Lifecycle = nil
		}
	} else {
		if x.Lifecycle == nil {
			x.Lifecycle = new(Lifecycle)
		}
		x.Lifecycle.CodecDecodeSelf(d)
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TerminationMessagePath = ""
	} else {
		x.TerminationMessagePath = string(r.DecodeString())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImagePullPolicy = ""
	} else {
		x.ImagePullPolicy = PullPolicy(r.DecodeString())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(SecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Stdin = false
	} else {
		x.Stdin = bool(r.DecodeBool())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.StdinOnce = false
	} else {
		x.StdinOnce = bool(r.DecodeBool())
	}
	yyj1145++
	if yyhl1145 {
		yyb1145 = yyj1145 > l
	} else {
		yyb1145 = r.CheckBreak()
	}
	if yyb1145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TTY = false
	} else {
		x.TTY = bool(r.DecodeBool())
	}
	for {
		yyj1145++
		if yyhl1145 {
			yyb1145 = yyj1145 > l
		} else {
			yyb1145 = r.CheckBreak()
		}
		if yyb1145 {
			break
		}
		z.DecStructFieldNotFound(yyj1145-1, "")
	}
	r.ReadEnd()
}

func (x *Handler) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1169 := z.EncBinary()
		_ = yym1169
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1170 := !z.EncBinary()
			yy2arr1170 := z.EncBasicHandle().StructToArray
			var yyq1170 [3]bool
			_, _, _ = yysep1170, yyq1170, yy2arr1170
			const yyr1170 bool = false
			yyq1170[0] = x.Exec != nil
			yyq1170[1] = x.HTTPGet != nil
			yyq1170[2] = x.TCPSocket != nil
			if yyr1170 || yy2arr1170 {
				r.EncodeArrayStart(3)
			} else {
				var yynn1170 int = 0
				for _, b := range yyq1170 {
					if b {
						yynn1170++
					}
				}
				r.EncodeMapStart(yynn1170)
			}
			if yyr1170 || yy2arr1170 {
				if yyq1170[0] {
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1170[0] {
					r.EncodeString(codecSelferC_UTF81234, string("exec"))
					if x.Exec == nil {
						r.EncodeNil()
					} else {
						x.Exec.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1170 || yy2arr1170 {
				if yyq1170[1] {
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1170[1] {
					r.EncodeString(codecSelferC_UTF81234, string("httpGet"))
					if x.HTTPGet == nil {
						r.EncodeNil()
					} else {
						x.HTTPGet.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1170 || yy2arr1170 {
				if yyq1170[2] {
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1170[2] {
					r.EncodeString(codecSelferC_UTF81234, string("tcpSocket"))
					if x.TCPSocket == nil {
						r.EncodeNil()
					} else {
						x.TCPSocket.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1170 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Handler) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1174 := z.DecBinary()
	_ = yym1174
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1175 := r.ReadMapStart()
			if yyl1175 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1175, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1175 := r.ReadArrayStart()
			if yyl1175 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1175, 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 yys1176Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1176Slc
	var yyhl1176 bool = l >= 0
	for yyj1176 := 0; ; yyj1176++ {
		if yyhl1176 {
			if yyj1176 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1176Slc = r.DecodeBytes(yys1176Slc, true, true)
		yys1176 := string(yys1176Slc)
		switch yys1176 {
		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, yys1176)
		} // end switch yys1176
	} // end for yyj1176
	if !yyhl1176 {
		r.ReadEnd()
	}
}

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

func (x *Lifecycle) 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 [2]bool
			_, _, _ = yysep1185, yyq1185, yy2arr1185
			const yyr1185 bool = false
			yyq1185[0] = x.PostStart != nil
			yyq1185[1] = x.PreStop != nil
			if yyr1185 || yy2arr1185 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1185 int = 0
				for _, b := range yyq1185 {
					if b {
						yynn1185++
					}
				}
				r.EncodeMapStart(yynn1185)
			}
			if yyr1185 || yy2arr1185 {
				if yyq1185[0] {
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1185[0] {
					r.EncodeString(codecSelferC_UTF81234, string("postStart"))
					if x.PostStart == nil {
						r.EncodeNil()
					} else {
						x.PostStart.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1185 || yy2arr1185 {
				if yyq1185[1] {
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1185[1] {
					r.EncodeString(codecSelferC_UTF81234, string("preStop"))
					if x.PreStop == nil {
						r.EncodeNil()
					} else {
						x.PreStop.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1185 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Lifecycle) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1188 := z.DecBinary()
	_ = yym1188
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1189 := r.ReadMapStart()
			if yyl1189 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1189, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1189 := r.ReadArrayStart()
			if yyl1189 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1189, 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 yys1190Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1190Slc
	var yyhl1190 bool = l >= 0
	for yyj1190 := 0; ; yyj1190++ {
		if yyhl1190 {
			if yyj1190 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1190Slc = r.DecodeBytes(yys1190Slc, true, true)
		yys1190 := string(yys1190Slc)
		switch yys1190 {
		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, yys1190)
		} // end switch yys1190
	} // end for yyj1190
	if !yyhl1190 {
		r.ReadEnd()
	}
}

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

func (x ConditionStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1196 := z.EncBinary()
	_ = yym1196
	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
	yym1197 := z.DecBinary()
	_ = yym1197
	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 {
		yym1198 := z.EncBinary()
		_ = yym1198
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1199 := !z.EncBinary()
			yy2arr1199 := z.EncBasicHandle().StructToArray
			var yyq1199 [2]bool
			_, _, _ = yysep1199, yyq1199, yy2arr1199
			const yyr1199 bool = false
			yyq1199[0] = x.Reason != ""
			yyq1199[1] = x.Message != ""
			if yyr1199 || yy2arr1199 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1199 int = 0
				for _, b := range yyq1199 {
					if b {
						yynn1199++
					}
				}
				r.EncodeMapStart(yynn1199)
			}
			if yyr1199 || yy2arr1199 {
				if yyq1199[0] {
					yym1201 := z.EncBinary()
					_ = yym1201
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1199[0] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1202 := z.EncBinary()
					_ = yym1202
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1199 || yy2arr1199 {
				if yyq1199[1] {
					yym1204 := z.EncBinary()
					_ = yym1204
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1199[1] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1205 := z.EncBinary()
					_ = yym1205
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yysep1199 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStateWaiting) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1206 := z.DecBinary()
	_ = yym1206
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1207 := r.ReadMapStart()
			if yyl1207 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1207, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1207 := r.ReadArrayStart()
			if yyl1207 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1207, 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 yys1208Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1208Slc
	var yyhl1208 bool = l >= 0
	for yyj1208 := 0; ; yyj1208++ {
		if yyhl1208 {
			if yyj1208 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1208Slc = r.DecodeBytes(yys1208Slc, true, true)
		yys1208 := string(yys1208Slc)
		switch yys1208 {
		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, yys1208)
		} // end switch yys1208
	} // end for yyj1208
	if !yyhl1208 {
		r.ReadEnd()
	}
}

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

func (x *ContainerStateRunning) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1214 := z.EncBinary()
		_ = yym1214
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1215 := !z.EncBinary()
			yy2arr1215 := z.EncBasicHandle().StructToArray
			var yyq1215 [1]bool
			_, _, _ = yysep1215, yyq1215, yy2arr1215
			const yyr1215 bool = false
			yyq1215[0] = true
			if yyr1215 || yy2arr1215 {
				r.EncodeArrayStart(1)
			} else {
				var yynn1215 int = 0
				for _, b := range yyq1215 {
					if b {
						yynn1215++
					}
				}
				r.EncodeMapStart(yynn1215)
			}
			if yyr1215 || yy2arr1215 {
				if yyq1215[0] {
					yy1217 := &x.StartedAt
					yym1218 := z.EncBinary()
					_ = yym1218
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1217) {
					} else if yym1218 {
						z.EncBinaryMarshal(yy1217)
					} else if !yym1218 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1217)
					} else {
						z.EncFallback(yy1217)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1215[0] {
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					yy1219 := &x.StartedAt
					yym1220 := z.EncBinary()
					_ = yym1220
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1219) {
					} else if yym1220 {
						z.EncBinaryMarshal(yy1219)
					} else if !yym1220 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1219)
					} else {
						z.EncFallback(yy1219)
					}
				}
			}
			if yysep1215 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStateRunning) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1221 := z.DecBinary()
	_ = yym1221
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1222 := r.ReadMapStart()
			if yyl1222 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1222, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1222 := r.ReadArrayStart()
			if yyl1222 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1222, 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 yys1223Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1223Slc
	var yyhl1223 bool = l >= 0
	for yyj1223 := 0; ; yyj1223++ {
		if yyhl1223 {
			if yyj1223 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1223Slc = r.DecodeBytes(yys1223Slc, true, true)
		yys1223 := string(yys1223Slc)
		switch yys1223 {
		case "startedAt":
			if r.TryDecodeAsNil() {
				x.StartedAt = pkg2_unversioned.Time{}
			} else {
				yyv1224 := &x.StartedAt
				yym1225 := z.DecBinary()
				_ = yym1225
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1224) {
				} else if yym1225 {
					z.DecBinaryUnmarshal(yyv1224)
				} else if !yym1225 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1224)
				} else {
					z.DecFallback(yyv1224, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1223)
		} // end switch yys1223
	} // end for yyj1223
	if !yyhl1223 {
		r.ReadEnd()
	}
}

func (x *ContainerStateRunning) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1226 int
	var yyb1226 bool
	var yyhl1226 bool = l >= 0
	yyj1226++
	if yyhl1226 {
		yyb1226 = yyj1226 > l
	} else {
		yyb1226 = r.CheckBreak()
	}
	if yyb1226 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1227 := &x.StartedAt
		yym1228 := z.DecBinary()
		_ = yym1228
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1227) {
		} else if yym1228 {
			z.DecBinaryUnmarshal(yyv1227)
		} else if !yym1228 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1227)
		} else {
			z.DecFallback(yyv1227, false)
		}
	}
	for {
		yyj1226++
		if yyhl1226 {
			yyb1226 = yyj1226 > l
		} else {
			yyb1226 = r.CheckBreak()
		}
		if yyb1226 {
			break
		}
		z.DecStructFieldNotFound(yyj1226-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerStateTerminated) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1229 := z.EncBinary()
		_ = yym1229
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1230 := !z.EncBinary()
			yy2arr1230 := z.EncBasicHandle().StructToArray
			var yyq1230 [7]bool
			_, _, _ = yysep1230, yyq1230, yy2arr1230
			const yyr1230 bool = false
			yyq1230[1] = x.Signal != 0
			yyq1230[2] = x.Reason != ""
			yyq1230[3] = x.Message != ""
			yyq1230[4] = true
			yyq1230[5] = true
			yyq1230[6] = x.ContainerID != ""
			if yyr1230 || yy2arr1230 {
				r.EncodeArrayStart(7)
			} else {
				var yynn1230 int = 1
				for _, b := range yyq1230 {
					if b {
						yynn1230++
					}
				}
				r.EncodeMapStart(yynn1230)
			}
			if yyr1230 || yy2arr1230 {
				yym1232 := z.EncBinary()
				_ = yym1232
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("exitCode"))
				yym1233 := z.EncBinary()
				_ = yym1233
				if false {
				} else {
					r.EncodeInt(int64(x.ExitCode))
				}
			}
			if yyr1230 || yy2arr1230 {
				if yyq1230[1] {
					yym1235 := z.EncBinary()
					_ = yym1235
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1230[1] {
					r.EncodeString(codecSelferC_UTF81234, string("signal"))
					yym1236 := z.EncBinary()
					_ = yym1236
					if false {
					} else {
						r.EncodeInt(int64(x.Signal))
					}
				}
			}
			if yyr1230 || yy2arr1230 {
				if yyq1230[2] {
					yym1238 := z.EncBinary()
					_ = yym1238
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1230[2] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1239 := z.EncBinary()
					_ = yym1239
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1230 || yy2arr1230 {
				if yyq1230[3] {
					yym1241 := z.EncBinary()
					_ = yym1241
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1230[3] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1242 := z.EncBinary()
					_ = yym1242
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1230 || yy2arr1230 {
				if yyq1230[4] {
					yy1244 := &x.StartedAt
					yym1245 := z.EncBinary()
					_ = yym1245
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1244) {
					} else if yym1245 {
						z.EncBinaryMarshal(yy1244)
					} else if !yym1245 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1244)
					} else {
						z.EncFallback(yy1244)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1230[4] {
					r.EncodeString(codecSelferC_UTF81234, string("startedAt"))
					yy1246 := &x.StartedAt
					yym1247 := z.EncBinary()
					_ = yym1247
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1246) {
					} else if yym1247 {
						z.EncBinaryMarshal(yy1246)
					} else if !yym1247 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1246)
					} else {
						z.EncFallback(yy1246)
					}
				}
			}
			if yyr1230 || yy2arr1230 {
				if yyq1230[5] {
					yy1249 := &x.FinishedAt
					yym1250 := z.EncBinary()
					_ = yym1250
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1249) {
					} else if yym1250 {
						z.EncBinaryMarshal(yy1249)
					} else if !yym1250 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1249)
					} else {
						z.EncFallback(yy1249)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1230[5] {
					r.EncodeString(codecSelferC_UTF81234, string("finishedAt"))
					yy1251 := &x.FinishedAt
					yym1252 := z.EncBinary()
					_ = yym1252
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1251) {
					} else if yym1252 {
						z.EncBinaryMarshal(yy1251)
					} else if !yym1252 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1251)
					} else {
						z.EncFallback(yy1251)
					}
				}
			}
			if yyr1230 || yy2arr1230 {
				if yyq1230[6] {
					yym1254 := z.EncBinary()
					_ = yym1254
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1230[6] {
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					yym1255 := z.EncBinary()
					_ = yym1255
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yysep1230 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStateTerminated) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1256 := z.DecBinary()
	_ = yym1256
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1257 := r.ReadMapStart()
			if yyl1257 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1257, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1257 := r.ReadArrayStart()
			if yyl1257 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1257, 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 yys1258Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1258Slc
	var yyhl1258 bool = l >= 0
	for yyj1258 := 0; ; yyj1258++ {
		if yyhl1258 {
			if yyj1258 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1258Slc = r.DecodeBytes(yys1258Slc, true, true)
		yys1258 := string(yys1258Slc)
		switch yys1258 {
		case "exitCode":
			if r.TryDecodeAsNil() {
				x.ExitCode = 0
			} else {
				x.ExitCode = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "signal":
			if r.TryDecodeAsNil() {
				x.Signal = 0
			} else {
				x.Signal = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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 {
				yyv1263 := &x.StartedAt
				yym1264 := z.DecBinary()
				_ = yym1264
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1263) {
				} else if yym1264 {
					z.DecBinaryUnmarshal(yyv1263)
				} else if !yym1264 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1263)
				} else {
					z.DecFallback(yyv1263, false)
				}
			}
		case "finishedAt":
			if r.TryDecodeAsNil() {
				x.FinishedAt = pkg2_unversioned.Time{}
			} else {
				yyv1265 := &x.FinishedAt
				yym1266 := z.DecBinary()
				_ = yym1266
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1265) {
				} else if yym1266 {
					z.DecBinaryUnmarshal(yyv1265)
				} else if !yym1266 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1265)
				} else {
					z.DecFallback(yyv1265, false)
				}
			}
		case "containerID":
			if r.TryDecodeAsNil() {
				x.ContainerID = ""
			} else {
				x.ContainerID = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1258)
		} // end switch yys1258
	} // end for yyj1258
	if !yyhl1258 {
		r.ReadEnd()
	}
}

func (x *ContainerStateTerminated) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1268 int
	var yyb1268 bool
	var yyhl1268 bool = l >= 0
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ExitCode = 0
	} else {
		x.ExitCode = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Signal = 0
	} else {
		x.Signal = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.StartedAt = pkg2_unversioned.Time{}
	} else {
		yyv1273 := &x.StartedAt
		yym1274 := z.DecBinary()
		_ = yym1274
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1273) {
		} else if yym1274 {
			z.DecBinaryUnmarshal(yyv1273)
		} else if !yym1274 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1273)
		} else {
			z.DecFallback(yyv1273, false)
		}
	}
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FinishedAt = pkg2_unversioned.Time{}
	} else {
		yyv1275 := &x.FinishedAt
		yym1276 := z.DecBinary()
		_ = yym1276
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1275) {
		} else if yym1276 {
			z.DecBinaryUnmarshal(yyv1275)
		} else if !yym1276 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1275)
		} else {
			z.DecFallback(yyv1275, false)
		}
	}
	yyj1268++
	if yyhl1268 {
		yyb1268 = yyj1268 > l
	} else {
		yyb1268 = r.CheckBreak()
	}
	if yyb1268 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1268++
		if yyhl1268 {
			yyb1268 = yyj1268 > l
		} else {
			yyb1268 = r.CheckBreak()
		}
		if yyb1268 {
			break
		}
		z.DecStructFieldNotFound(yyj1268-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerState) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1278 := z.EncBinary()
		_ = yym1278
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1279 := !z.EncBinary()
			yy2arr1279 := z.EncBasicHandle().StructToArray
			var yyq1279 [3]bool
			_, _, _ = yysep1279, yyq1279, yy2arr1279
			const yyr1279 bool = false
			yyq1279[0] = x.Waiting != nil
			yyq1279[1] = x.Running != nil
			yyq1279[2] = x.Terminated != nil
			if yyr1279 || yy2arr1279 {
				r.EncodeArrayStart(3)
			} else {
				var yynn1279 int = 0
				for _, b := range yyq1279 {
					if b {
						yynn1279++
					}
				}
				r.EncodeMapStart(yynn1279)
			}
			if yyr1279 || yy2arr1279 {
				if yyq1279[0] {
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1279[0] {
					r.EncodeString(codecSelferC_UTF81234, string("waiting"))
					if x.Waiting == nil {
						r.EncodeNil()
					} else {
						x.Waiting.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1279 || yy2arr1279 {
				if yyq1279[1] {
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1279[1] {
					r.EncodeString(codecSelferC_UTF81234, string("running"))
					if x.Running == nil {
						r.EncodeNil()
					} else {
						x.Running.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1279 || yy2arr1279 {
				if yyq1279[2] {
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1279[2] {
					r.EncodeString(codecSelferC_UTF81234, string("terminated"))
					if x.Terminated == nil {
						r.EncodeNil()
					} else {
						x.Terminated.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1279 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerState) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1283 := z.DecBinary()
	_ = yym1283
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1284 := r.ReadMapStart()
			if yyl1284 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1284, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1284 := r.ReadArrayStart()
			if yyl1284 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1284, 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 yys1285Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1285Slc
	var yyhl1285 bool = l >= 0
	for yyj1285 := 0; ; yyj1285++ {
		if yyhl1285 {
			if yyj1285 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1285Slc = r.DecodeBytes(yys1285Slc, true, true)
		yys1285 := string(yys1285Slc)
		switch yys1285 {
		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, yys1285)
		} // end switch yys1285
	} // end for yyj1285
	if !yyhl1285 {
		r.ReadEnd()
	}
}

func (x *ContainerState) 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 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Waiting != nil {
			x.Waiting = nil
		}
	} else {
		if x.Waiting == nil {
			x.Waiting = new(ContainerStateWaiting)
		}
		x.Waiting.CodecDecodeSelf(d)
	}
	yyj1289++
	if yyhl1289 {
		yyb1289 = yyj1289 > l
	} else {
		yyb1289 = r.CheckBreak()
	}
	if yyb1289 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Running != nil {
			x.Running = nil
		}
	} else {
		if x.Running == nil {
			x.Running = new(ContainerStateRunning)
		}
		x.Running.CodecDecodeSelf(d)
	}
	yyj1289++
	if yyhl1289 {
		yyb1289 = yyj1289 > l
	} else {
		yyb1289 = r.CheckBreak()
	}
	if yyb1289 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Terminated != nil {
			x.Terminated = nil
		}
	} else {
		if x.Terminated == nil {
			x.Terminated = new(ContainerStateTerminated)
		}
		x.Terminated.CodecDecodeSelf(d)
	}
	for {
		yyj1289++
		if yyhl1289 {
			yyb1289 = yyj1289 > l
		} else {
			yyb1289 = r.CheckBreak()
		}
		if yyb1289 {
			break
		}
		z.DecStructFieldNotFound(yyj1289-1, "")
	}
	r.ReadEnd()
}

func (x *ContainerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1293 := z.EncBinary()
		_ = yym1293
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1294 := !z.EncBinary()
			yy2arr1294 := z.EncBasicHandle().StructToArray
			var yyq1294 [8]bool
			_, _, _ = yysep1294, yyq1294, yy2arr1294
			const yyr1294 bool = false
			yyq1294[1] = true
			yyq1294[2] = true
			yyq1294[7] = x.ContainerID != ""
			if yyr1294 || yy2arr1294 {
				r.EncodeArrayStart(8)
			} else {
				var yynn1294 int = 5
				for _, b := range yyq1294 {
					if b {
						yynn1294++
					}
				}
				r.EncodeMapStart(yynn1294)
			}
			if yyr1294 || yy2arr1294 {
				yym1296 := z.EncBinary()
				_ = yym1296
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym1297 := z.EncBinary()
				_ = yym1297
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1294 || yy2arr1294 {
				if yyq1294[1] {
					yy1299 := &x.State
					yy1299.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1294[1] {
					r.EncodeString(codecSelferC_UTF81234, string("state"))
					yy1300 := &x.State
					yy1300.CodecEncodeSelf(e)
				}
			}
			if yyr1294 || yy2arr1294 {
				if yyq1294[2] {
					yy1302 := &x.LastTerminationState
					yy1302.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1294[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lastState"))
					yy1303 := &x.LastTerminationState
					yy1303.CodecEncodeSelf(e)
				}
			}
			if yyr1294 || yy2arr1294 {
				yym1305 := z.EncBinary()
				_ = yym1305
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("ready"))
				yym1306 := z.EncBinary()
				_ = yym1306
				if false {
				} else {
					r.EncodeBool(bool(x.Ready))
				}
			}
			if yyr1294 || yy2arr1294 {
				yym1308 := z.EncBinary()
				_ = yym1308
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("restartCount"))
				yym1309 := z.EncBinary()
				_ = yym1309
				if false {
				} else {
					r.EncodeInt(int64(x.RestartCount))
				}
			}
			if yyr1294 || yy2arr1294 {
				yym1311 := z.EncBinary()
				_ = yym1311
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("image"))
				yym1312 := z.EncBinary()
				_ = yym1312
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Image))
				}
			}
			if yyr1294 || yy2arr1294 {
				yym1314 := z.EncBinary()
				_ = yym1314
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("imageID"))
				yym1315 := z.EncBinary()
				_ = yym1315
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ImageID))
				}
			}
			if yyr1294 || yy2arr1294 {
				if yyq1294[7] {
					yym1317 := z.EncBinary()
					_ = yym1317
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1294[7] {
					r.EncodeString(codecSelferC_UTF81234, string("containerID"))
					yym1318 := z.EncBinary()
					_ = yym1318
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ContainerID))
					}
				}
			}
			if yysep1294 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ContainerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1319 := z.DecBinary()
	_ = yym1319
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1320 := r.ReadMapStart()
			if yyl1320 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1320, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1320 := r.ReadArrayStart()
			if yyl1320 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1320, 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 yys1321Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1321Slc
	var yyhl1321 bool = l >= 0
	for yyj1321 := 0; ; yyj1321++ {
		if yyhl1321 {
			if yyj1321 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1321Slc = r.DecodeBytes(yys1321Slc, true, true)
		yys1321 := string(yys1321Slc)
		switch yys1321 {
		case "name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "state":
			if r.TryDecodeAsNil() {
				x.State = ContainerState{}
			} else {
				yyv1323 := &x.State
				yyv1323.CodecDecodeSelf(d)
			}
		case "lastState":
			if r.TryDecodeAsNil() {
				x.LastTerminationState = ContainerState{}
			} else {
				yyv1324 := &x.LastTerminationState
				yyv1324.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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		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, yys1321)
		} // end switch yys1321
	} // end for yyj1321
	if !yyhl1321 {
		r.ReadEnd()
	}
}

func (x *ContainerStatus) 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 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.State = ContainerState{}
	} else {
		yyv1332 := &x.State
		yyv1332.CodecDecodeSelf(d)
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTerminationState = ContainerState{}
	} else {
		yyv1333 := &x.LastTerminationState
		yyv1333.CodecDecodeSelf(d)
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ready = false
	} else {
		x.Ready = bool(r.DecodeBool())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RestartCount = 0
	} else {
		x.RestartCount = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Image = ""
	} else {
		x.Image = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImageID = ""
	} else {
		x.ImageID = string(r.DecodeString())
	}
	yyj1330++
	if yyhl1330 {
		yyb1330 = yyj1330 > l
	} else {
		yyb1330 = r.CheckBreak()
	}
	if yyb1330 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerID = ""
	} else {
		x.ContainerID = string(r.DecodeString())
	}
	for {
		yyj1330++
		if yyhl1330 {
			yyb1330 = yyj1330 > l
		} else {
			yyb1330 = r.CheckBreak()
		}
		if yyb1330 {
			break
		}
		z.DecStructFieldNotFound(yyj1330-1, "")
	}
	r.ReadEnd()
}

func (x PodPhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1339 := z.EncBinary()
	_ = yym1339
	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
	yym1340 := z.DecBinary()
	_ = yym1340
	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
	yym1341 := z.EncBinary()
	_ = yym1341
	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
	yym1342 := z.DecBinary()
	_ = yym1342
	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 {
		yym1343 := z.EncBinary()
		_ = yym1343
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1344 := !z.EncBinary()
			yy2arr1344 := z.EncBasicHandle().StructToArray
			var yyq1344 [6]bool
			_, _, _ = yysep1344, yyq1344, yy2arr1344
			const yyr1344 bool = false
			yyq1344[2] = true
			yyq1344[3] = true
			yyq1344[4] = x.Reason != ""
			yyq1344[5] = x.Message != ""
			if yyr1344 || yy2arr1344 {
				r.EncodeArrayStart(6)
			} else {
				var yynn1344 int = 2
				for _, b := range yyq1344 {
					if b {
						yynn1344++
					}
				}
				r.EncodeMapStart(yynn1344)
			}
			if yyr1344 || yy2arr1344 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr1344 || yy2arr1344 {
				x.Status.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				x.Status.CodecEncodeSelf(e)
			}
			if yyr1344 || yy2arr1344 {
				if yyq1344[2] {
					yy1348 := &x.LastProbeTime
					yym1349 := z.EncBinary()
					_ = yym1349
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1348) {
					} else if yym1349 {
						z.EncBinaryMarshal(yy1348)
					} else if !yym1349 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1348)
					} else {
						z.EncFallback(yy1348)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1344[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lastProbeTime"))
					yy1350 := &x.LastProbeTime
					yym1351 := z.EncBinary()
					_ = yym1351
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1350) {
					} else if yym1351 {
						z.EncBinaryMarshal(yy1350)
					} else if !yym1351 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1350)
					} else {
						z.EncFallback(yy1350)
					}
				}
			}
			if yyr1344 || yy2arr1344 {
				if yyq1344[3] {
					yy1353 := &x.LastTransitionTime
					yym1354 := z.EncBinary()
					_ = yym1354
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1353) {
					} else if yym1354 {
						z.EncBinaryMarshal(yy1353)
					} else if !yym1354 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1353)
					} else {
						z.EncFallback(yy1353)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1344[3] {
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					yy1355 := &x.LastTransitionTime
					yym1356 := z.EncBinary()
					_ = yym1356
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1355) {
					} else if yym1356 {
						z.EncBinaryMarshal(yy1355)
					} else if !yym1356 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy1355)
					} else {
						z.EncFallback(yy1355)
					}
				}
			}
			if yyr1344 || yy2arr1344 {
				if yyq1344[4] {
					yym1358 := z.EncBinary()
					_ = yym1358
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1344[4] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1359 := z.EncBinary()
					_ = yym1359
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1344 || yy2arr1344 {
				if yyq1344[5] {
					yym1361 := z.EncBinary()
					_ = yym1361
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1344[5] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1362 := z.EncBinary()
					_ = yym1362
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yysep1344 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1363 := z.DecBinary()
	_ = yym1363
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1364 := r.ReadMapStart()
			if yyl1364 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1364, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1364 := r.ReadArrayStart()
			if yyl1364 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1364, 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 yys1365Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1365Slc
	var yyhl1365 bool = l >= 0
	for yyj1365 := 0; ; yyj1365++ {
		if yyhl1365 {
			if yyj1365 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1365Slc = r.DecodeBytes(yys1365Slc, true, true)
		yys1365 := string(yys1365Slc)
		switch yys1365 {
		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 {
				yyv1368 := &x.LastProbeTime
				yym1369 := z.DecBinary()
				_ = yym1369
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1368) {
				} else if yym1369 {
					z.DecBinaryUnmarshal(yyv1368)
				} else if !yym1369 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1368)
				} else {
					z.DecFallback(yyv1368, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv1370 := &x.LastTransitionTime
				yym1371 := z.DecBinary()
				_ = yym1371
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1370) {
				} else if yym1371 {
					z.DecBinaryUnmarshal(yyv1370)
				} else if !yym1371 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1370)
				} else {
					z.DecFallback(yyv1370, 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, yys1365)
		} // end switch yys1365
	} // end for yyj1365
	if !yyhl1365 {
		r.ReadEnd()
	}
}

func (x *PodCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1374 int
	var yyb1374 bool
	var yyhl1374 bool = l >= 0
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = PodConditionType(r.DecodeString())
	}
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastProbeTime = pkg2_unversioned.Time{}
	} else {
		yyv1377 := &x.LastProbeTime
		yym1378 := z.DecBinary()
		_ = yym1378
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1377) {
		} else if yym1378 {
			z.DecBinaryUnmarshal(yyv1377)
		} else if !yym1378 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1377)
		} else {
			z.DecFallback(yyv1377, false)
		}
	}
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv1379 := &x.LastTransitionTime
		yym1380 := z.DecBinary()
		_ = yym1380
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1379) {
		} else if yym1380 {
			z.DecBinaryUnmarshal(yyv1379)
		} else if !yym1380 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1379)
		} else {
			z.DecFallback(yyv1379, false)
		}
	}
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1374++
	if yyhl1374 {
		yyb1374 = yyj1374 > l
	} else {
		yyb1374 = r.CheckBreak()
	}
	if yyb1374 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj1374++
		if yyhl1374 {
			yyb1374 = yyj1374 > l
		} else {
			yyb1374 = r.CheckBreak()
		}
		if yyb1374 {
			break
		}
		z.DecStructFieldNotFound(yyj1374-1, "")
	}
	r.ReadEnd()
}

func (x RestartPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1383 := z.EncBinary()
	_ = yym1383
	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
	yym1384 := z.DecBinary()
	_ = yym1384
	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 {
		yym1385 := z.EncBinary()
		_ = yym1385
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1386 := !z.EncBinary()
			yy2arr1386 := z.EncBasicHandle().StructToArray
			var yyq1386 [4]bool
			_, _, _ = yysep1386, yyq1386, yy2arr1386
			const yyr1386 bool = false
			yyq1386[0] = x.Kind != ""
			yyq1386[1] = x.APIVersion != ""
			yyq1386[2] = true
			if yyr1386 || yy2arr1386 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1386 int = 1
				for _, b := range yyq1386 {
					if b {
						yynn1386++
					}
				}
				r.EncodeMapStart(yynn1386)
			}
			if yyr1386 || yy2arr1386 {
				if yyq1386[0] {
					yym1388 := z.EncBinary()
					_ = yym1388
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1386[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1389 := z.EncBinary()
					_ = yym1389
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1386 || yy2arr1386 {
				if yyq1386[1] {
					yym1391 := z.EncBinary()
					_ = yym1391
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1386[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1392 := z.EncBinary()
					_ = yym1392
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1386 || yy2arr1386 {
				if yyq1386[2] {
					yy1394 := &x.ListMeta
					yym1395 := z.EncBinary()
					_ = yym1395
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1394) {
					} else {
						z.EncFallback(yy1394)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1386[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1396 := &x.ListMeta
					yym1397 := z.EncBinary()
					_ = yym1397
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1396) {
					} else {
						z.EncFallback(yy1396)
					}
				}
			}
			if yyr1386 || yy2arr1386 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1399 := z.EncBinary()
					_ = yym1399
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1400 := z.EncBinary()
					_ = yym1400
					if false {
					} else {
						h.encSlicePod(([]Pod)(x.Items), e)
					}
				}
			}
			if yysep1386 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodList) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1402 := r.ReadMapStart()
			if yyl1402 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1402, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1402 := r.ReadArrayStart()
			if yyl1402 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1402, 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 yys1403Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1403Slc
	var yyhl1403 bool = l >= 0
	for yyj1403 := 0; ; yyj1403++ {
		if yyhl1403 {
			if yyj1403 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1403Slc = r.DecodeBytes(yys1403Slc, true, true)
		yys1403 := string(yys1403Slc)
		switch yys1403 {
		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 {
				yyv1406 := &x.ListMeta
				yym1407 := z.DecBinary()
				_ = yym1407
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1406) {
				} else {
					z.DecFallback(yyv1406, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1408 := &x.Items
				yym1409 := z.DecBinary()
				_ = yym1409
				if false {
				} else {
					h.decSlicePod((*[]Pod)(yyv1408), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1403)
		} // end switch yys1403
	} // end for yyj1403
	if !yyhl1403 {
		r.ReadEnd()
	}
}

func (x *PodList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1410 int
	var yyb1410 bool
	var yyhl1410 bool = l >= 0
	yyj1410++
	if yyhl1410 {
		yyb1410 = yyj1410 > l
	} else {
		yyb1410 = r.CheckBreak()
	}
	if yyb1410 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1410++
	if yyhl1410 {
		yyb1410 = yyj1410 > l
	} else {
		yyb1410 = r.CheckBreak()
	}
	if yyb1410 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1410++
	if yyhl1410 {
		yyb1410 = yyj1410 > l
	} else {
		yyb1410 = r.CheckBreak()
	}
	if yyb1410 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1413 := &x.ListMeta
		yym1414 := z.DecBinary()
		_ = yym1414
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1413) {
		} else {
			z.DecFallback(yyv1413, false)
		}
	}
	yyj1410++
	if yyhl1410 {
		yyb1410 = yyj1410 > l
	} else {
		yyb1410 = r.CheckBreak()
	}
	if yyb1410 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1415 := &x.Items
		yym1416 := z.DecBinary()
		_ = yym1416
		if false {
		} else {
			h.decSlicePod((*[]Pod)(yyv1415), d)
		}
	}
	for {
		yyj1410++
		if yyhl1410 {
			yyb1410 = yyj1410 > l
		} else {
			yyb1410 = r.CheckBreak()
		}
		if yyb1410 {
			break
		}
		z.DecStructFieldNotFound(yyj1410-1, "")
	}
	r.ReadEnd()
}

func (x DNSPolicy) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1417 := z.EncBinary()
	_ = yym1417
	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
	yym1418 := z.DecBinary()
	_ = yym1418
	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 {
		yym1419 := z.EncBinary()
		_ = yym1419
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1420 := !z.EncBinary()
			yy2arr1420 := z.EncBasicHandle().StructToArray
			var yyq1420 [11]bool
			_, _, _ = yysep1420, yyq1420, yy2arr1420
			const yyr1420 bool = false
			yyq1420[2] = x.RestartPolicy != ""
			yyq1420[3] = x.TerminationGracePeriodSeconds != nil
			yyq1420[4] = x.ActiveDeadlineSeconds != nil
			yyq1420[5] = x.DNSPolicy != ""
			yyq1420[6] = len(x.NodeSelector) != 0
			yyq1420[8] = x.NodeName != ""
			yyq1420[9] = x.SecurityContext != nil
			yyq1420[10] = len(x.ImagePullSecrets) != 0
			if yyr1420 || yy2arr1420 {
				r.EncodeArrayStart(11)
			} else {
				var yynn1420 int = 3
				for _, b := range yyq1420 {
					if b {
						yynn1420++
					}
				}
				r.EncodeMapStart(yynn1420)
			}
			if yyr1420 || yy2arr1420 {
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym1422 := z.EncBinary()
					_ = yym1422
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("volumes"))
				if x.Volumes == nil {
					r.EncodeNil()
				} else {
					yym1423 := z.EncBinary()
					_ = yym1423
					if false {
					} else {
						h.encSliceVolume(([]Volume)(x.Volumes), e)
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1425 := z.EncBinary()
					_ = yym1425
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("containers"))
				if x.Containers == nil {
					r.EncodeNil()
				} else {
					yym1426 := z.EncBinary()
					_ = yym1426
					if false {
					} else {
						h.encSliceContainer(([]Container)(x.Containers), e)
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[2] {
					x.RestartPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1420[2] {
					r.EncodeString(codecSelferC_UTF81234, string("restartPolicy"))
					x.RestartPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[3] {
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1429 := *x.TerminationGracePeriodSeconds
						yym1430 := z.EncBinary()
						_ = yym1430
						if false {
						} else {
							r.EncodeInt(int64(yy1429))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1420[3] {
					r.EncodeString(codecSelferC_UTF81234, string("terminationGracePeriodSeconds"))
					if x.TerminationGracePeriodSeconds == nil {
						r.EncodeNil()
					} else {
						yy1431 := *x.TerminationGracePeriodSeconds
						yym1432 := z.EncBinary()
						_ = yym1432
						if false {
						} else {
							r.EncodeInt(int64(yy1431))
						}
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[4] {
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1434 := *x.ActiveDeadlineSeconds
						yym1435 := z.EncBinary()
						_ = yym1435
						if false {
						} else {
							r.EncodeInt(int64(yy1434))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1420[4] {
					r.EncodeString(codecSelferC_UTF81234, string("activeDeadlineSeconds"))
					if x.ActiveDeadlineSeconds == nil {
						r.EncodeNil()
					} else {
						yy1436 := *x.ActiveDeadlineSeconds
						yym1437 := z.EncBinary()
						_ = yym1437
						if false {
						} else {
							r.EncodeInt(int64(yy1436))
						}
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[5] {
					x.DNSPolicy.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1420[5] {
					r.EncodeString(codecSelferC_UTF81234, string("dnsPolicy"))
					x.DNSPolicy.CodecEncodeSelf(e)
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[6] {
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1440 := z.EncBinary()
						_ = yym1440
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1420[6] {
					r.EncodeString(codecSelferC_UTF81234, string("nodeSelector"))
					if x.NodeSelector == nil {
						r.EncodeNil()
					} else {
						yym1441 := z.EncBinary()
						_ = yym1441
						if false {
						} else {
							z.F.EncMapStringStringV(x.NodeSelector, false, e)
						}
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				yym1443 := z.EncBinary()
				_ = yym1443
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("serviceAccountName"))
				yym1444 := z.EncBinary()
				_ = yym1444
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ServiceAccountName))
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[8] {
					yym1446 := z.EncBinary()
					_ = yym1446
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1420[8] {
					r.EncodeString(codecSelferC_UTF81234, string("nodeName"))
					yym1447 := z.EncBinary()
					_ = yym1447
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.NodeName))
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[9] {
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1420[9] {
					r.EncodeString(codecSelferC_UTF81234, string("securityContext"))
					if x.SecurityContext == nil {
						r.EncodeNil()
					} else {
						x.SecurityContext.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1420 || yy2arr1420 {
				if yyq1420[10] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1450 := z.EncBinary()
						_ = yym1450
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1420[10] {
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym1451 := z.EncBinary()
						_ = yym1451
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yysep1420 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1452 := z.DecBinary()
	_ = yym1452
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1453 := r.ReadMapStart()
			if yyl1453 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1453, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1453 := r.ReadArrayStart()
			if yyl1453 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1453, 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 yys1454Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1454Slc
	var yyhl1454 bool = l >= 0
	for yyj1454 := 0; ; yyj1454++ {
		if yyhl1454 {
			if yyj1454 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1454Slc = r.DecodeBytes(yys1454Slc, true, true)
		yys1454 := string(yys1454Slc)
		switch yys1454 {
		case "volumes":
			if r.TryDecodeAsNil() {
				x.Volumes = nil
			} else {
				yyv1455 := &x.Volumes
				yym1456 := z.DecBinary()
				_ = yym1456
				if false {
				} else {
					h.decSliceVolume((*[]Volume)(yyv1455), d)
				}
			}
		case "containers":
			if r.TryDecodeAsNil() {
				x.Containers = nil
			} else {
				yyv1457 := &x.Containers
				yym1458 := z.DecBinary()
				_ = yym1458
				if false {
				} else {
					h.decSliceContainer((*[]Container)(yyv1457), 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)
				}
				yym1461 := z.DecBinary()
				_ = yym1461
				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)
				}
				yym1463 := z.DecBinary()
				_ = yym1463
				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 {
				yyv1465 := &x.NodeSelector
				yym1466 := z.DecBinary()
				_ = yym1466
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1465, 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 {
				yyv1470 := &x.ImagePullSecrets
				yym1471 := z.DecBinary()
				_ = yym1471
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1470), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1454)
		} // end switch yys1454
	} // end for yyj1454
	if !yyhl1454 {
		r.ReadEnd()
	}
}

func (x *PodSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1472 int
	var yyb1472 bool
	var yyhl1472 bool = l >= 0
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Volumes = nil
	} else {
		yyv1473 := &x.Volumes
		yym1474 := z.DecBinary()
		_ = yym1474
		if false {
		} else {
			h.decSliceVolume((*[]Volume)(yyv1473), d)
		}
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Containers = nil
	} else {
		yyv1475 := &x.Containers
		yym1476 := z.DecBinary()
		_ = yym1476
		if false {
		} else {
			h.decSliceContainer((*[]Container)(yyv1475), d)
		}
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.RestartPolicy = ""
	} else {
		x.RestartPolicy = RestartPolicy(r.DecodeString())
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TerminationGracePeriodSeconds != nil {
			x.TerminationGracePeriodSeconds = nil
		}
	} else {
		if x.TerminationGracePeriodSeconds == nil {
			x.TerminationGracePeriodSeconds = new(int64)
		}
		yym1479 := z.DecBinary()
		_ = yym1479
		if false {
		} else {
			*((*int64)(x.TerminationGracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.ActiveDeadlineSeconds != nil {
			x.ActiveDeadlineSeconds = nil
		}
	} else {
		if x.ActiveDeadlineSeconds == nil {
			x.ActiveDeadlineSeconds = new(int64)
		}
		yym1481 := z.DecBinary()
		_ = yym1481
		if false {
		} else {
			*((*int64)(x.ActiveDeadlineSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DNSPolicy = ""
	} else {
		x.DNSPolicy = DNSPolicy(r.DecodeString())
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodeSelector = nil
	} else {
		yyv1483 := &x.NodeSelector
		yym1484 := z.DecBinary()
		_ = yym1484
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1483, false, d)
		}
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ServiceAccountName = ""
	} else {
		x.ServiceAccountName = string(r.DecodeString())
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodeName = ""
	} else {
		x.NodeName = string(r.DecodeString())
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SecurityContext != nil {
			x.SecurityContext = nil
		}
	} else {
		if x.SecurityContext == nil {
			x.SecurityContext = new(PodSecurityContext)
		}
		x.SecurityContext.CodecDecodeSelf(d)
	}
	yyj1472++
	if yyhl1472 {
		yyb1472 = yyj1472 > l
	} else {
		yyb1472 = r.CheckBreak()
	}
	if yyb1472 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv1488 := &x.ImagePullSecrets
		yym1489 := z.DecBinary()
		_ = yym1489
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv1488), d)
		}
	}
	for {
		yyj1472++
		if yyhl1472 {
			yyb1472 = yyj1472 > l
		} else {
			yyb1472 = r.CheckBreak()
		}
		if yyb1472 {
			break
		}
		z.DecStructFieldNotFound(yyj1472-1, "")
	}
	r.ReadEnd()
}

func (x *PodSecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1490 := z.EncBinary()
		_ = yym1490
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1491 := !z.EncBinary()
			yy2arr1491 := z.EncBasicHandle().StructToArray
			var yyq1491 [8]bool
			_, _, _ = yysep1491, yyq1491, yy2arr1491
			const yyr1491 bool = false
			yyq1491[0] = x.HostNetwork != false
			yyq1491[1] = x.HostPID != false
			yyq1491[2] = x.HostIPC != false
			yyq1491[3] = x.SELinuxOptions != nil
			yyq1491[4] = x.RunAsUser != nil
			yyq1491[5] = x.RunAsNonRoot != nil
			yyq1491[6] = len(x.SupplementalGroups) != 0
			yyq1491[7] = x.FSGroup != nil
			if yyr1491 || yy2arr1491 {
				r.EncodeArrayStart(8)
			} else {
				var yynn1491 int = 0
				for _, b := range yyq1491 {
					if b {
						yynn1491++
					}
				}
				r.EncodeMapStart(yynn1491)
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[0] {
					yym1493 := z.EncBinary()
					_ = yym1493
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1491[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hostNetwork"))
					yym1494 := z.EncBinary()
					_ = yym1494
					if false {
					} else {
						r.EncodeBool(bool(x.HostNetwork))
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[1] {
					yym1496 := z.EncBinary()
					_ = yym1496
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1491[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostPID"))
					yym1497 := z.EncBinary()
					_ = yym1497
					if false {
					} else {
						r.EncodeBool(bool(x.HostPID))
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[2] {
					yym1499 := z.EncBinary()
					_ = yym1499
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq1491[2] {
					r.EncodeString(codecSelferC_UTF81234, string("hostIPC"))
					yym1500 := z.EncBinary()
					_ = yym1500
					if false {
					} else {
						r.EncodeBool(bool(x.HostIPC))
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[3] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1491[3] {
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[4] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1503 := *x.RunAsUser
						yym1504 := z.EncBinary()
						_ = yym1504
						if false {
						} else {
							r.EncodeInt(int64(yy1503))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1491[4] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy1505 := *x.RunAsUser
						yym1506 := z.EncBinary()
						_ = yym1506
						if false {
						} else {
							r.EncodeInt(int64(yy1505))
						}
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[5] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1508 := *x.RunAsNonRoot
						yym1509 := z.EncBinary()
						_ = yym1509
						if false {
						} else {
							r.EncodeBool(bool(yy1508))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1491[5] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy1510 := *x.RunAsNonRoot
						yym1511 := z.EncBinary()
						_ = yym1511
						if false {
						} else {
							r.EncodeBool(bool(yy1510))
						}
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[6] {
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1513 := z.EncBinary()
						_ = yym1513
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1491[6] {
					r.EncodeString(codecSelferC_UTF81234, string("supplementalGroups"))
					if x.SupplementalGroups == nil {
						r.EncodeNil()
					} else {
						yym1514 := z.EncBinary()
						_ = yym1514
						if false {
						} else {
							z.F.EncSliceInt64V(x.SupplementalGroups, false, e)
						}
					}
				}
			}
			if yyr1491 || yy2arr1491 {
				if yyq1491[7] {
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1516 := *x.FSGroup
						yym1517 := z.EncBinary()
						_ = yym1517
						if false {
						} else {
							r.EncodeInt(int64(yy1516))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1491[7] {
					r.EncodeString(codecSelferC_UTF81234, string("fsGroup"))
					if x.FSGroup == nil {
						r.EncodeNil()
					} else {
						yy1518 := *x.FSGroup
						yym1519 := z.EncBinary()
						_ = yym1519
						if false {
						} else {
							r.EncodeInt(int64(yy1518))
						}
					}
				}
			}
			if yysep1491 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodSecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1520 := z.DecBinary()
	_ = yym1520
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1521 := r.ReadMapStart()
			if yyl1521 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1521, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1521 := r.ReadArrayStart()
			if yyl1521 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1521, 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 yys1522Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1522Slc
	var yyhl1522 bool = l >= 0
	for yyj1522 := 0; ; yyj1522++ {
		if yyhl1522 {
			if yyj1522 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1522Slc = r.DecodeBytes(yys1522Slc, true, true)
		yys1522 := string(yys1522Slc)
		switch yys1522 {
		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)
				}
				yym1528 := z.DecBinary()
				_ = yym1528
				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)
				}
				yym1530 := z.DecBinary()
				_ = yym1530
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		case "supplementalGroups":
			if r.TryDecodeAsNil() {
				x.SupplementalGroups = nil
			} else {
				yyv1531 := &x.SupplementalGroups
				yym1532 := z.DecBinary()
				_ = yym1532
				if false {
				} else {
					z.F.DecSliceInt64X(yyv1531, false, d)
				}
			}
		case "fsGroup":
			if r.TryDecodeAsNil() {
				if x.FSGroup != nil {
					x.FSGroup = nil
				}
			} else {
				if x.FSGroup == nil {
					x.FSGroup = new(int64)
				}
				yym1534 := z.DecBinary()
				_ = yym1534
				if false {
				} else {
					*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1522)
		} // end switch yys1522
	} // end for yyj1522
	if !yyhl1522 {
		r.ReadEnd()
	}
}

func (x *PodSecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1535 int
	var yyb1535 bool
	var yyhl1535 bool = l >= 0
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostNetwork = false
	} else {
		x.HostNetwork = bool(r.DecodeBool())
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostPID = false
	} else {
		x.HostPID = bool(r.DecodeBool())
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostIPC = false
	} else {
		x.HostIPC = bool(r.DecodeBool())
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym1541 := z.DecBinary()
		_ = yym1541
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym1543 := z.DecBinary()
		_ = yym1543
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SupplementalGroups = nil
	} else {
		yyv1544 := &x.SupplementalGroups
		yym1545 := z.DecBinary()
		_ = yym1545
		if false {
		} else {
			z.F.DecSliceInt64X(yyv1544, false, d)
		}
	}
	yyj1535++
	if yyhl1535 {
		yyb1535 = yyj1535 > l
	} else {
		yyb1535 = r.CheckBreak()
	}
	if yyb1535 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.FSGroup != nil {
			x.FSGroup = nil
		}
	} else {
		if x.FSGroup == nil {
			x.FSGroup = new(int64)
		}
		yym1547 := z.DecBinary()
		_ = yym1547
		if false {
		} else {
			*((*int64)(x.FSGroup)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj1535++
		if yyhl1535 {
			yyb1535 = yyj1535 > l
		} else {
			yyb1535 = r.CheckBreak()
		}
		if yyb1535 {
			break
		}
		z.DecStructFieldNotFound(yyj1535-1, "")
	}
	r.ReadEnd()
}

func (x *PodStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1548 := z.EncBinary()
		_ = yym1548
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1549 := !z.EncBinary()
			yy2arr1549 := z.EncBasicHandle().StructToArray
			var yyq1549 [8]bool
			_, _, _ = yysep1549, yyq1549, yy2arr1549
			const yyr1549 bool = false
			yyq1549[0] = x.Phase != ""
			yyq1549[1] = len(x.Conditions) != 0
			yyq1549[2] = x.Message != ""
			yyq1549[3] = x.Reason != ""
			yyq1549[4] = x.HostIP != ""
			yyq1549[5] = x.PodIP != ""
			yyq1549[6] = x.StartTime != nil
			yyq1549[7] = len(x.ContainerStatuses) != 0
			if yyr1549 || yy2arr1549 {
				r.EncodeArrayStart(8)
			} else {
				var yynn1549 int = 0
				for _, b := range yyq1549 {
					if b {
						yynn1549++
					}
				}
				r.EncodeMapStart(yynn1549)
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1549[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[1] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1552 := z.EncBinary()
						_ = yym1552
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1549[1] {
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym1553 := z.EncBinary()
						_ = yym1553
						if false {
						} else {
							h.encSlicePodCondition(([]PodCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[2] {
					yym1555 := z.EncBinary()
					_ = yym1555
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1549[2] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym1556 := z.EncBinary()
					_ = yym1556
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[3] {
					yym1558 := z.EncBinary()
					_ = yym1558
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1549[3] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym1559 := z.EncBinary()
					_ = yym1559
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[4] {
					yym1561 := z.EncBinary()
					_ = yym1561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1549[4] {
					r.EncodeString(codecSelferC_UTF81234, string("hostIP"))
					yym1562 := z.EncBinary()
					_ = yym1562
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.HostIP))
					}
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[5] {
					yym1564 := z.EncBinary()
					_ = yym1564
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1549[5] {
					r.EncodeString(codecSelferC_UTF81234, string("podIP"))
					yym1565 := z.EncBinary()
					_ = yym1565
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodIP))
					}
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[6] {
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1567 := z.EncBinary()
						_ = yym1567
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1567 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1567 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1549[6] {
					r.EncodeString(codecSelferC_UTF81234, string("startTime"))
					if x.StartTime == nil {
						r.EncodeNil()
					} else {
						yym1568 := z.EncBinary()
						_ = yym1568
						if false {
						} else if z.HasExtensions() && z.EncExt(x.StartTime) {
						} else if yym1568 {
							z.EncBinaryMarshal(x.StartTime)
						} else if !yym1568 && z.IsJSONHandle() {
							z.EncJSONMarshal(x.StartTime)
						} else {
							z.EncFallback(x.StartTime)
						}
					}
				}
			}
			if yyr1549 || yy2arr1549 {
				if yyq1549[7] {
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1570 := z.EncBinary()
						_ = yym1570
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1549[7] {
					r.EncodeString(codecSelferC_UTF81234, string("containerStatuses"))
					if x.ContainerStatuses == nil {
						r.EncodeNil()
					} else {
						yym1571 := z.EncBinary()
						_ = yym1571
						if false {
						} else {
							h.encSliceContainerStatus(([]ContainerStatus)(x.ContainerStatuses), e)
						}
					}
				}
			}
			if yysep1549 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1572 := z.DecBinary()
	_ = yym1572
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1573 := r.ReadMapStart()
			if yyl1573 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1573, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1573 := r.ReadArrayStart()
			if yyl1573 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1573, 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 yys1574Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1574Slc
	var yyhl1574 bool = l >= 0
	for yyj1574 := 0; ; yyj1574++ {
		if yyhl1574 {
			if yyj1574 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1574Slc = r.DecodeBytes(yys1574Slc, true, true)
		yys1574 := string(yys1574Slc)
		switch yys1574 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = PodPhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv1576 := &x.Conditions
				yym1577 := z.DecBinary()
				_ = yym1577
				if false {
				} else {
					h.decSlicePodCondition((*[]PodCondition)(yyv1576), 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)
				}
				yym1583 := z.DecBinary()
				_ = yym1583
				if false {
				} else if z.HasExtensions() && z.DecExt(x.StartTime) {
				} else if yym1583 {
					z.DecBinaryUnmarshal(x.StartTime)
				} else if !yym1583 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(x.StartTime)
				} else {
					z.DecFallback(x.StartTime, false)
				}
			}
		case "containerStatuses":
			if r.TryDecodeAsNil() {
				x.ContainerStatuses = nil
			} else {
				yyv1584 := &x.ContainerStatuses
				yym1585 := z.DecBinary()
				_ = yym1585
				if false {
				} else {
					h.decSliceContainerStatus((*[]ContainerStatus)(yyv1584), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1574)
		} // end switch yys1574
	} // end for yyj1574
	if !yyhl1574 {
		r.ReadEnd()
	}
}

func (x *PodStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1586 int
	var yyb1586 bool
	var yyhl1586 bool = l >= 0
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = PodPhase(r.DecodeString())
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv1588 := &x.Conditions
		yym1589 := z.DecBinary()
		_ = yym1589
		if false {
		} else {
			h.decSlicePodCondition((*[]PodCondition)(yyv1588), d)
		}
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.HostIP = ""
	} else {
		x.HostIP = string(r.DecodeString())
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.PodIP = ""
	} else {
		x.PodIP = string(r.DecodeString())
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.StartTime != nil {
			x.StartTime = nil
		}
	} else {
		if x.StartTime == nil {
			x.StartTime = new(pkg2_unversioned.Time)
		}
		yym1595 := z.DecBinary()
		_ = yym1595
		if false {
		} else if z.HasExtensions() && z.DecExt(x.StartTime) {
		} else if yym1595 {
			z.DecBinaryUnmarshal(x.StartTime)
		} else if !yym1595 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.StartTime)
		} else {
			z.DecFallback(x.StartTime, false)
		}
	}
	yyj1586++
	if yyhl1586 {
		yyb1586 = yyj1586 > l
	} else {
		yyb1586 = r.CheckBreak()
	}
	if yyb1586 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerStatuses = nil
	} else {
		yyv1596 := &x.ContainerStatuses
		yym1597 := z.DecBinary()
		_ = yym1597
		if false {
		} else {
			h.decSliceContainerStatus((*[]ContainerStatus)(yyv1596), d)
		}
	}
	for {
		yyj1586++
		if yyhl1586 {
			yyb1586 = yyj1586 > l
		} else {
			yyb1586 = r.CheckBreak()
		}
		if yyb1586 {
			break
		}
		z.DecStructFieldNotFound(yyj1586-1, "")
	}
	r.ReadEnd()
}

func (x *PodStatusResult) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1598 := z.EncBinary()
		_ = yym1598
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1599 := !z.EncBinary()
			yy2arr1599 := z.EncBasicHandle().StructToArray
			var yyq1599 [4]bool
			_, _, _ = yysep1599, yyq1599, yy2arr1599
			const yyr1599 bool = false
			yyq1599[0] = x.Kind != ""
			yyq1599[1] = x.APIVersion != ""
			yyq1599[2] = true
			yyq1599[3] = true
			if yyr1599 || yy2arr1599 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1599 int = 0
				for _, b := range yyq1599 {
					if b {
						yynn1599++
					}
				}
				r.EncodeMapStart(yynn1599)
			}
			if yyr1599 || yy2arr1599 {
				if yyq1599[0] {
					yym1601 := z.EncBinary()
					_ = yym1601
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1599[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1602 := z.EncBinary()
					_ = yym1602
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1599 || yy2arr1599 {
				if yyq1599[1] {
					yym1604 := z.EncBinary()
					_ = yym1604
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1599[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1605 := z.EncBinary()
					_ = yym1605
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1599 || yy2arr1599 {
				if yyq1599[2] {
					yy1607 := &x.ObjectMeta
					yy1607.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1599[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1608 := &x.ObjectMeta
					yy1608.CodecEncodeSelf(e)
				}
			}
			if yyr1599 || yy2arr1599 {
				if yyq1599[3] {
					yy1610 := &x.Status
					yy1610.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1599[3] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1611 := &x.Status
					yy1611.CodecEncodeSelf(e)
				}
			}
			if yysep1599 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodStatusResult) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1612 := z.DecBinary()
	_ = yym1612
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1613 := r.ReadMapStart()
			if yyl1613 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1613, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1613 := r.ReadArrayStart()
			if yyl1613 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1613, 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 yys1614Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1614Slc
	var yyhl1614 bool = l >= 0
	for yyj1614 := 0; ; yyj1614++ {
		if yyhl1614 {
			if yyj1614 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1614Slc = r.DecodeBytes(yys1614Slc, true, true)
		yys1614 := string(yys1614Slc)
		switch yys1614 {
		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 {
				yyv1617 := &x.ObjectMeta
				yyv1617.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1618 := &x.Status
				yyv1618.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1614)
		} // end switch yys1614
	} // end for yyj1614
	if !yyhl1614 {
		r.ReadEnd()
	}
}

func (x *PodStatusResult) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1619 int
	var yyb1619 bool
	var yyhl1619 bool = l >= 0
	yyj1619++
	if yyhl1619 {
		yyb1619 = yyj1619 > l
	} else {
		yyb1619 = r.CheckBreak()
	}
	if yyb1619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1619++
	if yyhl1619 {
		yyb1619 = yyj1619 > l
	} else {
		yyb1619 = r.CheckBreak()
	}
	if yyb1619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1619++
	if yyhl1619 {
		yyb1619 = yyj1619 > l
	} else {
		yyb1619 = r.CheckBreak()
	}
	if yyb1619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1622 := &x.ObjectMeta
		yyv1622.CodecDecodeSelf(d)
	}
	yyj1619++
	if yyhl1619 {
		yyb1619 = yyj1619 > l
	} else {
		yyb1619 = r.CheckBreak()
	}
	if yyb1619 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1623 := &x.Status
		yyv1623.CodecDecodeSelf(d)
	}
	for {
		yyj1619++
		if yyhl1619 {
			yyb1619 = yyj1619 > l
		} else {
			yyb1619 = r.CheckBreak()
		}
		if yyb1619 {
			break
		}
		z.DecStructFieldNotFound(yyj1619-1, "")
	}
	r.ReadEnd()
}

func (x *Pod) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1624 := z.EncBinary()
		_ = yym1624
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1625 := !z.EncBinary()
			yy2arr1625 := z.EncBasicHandle().StructToArray
			var yyq1625 [5]bool
			_, _, _ = yysep1625, yyq1625, yy2arr1625
			const yyr1625 bool = false
			yyq1625[0] = x.Kind != ""
			yyq1625[1] = x.APIVersion != ""
			yyq1625[2] = true
			yyq1625[3] = true
			yyq1625[4] = true
			if yyr1625 || yy2arr1625 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1625 int = 0
				for _, b := range yyq1625 {
					if b {
						yynn1625++
					}
				}
				r.EncodeMapStart(yynn1625)
			}
			if yyr1625 || yy2arr1625 {
				if yyq1625[0] {
					yym1627 := z.EncBinary()
					_ = yym1627
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1625[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1628 := z.EncBinary()
					_ = yym1628
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1625 || yy2arr1625 {
				if yyq1625[1] {
					yym1630 := z.EncBinary()
					_ = yym1630
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1625[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1631 := z.EncBinary()
					_ = yym1631
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1625 || yy2arr1625 {
				if yyq1625[2] {
					yy1633 := &x.ObjectMeta
					yy1633.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1625[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1634 := &x.ObjectMeta
					yy1634.CodecEncodeSelf(e)
				}
			}
			if yyr1625 || yy2arr1625 {
				if yyq1625[3] {
					yy1636 := &x.Spec
					yy1636.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1625[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1637 := &x.Spec
					yy1637.CodecEncodeSelf(e)
				}
			}
			if yyr1625 || yy2arr1625 {
				if yyq1625[4] {
					yy1639 := &x.Status
					yy1639.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1625[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1640 := &x.Status
					yy1640.CodecEncodeSelf(e)
				}
			}
			if yysep1625 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Pod) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1641 := z.DecBinary()
	_ = yym1641
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1642 := r.ReadMapStart()
			if yyl1642 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1642, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1642 := r.ReadArrayStart()
			if yyl1642 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1642, 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 yys1643Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1643Slc
	var yyhl1643 bool = l >= 0
	for yyj1643 := 0; ; yyj1643++ {
		if yyhl1643 {
			if yyj1643 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1643Slc = r.DecodeBytes(yys1643Slc, true, true)
		yys1643 := string(yys1643Slc)
		switch yys1643 {
		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 {
				yyv1646 := &x.ObjectMeta
				yyv1646.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1647 := &x.Spec
				yyv1647.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = PodStatus{}
			} else {
				yyv1648 := &x.Status
				yyv1648.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1643)
		} // end switch yys1643
	} // end for yyj1643
	if !yyhl1643 {
		r.ReadEnd()
	}
}

func (x *Pod) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1649 int
	var yyb1649 bool
	var yyhl1649 bool = l >= 0
	yyj1649++
	if yyhl1649 {
		yyb1649 = yyj1649 > l
	} else {
		yyb1649 = r.CheckBreak()
	}
	if yyb1649 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1649++
	if yyhl1649 {
		yyb1649 = yyj1649 > l
	} else {
		yyb1649 = r.CheckBreak()
	}
	if yyb1649 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1649++
	if yyhl1649 {
		yyb1649 = yyj1649 > l
	} else {
		yyb1649 = r.CheckBreak()
	}
	if yyb1649 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1652 := &x.ObjectMeta
		yyv1652.CodecDecodeSelf(d)
	}
	yyj1649++
	if yyhl1649 {
		yyb1649 = yyj1649 > l
	} else {
		yyb1649 = r.CheckBreak()
	}
	if yyb1649 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1653 := &x.Spec
		yyv1653.CodecDecodeSelf(d)
	}
	yyj1649++
	if yyhl1649 {
		yyb1649 = yyj1649 > l
	} else {
		yyb1649 = r.CheckBreak()
	}
	if yyb1649 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = PodStatus{}
	} else {
		yyv1654 := &x.Status
		yyv1654.CodecDecodeSelf(d)
	}
	for {
		yyj1649++
		if yyhl1649 {
			yyb1649 = yyj1649 > l
		} else {
			yyb1649 = r.CheckBreak()
		}
		if yyb1649 {
			break
		}
		z.DecStructFieldNotFound(yyj1649-1, "")
	}
	r.ReadEnd()
}

func (x *PodTemplateSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1655 := z.EncBinary()
		_ = yym1655
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1656 := !z.EncBinary()
			yy2arr1656 := z.EncBasicHandle().StructToArray
			var yyq1656 [2]bool
			_, _, _ = yysep1656, yyq1656, yy2arr1656
			const yyr1656 bool = false
			yyq1656[0] = true
			yyq1656[1] = true
			if yyr1656 || yy2arr1656 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1656 int = 0
				for _, b := range yyq1656 {
					if b {
						yynn1656++
					}
				}
				r.EncodeMapStart(yynn1656)
			}
			if yyr1656 || yy2arr1656 {
				if yyq1656[0] {
					yy1658 := &x.ObjectMeta
					yy1658.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1656[0] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1659 := &x.ObjectMeta
					yy1659.CodecEncodeSelf(e)
				}
			}
			if yyr1656 || yy2arr1656 {
				if yyq1656[1] {
					yy1661 := &x.Spec
					yy1661.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1656[1] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1662 := &x.Spec
					yy1662.CodecEncodeSelf(e)
				}
			}
			if yysep1656 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodTemplateSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1663 := z.DecBinary()
	_ = yym1663
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1664 := r.ReadMapStart()
			if yyl1664 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1664, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1664 := r.ReadArrayStart()
			if yyl1664 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1664, 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 yys1665Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1665Slc
	var yyhl1665 bool = l >= 0
	for yyj1665 := 0; ; yyj1665++ {
		if yyhl1665 {
			if yyj1665 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1665Slc = r.DecodeBytes(yys1665Slc, true, true)
		yys1665 := string(yys1665Slc)
		switch yys1665 {
		case "metadata":
			if r.TryDecodeAsNil() {
				x.ObjectMeta = ObjectMeta{}
			} else {
				yyv1666 := &x.ObjectMeta
				yyv1666.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = PodSpec{}
			} else {
				yyv1667 := &x.Spec
				yyv1667.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1665)
		} // end switch yys1665
	} // end for yyj1665
	if !yyhl1665 {
		r.ReadEnd()
	}
}

func (x *PodTemplateSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1668 int
	var yyb1668 bool
	var yyhl1668 bool = l >= 0
	yyj1668++
	if yyhl1668 {
		yyb1668 = yyj1668 > l
	} else {
		yyb1668 = r.CheckBreak()
	}
	if yyb1668 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1669 := &x.ObjectMeta
		yyv1669.CodecDecodeSelf(d)
	}
	yyj1668++
	if yyhl1668 {
		yyb1668 = yyj1668 > l
	} else {
		yyb1668 = r.CheckBreak()
	}
	if yyb1668 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = PodSpec{}
	} else {
		yyv1670 := &x.Spec
		yyv1670.CodecDecodeSelf(d)
	}
	for {
		yyj1668++
		if yyhl1668 {
			yyb1668 = yyj1668 > l
		} else {
			yyb1668 = r.CheckBreak()
		}
		if yyb1668 {
			break
		}
		z.DecStructFieldNotFound(yyj1668-1, "")
	}
	r.ReadEnd()
}

func (x *PodTemplate) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1671 := z.EncBinary()
		_ = yym1671
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1672 := !z.EncBinary()
			yy2arr1672 := z.EncBasicHandle().StructToArray
			var yyq1672 [4]bool
			_, _, _ = yysep1672, yyq1672, yy2arr1672
			const yyr1672 bool = false
			yyq1672[0] = x.Kind != ""
			yyq1672[1] = x.APIVersion != ""
			yyq1672[2] = true
			yyq1672[3] = true
			if yyr1672 || yy2arr1672 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1672 int = 0
				for _, b := range yyq1672 {
					if b {
						yynn1672++
					}
				}
				r.EncodeMapStart(yynn1672)
			}
			if yyr1672 || yy2arr1672 {
				if yyq1672[0] {
					yym1674 := z.EncBinary()
					_ = yym1674
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1672[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1675 := z.EncBinary()
					_ = yym1675
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1672 || yy2arr1672 {
				if yyq1672[1] {
					yym1677 := z.EncBinary()
					_ = yym1677
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1672[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1678 := z.EncBinary()
					_ = yym1678
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1672 || yy2arr1672 {
				if yyq1672[2] {
					yy1680 := &x.ObjectMeta
					yy1680.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1672[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1681 := &x.ObjectMeta
					yy1681.CodecEncodeSelf(e)
				}
			}
			if yyr1672 || yy2arr1672 {
				if yyq1672[3] {
					yy1683 := &x.Template
					yy1683.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1672[3] {
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					yy1684 := &x.Template
					yy1684.CodecEncodeSelf(e)
				}
			}
			if yysep1672 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodTemplate) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1685 := z.DecBinary()
	_ = yym1685
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1686 := r.ReadMapStart()
			if yyl1686 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1686, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1686 := r.ReadArrayStart()
			if yyl1686 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1686, 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 yys1687Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1687Slc
	var yyhl1687 bool = l >= 0
	for yyj1687 := 0; ; yyj1687++ {
		if yyhl1687 {
			if yyj1687 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1687Slc = r.DecodeBytes(yys1687Slc, true, true)
		yys1687 := string(yys1687Slc)
		switch yys1687 {
		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 {
				yyv1690 := &x.ObjectMeta
				yyv1690.CodecDecodeSelf(d)
			}
		case "template":
			if r.TryDecodeAsNil() {
				x.Template = PodTemplateSpec{}
			} else {
				yyv1691 := &x.Template
				yyv1691.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1687)
		} // end switch yys1687
	} // end for yyj1687
	if !yyhl1687 {
		r.ReadEnd()
	}
}

func (x *PodTemplate) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1692 int
	var yyb1692 bool
	var yyhl1692 bool = l >= 0
	yyj1692++
	if yyhl1692 {
		yyb1692 = yyj1692 > l
	} else {
		yyb1692 = r.CheckBreak()
	}
	if yyb1692 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1692++
	if yyhl1692 {
		yyb1692 = yyj1692 > l
	} else {
		yyb1692 = r.CheckBreak()
	}
	if yyb1692 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1692++
	if yyhl1692 {
		yyb1692 = yyj1692 > l
	} else {
		yyb1692 = r.CheckBreak()
	}
	if yyb1692 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1695 := &x.ObjectMeta
		yyv1695.CodecDecodeSelf(d)
	}
	yyj1692++
	if yyhl1692 {
		yyb1692 = yyj1692 > l
	} else {
		yyb1692 = r.CheckBreak()
	}
	if yyb1692 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Template = PodTemplateSpec{}
	} else {
		yyv1696 := &x.Template
		yyv1696.CodecDecodeSelf(d)
	}
	for {
		yyj1692++
		if yyhl1692 {
			yyb1692 = yyj1692 > l
		} else {
			yyb1692 = r.CheckBreak()
		}
		if yyb1692 {
			break
		}
		z.DecStructFieldNotFound(yyj1692-1, "")
	}
	r.ReadEnd()
}

func (x *PodTemplateList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1697 := z.EncBinary()
		_ = yym1697
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1698 := !z.EncBinary()
			yy2arr1698 := z.EncBasicHandle().StructToArray
			var yyq1698 [4]bool
			_, _, _ = yysep1698, yyq1698, yy2arr1698
			const yyr1698 bool = false
			yyq1698[0] = x.Kind != ""
			yyq1698[1] = x.APIVersion != ""
			yyq1698[2] = true
			if yyr1698 || yy2arr1698 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1698 int = 1
				for _, b := range yyq1698 {
					if b {
						yynn1698++
					}
				}
				r.EncodeMapStart(yynn1698)
			}
			if yyr1698 || yy2arr1698 {
				if yyq1698[0] {
					yym1700 := z.EncBinary()
					_ = yym1700
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1698[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1701 := z.EncBinary()
					_ = yym1701
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1698 || yy2arr1698 {
				if yyq1698[1] {
					yym1703 := z.EncBinary()
					_ = yym1703
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1698[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1704 := z.EncBinary()
					_ = yym1704
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1698 || yy2arr1698 {
				if yyq1698[2] {
					yy1706 := &x.ListMeta
					yym1707 := z.EncBinary()
					_ = yym1707
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1706) {
					} else {
						z.EncFallback(yy1706)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1698[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1708 := &x.ListMeta
					yym1709 := z.EncBinary()
					_ = yym1709
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1708) {
					} else {
						z.EncFallback(yy1708)
					}
				}
			}
			if yyr1698 || yy2arr1698 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1711 := z.EncBinary()
					_ = yym1711
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1712 := z.EncBinary()
					_ = yym1712
					if false {
					} else {
						h.encSlicePodTemplate(([]PodTemplate)(x.Items), e)
					}
				}
			}
			if yysep1698 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodTemplateList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1713 := z.DecBinary()
	_ = yym1713
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1714 := r.ReadMapStart()
			if yyl1714 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1714, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1714 := r.ReadArrayStart()
			if yyl1714 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1714, 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 yys1715Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1715Slc
	var yyhl1715 bool = l >= 0
	for yyj1715 := 0; ; yyj1715++ {
		if yyhl1715 {
			if yyj1715 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1715Slc = r.DecodeBytes(yys1715Slc, true, true)
		yys1715 := string(yys1715Slc)
		switch yys1715 {
		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 {
				yyv1718 := &x.ListMeta
				yym1719 := z.DecBinary()
				_ = yym1719
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1718) {
				} else {
					z.DecFallback(yyv1718, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1720 := &x.Items
				yym1721 := z.DecBinary()
				_ = yym1721
				if false {
				} else {
					h.decSlicePodTemplate((*[]PodTemplate)(yyv1720), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1715)
		} // end switch yys1715
	} // end for yyj1715
	if !yyhl1715 {
		r.ReadEnd()
	}
}

func (x *PodTemplateList) 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 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1725 := &x.ListMeta
		yym1726 := z.DecBinary()
		_ = yym1726
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1725) {
		} else {
			z.DecFallback(yyv1725, false)
		}
	}
	yyj1722++
	if yyhl1722 {
		yyb1722 = yyj1722 > l
	} else {
		yyb1722 = r.CheckBreak()
	}
	if yyb1722 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1727 := &x.Items
		yym1728 := z.DecBinary()
		_ = yym1728
		if false {
		} else {
			h.decSlicePodTemplate((*[]PodTemplate)(yyv1727), d)
		}
	}
	for {
		yyj1722++
		if yyhl1722 {
			yyb1722 = yyj1722 > l
		} else {
			yyb1722 = r.CheckBreak()
		}
		if yyb1722 {
			break
		}
		z.DecStructFieldNotFound(yyj1722-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationControllerSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1729 := z.EncBinary()
		_ = yym1729
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1730 := !z.EncBinary()
			yy2arr1730 := z.EncBasicHandle().StructToArray
			var yyq1730 [3]bool
			_, _, _ = yysep1730, yyq1730, yy2arr1730
			const yyr1730 bool = false
			yyq1730[2] = x.Template != nil
			if yyr1730 || yy2arr1730 {
				r.EncodeArrayStart(3)
			} else {
				var yynn1730 int = 2
				for _, b := range yyq1730 {
					if b {
						yynn1730++
					}
				}
				r.EncodeMapStart(yynn1730)
			}
			if yyr1730 || yy2arr1730 {
				yym1732 := z.EncBinary()
				_ = yym1732
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				yym1733 := z.EncBinary()
				_ = yym1733
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr1730 || yy2arr1730 {
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym1735 := z.EncBinary()
					_ = yym1735
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("selector"))
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym1736 := z.EncBinary()
					_ = yym1736
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr1730 || yy2arr1730 {
				if yyq1730[2] {
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1730[2] {
					r.EncodeString(codecSelferC_UTF81234, string("template"))
					if x.Template == nil {
						r.EncodeNil()
					} else {
						x.Template.CodecEncodeSelf(e)
					}
				}
			}
			if yysep1730 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationControllerSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1738 := z.DecBinary()
	_ = yym1738
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1739 := r.ReadMapStart()
			if yyl1739 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1739, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1739 := r.ReadArrayStart()
			if yyl1739 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1739, 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 yys1740Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1740Slc
	var yyhl1740 bool = l >= 0
	for yyj1740 := 0; ; yyj1740++ {
		if yyhl1740 {
			if yyj1740 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1740Slc = r.DecodeBytes(yys1740Slc, true, true)
		yys1740 := string(yys1740Slc)
		switch yys1740 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1742 := &x.Selector
				yym1743 := z.DecBinary()
				_ = yym1743
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1742, 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, yys1740)
		} // end switch yys1740
	} // end for yyj1740
	if !yyhl1740 {
		r.ReadEnd()
	}
}

func (x *ReplicationControllerSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1745 int
	var yyb1745 bool
	var yyhl1745 bool = l >= 0
	yyj1745++
	if yyhl1745 {
		yyb1745 = yyj1745 > l
	} else {
		yyb1745 = r.CheckBreak()
	}
	if yyb1745 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1745++
	if yyhl1745 {
		yyb1745 = yyj1745 > l
	} else {
		yyb1745 = r.CheckBreak()
	}
	if yyb1745 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1747 := &x.Selector
		yym1748 := z.DecBinary()
		_ = yym1748
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1747, false, d)
		}
	}
	yyj1745++
	if yyhl1745 {
		yyb1745 = yyj1745 > l
	} else {
		yyb1745 = r.CheckBreak()
	}
	if yyb1745 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Template != nil {
			x.Template = nil
		}
	} else {
		if x.Template == nil {
			x.Template = new(PodTemplateSpec)
		}
		x.Template.CodecDecodeSelf(d)
	}
	for {
		yyj1745++
		if yyhl1745 {
			yyb1745 = yyj1745 > l
		} else {
			yyb1745 = r.CheckBreak()
		}
		if yyb1745 {
			break
		}
		z.DecStructFieldNotFound(yyj1745-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationControllerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1750 := z.EncBinary()
		_ = yym1750
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1751 := !z.EncBinary()
			yy2arr1751 := z.EncBasicHandle().StructToArray
			var yyq1751 [2]bool
			_, _, _ = yysep1751, yyq1751, yy2arr1751
			const yyr1751 bool = false
			yyq1751[1] = x.ObservedGeneration != 0
			if yyr1751 || yy2arr1751 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1751 int = 1
				for _, b := range yyq1751 {
					if b {
						yynn1751++
					}
				}
				r.EncodeMapStart(yynn1751)
			}
			if yyr1751 || yy2arr1751 {
				yym1753 := z.EncBinary()
				_ = yym1753
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("replicas"))
				yym1754 := z.EncBinary()
				_ = yym1754
				if false {
				} else {
					r.EncodeInt(int64(x.Replicas))
				}
			}
			if yyr1751 || yy2arr1751 {
				if yyq1751[1] {
					yym1756 := z.EncBinary()
					_ = yym1756
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq1751[1] {
					r.EncodeString(codecSelferC_UTF81234, string("observedGeneration"))
					yym1757 := z.EncBinary()
					_ = yym1757
					if false {
					} else {
						r.EncodeInt(int64(x.ObservedGeneration))
					}
				}
			}
			if yysep1751 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationControllerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1758 := z.DecBinary()
	_ = yym1758
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1759 := r.ReadMapStart()
			if yyl1759 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1759, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1759 := r.ReadArrayStart()
			if yyl1759 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1759, 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 yys1760Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1760Slc
	var yyhl1760 bool = l >= 0
	for yyj1760 := 0; ; yyj1760++ {
		if yyhl1760 {
			if yyj1760 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1760Slc = r.DecodeBytes(yys1760Slc, true, true)
		yys1760 := string(yys1760Slc)
		switch yys1760 {
		case "replicas":
			if r.TryDecodeAsNil() {
				x.Replicas = 0
			} else {
				x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "observedGeneration":
			if r.TryDecodeAsNil() {
				x.ObservedGeneration = 0
			} else {
				x.ObservedGeneration = int64(r.DecodeInt(64))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1760)
		} // end switch yys1760
	} // end for yyj1760
	if !yyhl1760 {
		r.ReadEnd()
	}
}

func (x *ReplicationControllerStatus) 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 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Replicas = 0
	} else {
		x.Replicas = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1763++
	if yyhl1763 {
		yyb1763 = yyj1763 > l
	} else {
		yyb1763 = r.CheckBreak()
	}
	if yyb1763 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObservedGeneration = 0
	} else {
		x.ObservedGeneration = int64(r.DecodeInt(64))
	}
	for {
		yyj1763++
		if yyhl1763 {
			yyb1763 = yyj1763 > l
		} else {
			yyb1763 = r.CheckBreak()
		}
		if yyb1763 {
			break
		}
		z.DecStructFieldNotFound(yyj1763-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationController) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1766 := z.EncBinary()
		_ = yym1766
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1767 := !z.EncBinary()
			yy2arr1767 := z.EncBasicHandle().StructToArray
			var yyq1767 [5]bool
			_, _, _ = yysep1767, yyq1767, yy2arr1767
			const yyr1767 bool = false
			yyq1767[0] = x.Kind != ""
			yyq1767[1] = x.APIVersion != ""
			yyq1767[2] = true
			yyq1767[3] = true
			yyq1767[4] = true
			if yyr1767 || yy2arr1767 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1767 int = 0
				for _, b := range yyq1767 {
					if b {
						yynn1767++
					}
				}
				r.EncodeMapStart(yynn1767)
			}
			if yyr1767 || yy2arr1767 {
				if yyq1767[0] {
					yym1769 := z.EncBinary()
					_ = yym1769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1767[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1770 := z.EncBinary()
					_ = yym1770
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1767 || yy2arr1767 {
				if yyq1767[1] {
					yym1772 := z.EncBinary()
					_ = yym1772
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1767[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1773 := z.EncBinary()
					_ = yym1773
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1767 || yy2arr1767 {
				if yyq1767[2] {
					yy1775 := &x.ObjectMeta
					yy1775.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1767[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1776 := &x.ObjectMeta
					yy1776.CodecEncodeSelf(e)
				}
			}
			if yyr1767 || yy2arr1767 {
				if yyq1767[3] {
					yy1778 := &x.Spec
					yy1778.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1767[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1779 := &x.Spec
					yy1779.CodecEncodeSelf(e)
				}
			}
			if yyr1767 || yy2arr1767 {
				if yyq1767[4] {
					yy1781 := &x.Status
					yy1781.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1767[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1782 := &x.Status
					yy1782.CodecEncodeSelf(e)
				}
			}
			if yysep1767 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationController) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1783 := z.DecBinary()
	_ = yym1783
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1784 := r.ReadMapStart()
			if yyl1784 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1784, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1784 := r.ReadArrayStart()
			if yyl1784 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1784, 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 yys1785Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1785Slc
	var yyhl1785 bool = l >= 0
	for yyj1785 := 0; ; yyj1785++ {
		if yyhl1785 {
			if yyj1785 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1785Slc = r.DecodeBytes(yys1785Slc, true, true)
		yys1785 := string(yys1785Slc)
		switch yys1785 {
		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 {
				yyv1788 := &x.ObjectMeta
				yyv1788.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ReplicationControllerSpec{}
			} else {
				yyv1789 := &x.Spec
				yyv1789.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ReplicationControllerStatus{}
			} else {
				yyv1790 := &x.Status
				yyv1790.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1785)
		} // end switch yys1785
	} // end for yyj1785
	if !yyhl1785 {
		r.ReadEnd()
	}
}

func (x *ReplicationController) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1791 int
	var yyb1791 bool
	var yyhl1791 bool = l >= 0
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv1794 := &x.ObjectMeta
		yyv1794.CodecDecodeSelf(d)
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = ReplicationControllerSpec{}
	} else {
		yyv1795 := &x.Spec
		yyv1795.CodecDecodeSelf(d)
	}
	yyj1791++
	if yyhl1791 {
		yyb1791 = yyj1791 > l
	} else {
		yyb1791 = r.CheckBreak()
	}
	if yyb1791 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ReplicationControllerStatus{}
	} else {
		yyv1796 := &x.Status
		yyv1796.CodecDecodeSelf(d)
	}
	for {
		yyj1791++
		if yyhl1791 {
			yyb1791 = yyj1791 > l
		} else {
			yyb1791 = r.CheckBreak()
		}
		if yyb1791 {
			break
		}
		z.DecStructFieldNotFound(yyj1791-1, "")
	}
	r.ReadEnd()
}

func (x *ReplicationControllerList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1797 := z.EncBinary()
		_ = yym1797
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1798 := !z.EncBinary()
			yy2arr1798 := z.EncBasicHandle().StructToArray
			var yyq1798 [4]bool
			_, _, _ = yysep1798, yyq1798, yy2arr1798
			const yyr1798 bool = false
			yyq1798[0] = x.Kind != ""
			yyq1798[1] = x.APIVersion != ""
			yyq1798[2] = true
			if yyr1798 || yy2arr1798 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1798 int = 1
				for _, b := range yyq1798 {
					if b {
						yynn1798++
					}
				}
				r.EncodeMapStart(yynn1798)
			}
			if yyr1798 || yy2arr1798 {
				if yyq1798[0] {
					yym1800 := z.EncBinary()
					_ = yym1800
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1798[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1801 := z.EncBinary()
					_ = yym1801
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1798 || yy2arr1798 {
				if yyq1798[1] {
					yym1803 := z.EncBinary()
					_ = yym1803
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1798[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1804 := z.EncBinary()
					_ = yym1804
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1798 || yy2arr1798 {
				if yyq1798[2] {
					yy1806 := &x.ListMeta
					yym1807 := z.EncBinary()
					_ = yym1807
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1806) {
					} else {
						z.EncFallback(yy1806)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1798[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1808 := &x.ListMeta
					yym1809 := z.EncBinary()
					_ = yym1809
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1808) {
					} else {
						z.EncFallback(yy1808)
					}
				}
			}
			if yyr1798 || yy2arr1798 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1811 := z.EncBinary()
					_ = yym1811
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1812 := z.EncBinary()
					_ = yym1812
					if false {
					} else {
						h.encSliceReplicationController(([]ReplicationController)(x.Items), e)
					}
				}
			}
			if yysep1798 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ReplicationControllerList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1813 := z.DecBinary()
	_ = yym1813
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1814 := r.ReadMapStart()
			if yyl1814 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1814, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1814 := r.ReadArrayStart()
			if yyl1814 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1814, 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 yys1815Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1815Slc
	var yyhl1815 bool = l >= 0
	for yyj1815 := 0; ; yyj1815++ {
		if yyhl1815 {
			if yyj1815 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1815Slc = r.DecodeBytes(yys1815Slc, true, true)
		yys1815 := string(yys1815Slc)
		switch yys1815 {
		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 {
				yyv1818 := &x.ListMeta
				yym1819 := z.DecBinary()
				_ = yym1819
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1818) {
				} else {
					z.DecFallback(yyv1818, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1820 := &x.Items
				yym1821 := z.DecBinary()
				_ = yym1821
				if false {
				} else {
					h.decSliceReplicationController((*[]ReplicationController)(yyv1820), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1815)
		} // end switch yys1815
	} // end for yyj1815
	if !yyhl1815 {
		r.ReadEnd()
	}
}

func (x *ReplicationControllerList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1822 int
	var yyb1822 bool
	var yyhl1822 bool = l >= 0
	yyj1822++
	if yyhl1822 {
		yyb1822 = yyj1822 > l
	} else {
		yyb1822 = r.CheckBreak()
	}
	if yyb1822 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1822++
	if yyhl1822 {
		yyb1822 = yyj1822 > l
	} else {
		yyb1822 = r.CheckBreak()
	}
	if yyb1822 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1822++
	if yyhl1822 {
		yyb1822 = yyj1822 > l
	} else {
		yyb1822 = r.CheckBreak()
	}
	if yyb1822 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1825 := &x.ListMeta
		yym1826 := z.DecBinary()
		_ = yym1826
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1825) {
		} else {
			z.DecFallback(yyv1825, false)
		}
	}
	yyj1822++
	if yyhl1822 {
		yyb1822 = yyj1822 > l
	} else {
		yyb1822 = r.CheckBreak()
	}
	if yyb1822 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1827 := &x.Items
		yym1828 := z.DecBinary()
		_ = yym1828
		if false {
		} else {
			h.decSliceReplicationController((*[]ReplicationController)(yyv1827), d)
		}
	}
	for {
		yyj1822++
		if yyhl1822 {
			yyb1822 = yyj1822 > l
		} else {
			yyb1822 = r.CheckBreak()
		}
		if yyb1822 {
			break
		}
		z.DecStructFieldNotFound(yyj1822-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1829 := z.EncBinary()
		_ = yym1829
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1830 := !z.EncBinary()
			yy2arr1830 := z.EncBasicHandle().StructToArray
			var yyq1830 [4]bool
			_, _, _ = yysep1830, yyq1830, yy2arr1830
			const yyr1830 bool = false
			yyq1830[0] = x.Kind != ""
			yyq1830[1] = x.APIVersion != ""
			yyq1830[2] = true
			if yyr1830 || yy2arr1830 {
				r.EncodeArrayStart(4)
			} else {
				var yynn1830 int = 1
				for _, b := range yyq1830 {
					if b {
						yynn1830++
					}
				}
				r.EncodeMapStart(yynn1830)
			}
			if yyr1830 || yy2arr1830 {
				if yyq1830[0] {
					yym1832 := z.EncBinary()
					_ = yym1832
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1830[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1833 := z.EncBinary()
					_ = yym1833
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1830 || yy2arr1830 {
				if yyq1830[1] {
					yym1835 := z.EncBinary()
					_ = yym1835
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1830[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1836 := z.EncBinary()
					_ = yym1836
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1830 || yy2arr1830 {
				if yyq1830[2] {
					yy1838 := &x.ListMeta
					yym1839 := z.EncBinary()
					_ = yym1839
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1838) {
					} else {
						z.EncFallback(yy1838)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1830[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1840 := &x.ListMeta
					yym1841 := z.EncBinary()
					_ = yym1841
					if false {
					} else if z.HasExtensions() && z.EncExt(yy1840) {
					} else {
						z.EncFallback(yy1840)
					}
				}
			}
			if yyr1830 || yy2arr1830 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1843 := z.EncBinary()
					_ = yym1843
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym1844 := z.EncBinary()
					_ = yym1844
					if false {
					} else {
						h.encSliceService(([]Service)(x.Items), e)
					}
				}
			}
			if yysep1830 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1845 := z.DecBinary()
	_ = yym1845
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1846 := r.ReadMapStart()
			if yyl1846 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1846, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1846 := r.ReadArrayStart()
			if yyl1846 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1846, 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 yys1847Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1847Slc
	var yyhl1847 bool = l >= 0
	for yyj1847 := 0; ; yyj1847++ {
		if yyhl1847 {
			if yyj1847 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1847Slc = r.DecodeBytes(yys1847Slc, true, true)
		yys1847 := string(yys1847Slc)
		switch yys1847 {
		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 {
				yyv1850 := &x.ListMeta
				yym1851 := z.DecBinary()
				_ = yym1851
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1850) {
				} else {
					z.DecFallback(yyv1850, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv1852 := &x.Items
				yym1853 := z.DecBinary()
				_ = yym1853
				if false {
				} else {
					h.decSliceService((*[]Service)(yyv1852), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1847)
		} // end switch yys1847
	} // end for yyj1847
	if !yyhl1847 {
		r.ReadEnd()
	}
}

func (x *ServiceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1854 int
	var yyb1854 bool
	var yyhl1854 bool = l >= 0
	yyj1854++
	if yyhl1854 {
		yyb1854 = yyj1854 > l
	} else {
		yyb1854 = r.CheckBreak()
	}
	if yyb1854 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj1854++
	if yyhl1854 {
		yyb1854 = yyj1854 > l
	} else {
		yyb1854 = r.CheckBreak()
	}
	if yyb1854 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj1854++
	if yyhl1854 {
		yyb1854 = yyj1854 > l
	} else {
		yyb1854 = r.CheckBreak()
	}
	if yyb1854 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv1857 := &x.ListMeta
		yym1858 := z.DecBinary()
		_ = yym1858
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1857) {
		} else {
			z.DecFallback(yyv1857, false)
		}
	}
	yyj1854++
	if yyhl1854 {
		yyb1854 = yyj1854 > l
	} else {
		yyb1854 = r.CheckBreak()
	}
	if yyb1854 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv1859 := &x.Items
		yym1860 := z.DecBinary()
		_ = yym1860
		if false {
		} else {
			h.decSliceService((*[]Service)(yyv1859), d)
		}
	}
	for {
		yyj1854++
		if yyhl1854 {
			yyb1854 = yyj1854 > l
		} else {
			yyb1854 = r.CheckBreak()
		}
		if yyb1854 {
			break
		}
		z.DecStructFieldNotFound(yyj1854-1, "")
	}
	r.ReadEnd()
}

func (x ServiceAffinity) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym1861 := z.EncBinary()
	_ = yym1861
	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
	yym1862 := z.DecBinary()
	_ = yym1862
	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
	yym1863 := z.EncBinary()
	_ = yym1863
	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
	yym1864 := z.DecBinary()
	_ = yym1864
	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 {
		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
			yyq1866[0] = true
			if yyr1866 || yy2arr1866 {
				r.EncodeArrayStart(1)
			} else {
				var yynn1866 int = 0
				for _, b := range yyq1866 {
					if b {
						yynn1866++
					}
				}
				r.EncodeMapStart(yynn1866)
			}
			if yyr1866 || yy2arr1866 {
				if yyq1866[0] {
					yy1868 := &x.LoadBalancer
					yy1868.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1866[0] {
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancer"))
					yy1869 := &x.LoadBalancer
					yy1869.CodecEncodeSelf(e)
				}
			}
			if yysep1866 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceStatus) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1871 := r.ReadMapStart()
			if yyl1871 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1871, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1871 := r.ReadArrayStart()
			if yyl1871 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1871, 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 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
			}
		}
		yys1872Slc = r.DecodeBytes(yys1872Slc, true, true)
		yys1872 := string(yys1872Slc)
		switch yys1872 {
		case "loadBalancer":
			if r.TryDecodeAsNil() {
				x.LoadBalancer = LoadBalancerStatus{}
			} else {
				yyv1873 := &x.LoadBalancer
				yyv1873.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys1872)
		} // end switch yys1872
	} // end for yyj1872
	if !yyhl1872 {
		r.ReadEnd()
	}
}

func (x *ServiceStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1874 int
	var yyb1874 bool
	var yyhl1874 bool = l >= 0
	yyj1874++
	if yyhl1874 {
		yyb1874 = yyj1874 > l
	} else {
		yyb1874 = r.CheckBreak()
	}
	if yyb1874 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LoadBalancer = LoadBalancerStatus{}
	} else {
		yyv1875 := &x.LoadBalancer
		yyv1875.CodecDecodeSelf(d)
	}
	for {
		yyj1874++
		if yyhl1874 {
			yyb1874 = yyj1874 > l
		} else {
			yyb1874 = r.CheckBreak()
		}
		if yyb1874 {
			break
		}
		z.DecStructFieldNotFound(yyj1874-1, "")
	}
	r.ReadEnd()
}

func (x *LoadBalancerStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1876 := z.EncBinary()
		_ = yym1876
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1877 := !z.EncBinary()
			yy2arr1877 := z.EncBasicHandle().StructToArray
			var yyq1877 [1]bool
			_, _, _ = yysep1877, yyq1877, yy2arr1877
			const yyr1877 bool = false
			yyq1877[0] = len(x.Ingress) != 0
			if yyr1877 || yy2arr1877 {
				r.EncodeArrayStart(1)
			} else {
				var yynn1877 int = 0
				for _, b := range yyq1877 {
					if b {
						yynn1877++
					}
				}
				r.EncodeMapStart(yynn1877)
			}
			if yyr1877 || yy2arr1877 {
				if yyq1877[0] {
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1879 := z.EncBinary()
						_ = yym1879
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1877[0] {
					r.EncodeString(codecSelferC_UTF81234, string("ingress"))
					if x.Ingress == nil {
						r.EncodeNil()
					} else {
						yym1880 := z.EncBinary()
						_ = yym1880
						if false {
						} else {
							h.encSliceLoadBalancerIngress(([]LoadBalancerIngress)(x.Ingress), e)
						}
					}
				}
			}
			if yysep1877 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LoadBalancerStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1881 := z.DecBinary()
	_ = yym1881
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1882 := r.ReadMapStart()
			if yyl1882 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1882, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1882 := r.ReadArrayStart()
			if yyl1882 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1882, 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 yys1883Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1883Slc
	var yyhl1883 bool = l >= 0
	for yyj1883 := 0; ; yyj1883++ {
		if yyhl1883 {
			if yyj1883 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1883Slc = r.DecodeBytes(yys1883Slc, true, true)
		yys1883 := string(yys1883Slc)
		switch yys1883 {
		case "ingress":
			if r.TryDecodeAsNil() {
				x.Ingress = nil
			} else {
				yyv1884 := &x.Ingress
				yym1885 := z.DecBinary()
				_ = yym1885
				if false {
				} else {
					h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1884), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys1883)
		} // end switch yys1883
	} // end for yyj1883
	if !yyhl1883 {
		r.ReadEnd()
	}
}

func (x *LoadBalancerStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1886 int
	var yyb1886 bool
	var yyhl1886 bool = l >= 0
	yyj1886++
	if yyhl1886 {
		yyb1886 = yyj1886 > l
	} else {
		yyb1886 = r.CheckBreak()
	}
	if yyb1886 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ingress = nil
	} else {
		yyv1887 := &x.Ingress
		yym1888 := z.DecBinary()
		_ = yym1888
		if false {
		} else {
			h.decSliceLoadBalancerIngress((*[]LoadBalancerIngress)(yyv1887), d)
		}
	}
	for {
		yyj1886++
		if yyhl1886 {
			yyb1886 = yyj1886 > l
		} else {
			yyb1886 = r.CheckBreak()
		}
		if yyb1886 {
			break
		}
		z.DecStructFieldNotFound(yyj1886-1, "")
	}
	r.ReadEnd()
}

func (x *LoadBalancerIngress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1889 := z.EncBinary()
		_ = yym1889
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1890 := !z.EncBinary()
			yy2arr1890 := z.EncBasicHandle().StructToArray
			var yyq1890 [2]bool
			_, _, _ = yysep1890, yyq1890, yy2arr1890
			const yyr1890 bool = false
			yyq1890[0] = x.IP != ""
			yyq1890[1] = x.Hostname != ""
			if yyr1890 || yy2arr1890 {
				r.EncodeArrayStart(2)
			} else {
				var yynn1890 int = 0
				for _, b := range yyq1890 {
					if b {
						yynn1890++
					}
				}
				r.EncodeMapStart(yynn1890)
			}
			if yyr1890 || yy2arr1890 {
				if yyq1890[0] {
					yym1892 := z.EncBinary()
					_ = yym1892
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1890[0] {
					r.EncodeString(codecSelferC_UTF81234, string("ip"))
					yym1893 := z.EncBinary()
					_ = yym1893
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.IP))
					}
				}
			}
			if yyr1890 || yy2arr1890 {
				if yyq1890[1] {
					yym1895 := z.EncBinary()
					_ = yym1895
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1890[1] {
					r.EncodeString(codecSelferC_UTF81234, string("hostname"))
					yym1896 := z.EncBinary()
					_ = yym1896
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Hostname))
					}
				}
			}
			if yysep1890 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LoadBalancerIngress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1897 := z.DecBinary()
	_ = yym1897
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1898 := r.ReadMapStart()
			if yyl1898 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1898, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1898 := r.ReadArrayStart()
			if yyl1898 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1898, 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 yys1899Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1899Slc
	var yyhl1899 bool = l >= 0
	for yyj1899 := 0; ; yyj1899++ {
		if yyhl1899 {
			if yyj1899 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1899Slc = r.DecodeBytes(yys1899Slc, true, true)
		yys1899 := string(yys1899Slc)
		switch yys1899 {
		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, yys1899)
		} // end switch yys1899
	} // end for yyj1899
	if !yyhl1899 {
		r.ReadEnd()
	}
}

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

func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1905 := z.EncBinary()
		_ = yym1905
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1906 := !z.EncBinary()
			yy2arr1906 := z.EncBasicHandle().StructToArray
			var yyq1906 [7]bool
			_, _, _ = yysep1906, yyq1906, yy2arr1906
			const yyr1906 bool = false
			yyq1906[0] = x.Type != ""
			yyq1906[3] = x.ClusterIP != ""
			yyq1906[4] = len(x.ExternalIPs) != 0
			yyq1906[5] = x.LoadBalancerIP != ""
			yyq1906[6] = x.SessionAffinity != ""
			if yyr1906 || yy2arr1906 {
				r.EncodeArrayStart(7)
			} else {
				var yynn1906 int = 2
				for _, b := range yyq1906 {
					if b {
						yynn1906++
					}
				}
				r.EncodeMapStart(yynn1906)
			}
			if yyr1906 || yy2arr1906 {
				if yyq1906[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1906[0] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr1906 || yy2arr1906 {
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym1909 := z.EncBinary()
					_ = yym1909
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("ports"))
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym1910 := z.EncBinary()
					_ = yym1910
					if false {
					} else {
						h.encSliceServicePort(([]ServicePort)(x.Ports), e)
					}
				}
			}
			if yyr1906 || yy2arr1906 {
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym1912 := z.EncBinary()
					_ = yym1912
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("selector"))
				if x.Selector == nil {
					r.EncodeNil()
				} else {
					yym1913 := z.EncBinary()
					_ = yym1913
					if false {
					} else {
						z.F.EncMapStringStringV(x.Selector, false, e)
					}
				}
			}
			if yyr1906 || yy2arr1906 {
				if yyq1906[3] {
					yym1915 := z.EncBinary()
					_ = yym1915
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1906[3] {
					r.EncodeString(codecSelferC_UTF81234, string("clusterIP"))
					yym1916 := z.EncBinary()
					_ = yym1916
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ClusterIP))
					}
				}
			}
			if yyr1906 || yy2arr1906 {
				if yyq1906[4] {
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym1918 := z.EncBinary()
						_ = yym1918
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1906[4] {
					r.EncodeString(codecSelferC_UTF81234, string("externalIPs"))
					if x.ExternalIPs == nil {
						r.EncodeNil()
					} else {
						yym1919 := z.EncBinary()
						_ = yym1919
						if false {
						} else {
							z.F.EncSliceStringV(x.ExternalIPs, false, e)
						}
					}
				}
			}
			if yyr1906 || yy2arr1906 {
				if yyq1906[5] {
					yym1921 := z.EncBinary()
					_ = yym1921
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1906[5] {
					r.EncodeString(codecSelferC_UTF81234, string("loadBalancerIP"))
					yym1922 := z.EncBinary()
					_ = yym1922
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.LoadBalancerIP))
					}
				}
			}
			if yyr1906 || yy2arr1906 {
				if yyq1906[6] {
					x.SessionAffinity.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1906[6] {
					r.EncodeString(codecSelferC_UTF81234, string("sessionAffinity"))
					x.SessionAffinity.CodecEncodeSelf(e)
				}
			}
			if yysep1906 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceSpec) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1925 := r.ReadMapStart()
			if yyl1925 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1925, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1925 := r.ReadArrayStart()
			if yyl1925 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1925, 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 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
			}
		}
		yys1926Slc = r.DecodeBytes(yys1926Slc, true, true)
		yys1926 := string(yys1926Slc)
		switch yys1926 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = ServiceType(r.DecodeString())
			}
		case "ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv1928 := &x.Ports
				yym1929 := z.DecBinary()
				_ = yym1929
				if false {
				} else {
					h.decSliceServicePort((*[]ServicePort)(yyv1928), d)
				}
			}
		case "selector":
			if r.TryDecodeAsNil() {
				x.Selector = nil
			} else {
				yyv1930 := &x.Selector
				yym1931 := z.DecBinary()
				_ = yym1931
				if false {
				} else {
					z.F.DecMapStringStringX(yyv1930, false, d)
				}
			}
		case "clusterIP":
			if r.TryDecodeAsNil() {
				x.ClusterIP = ""
			} else {
				x.ClusterIP = string(r.DecodeString())
			}
		case "externalIPs":
			if r.TryDecodeAsNil() {
				x.ExternalIPs = nil
			} else {
				yyv1933 := &x.ExternalIPs
				yym1934 := z.DecBinary()
				_ = yym1934
				if false {
				} else {
					z.F.DecSliceStringX(yyv1933, 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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys1926)
		} // end switch yys1926
	} // end for yyj1926
	if !yyhl1926 {
		r.ReadEnd()
	}
}

func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1937 int
	var yyb1937 bool
	var yyhl1937 bool = l >= 0
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = ServiceType(r.DecodeString())
	}
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv1939 := &x.Ports
		yym1940 := z.DecBinary()
		_ = yym1940
		if false {
		} else {
			h.decSliceServicePort((*[]ServicePort)(yyv1939), d)
		}
	}
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Selector = nil
	} else {
		yyv1941 := &x.Selector
		yym1942 := z.DecBinary()
		_ = yym1942
		if false {
		} else {
			z.F.DecMapStringStringX(yyv1941, false, d)
		}
	}
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ClusterIP = ""
	} else {
		x.ClusterIP = string(r.DecodeString())
	}
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ExternalIPs = nil
	} else {
		yyv1944 := &x.ExternalIPs
		yym1945 := z.DecBinary()
		_ = yym1945
		if false {
		} else {
			z.F.DecSliceStringX(yyv1944, false, d)
		}
	}
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LoadBalancerIP = ""
	} else {
		x.LoadBalancerIP = string(r.DecodeString())
	}
	yyj1937++
	if yyhl1937 {
		yyb1937 = yyj1937 > l
	} else {
		yyb1937 = r.CheckBreak()
	}
	if yyb1937 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SessionAffinity = ""
	} else {
		x.SessionAffinity = ServiceAffinity(r.DecodeString())
	}
	for {
		yyj1937++
		if yyhl1937 {
			yyb1937 = yyj1937 > l
		} else {
			yyb1937 = r.CheckBreak()
		}
		if yyb1937 {
			break
		}
		z.DecStructFieldNotFound(yyj1937-1, "")
	}
	r.ReadEnd()
}

func (x *ServicePort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1948 := z.EncBinary()
		_ = yym1948
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1949 := !z.EncBinary()
			yy2arr1949 := z.EncBasicHandle().StructToArray
			var yyq1949 [5]bool
			_, _, _ = yysep1949, yyq1949, yy2arr1949
			const yyr1949 bool = false
			if yyr1949 || yy2arr1949 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1949 int = 5
				for _, b := range yyq1949 {
					if b {
						yynn1949++
					}
				}
				r.EncodeMapStart(yynn1949)
			}
			if yyr1949 || yy2arr1949 {
				yym1951 := z.EncBinary()
				_ = yym1951
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("name"))
				yym1952 := z.EncBinary()
				_ = yym1952
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr1949 || yy2arr1949 {
				x.Protocol.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("protocol"))
				x.Protocol.CodecEncodeSelf(e)
			}
			if yyr1949 || yy2arr1949 {
				yym1955 := z.EncBinary()
				_ = yym1955
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("port"))
				yym1956 := z.EncBinary()
				_ = yym1956
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr1949 || yy2arr1949 {
				yy1958 := &x.TargetPort
				yym1959 := z.EncBinary()
				_ = yym1959
				if false {
				} else if z.HasExtensions() && z.EncExt(yy1958) {
				} else if !yym1959 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy1958)
				} else {
					z.EncFallback(yy1958)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("targetPort"))
				yy1960 := &x.TargetPort
				yym1961 := z.EncBinary()
				_ = yym1961
				if false {
				} else if z.HasExtensions() && z.EncExt(yy1960) {
				} else if !yym1961 && z.IsJSONHandle() {
					z.EncJSONMarshal(yy1960)
				} else {
					z.EncFallback(yy1960)
				}
			}
			if yyr1949 || yy2arr1949 {
				yym1963 := z.EncBinary()
				_ = yym1963
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("nodePort"))
				yym1964 := z.EncBinary()
				_ = yym1964
				if false {
				} else {
					r.EncodeInt(int64(x.NodePort))
				}
			}
			if yysep1949 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServicePort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1965 := z.DecBinary()
	_ = yym1965
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1966 := r.ReadMapStart()
			if yyl1966 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1966, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1966 := r.ReadArrayStart()
			if yyl1966 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1966, 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 yys1967Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys1967Slc
	var yyhl1967 bool = l >= 0
	for yyj1967 := 0; ; yyj1967++ {
		if yyhl1967 {
			if yyj1967 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys1967Slc = r.DecodeBytes(yys1967Slc, true, true)
		yys1967 := string(yys1967Slc)
		switch yys1967 {
		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 = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "targetPort":
			if r.TryDecodeAsNil() {
				x.TargetPort = pkg5_util.IntOrString{}
			} else {
				yyv1971 := &x.TargetPort
				yym1972 := z.DecBinary()
				_ = yym1972
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv1971) {
				} else if !yym1972 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv1971)
				} else {
					z.DecFallback(yyv1971, false)
				}
			}
		case "nodePort":
			if r.TryDecodeAsNil() {
				x.NodePort = 0
			} else {
				x.NodePort = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys1967)
		} // end switch yys1967
	} // end for yyj1967
	if !yyhl1967 {
		r.ReadEnd()
	}
}

func (x *ServicePort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj1974 int
	var yyb1974 bool
	var yyhl1974 bool = l >= 0
	yyj1974++
	if yyhl1974 {
		yyb1974 = yyj1974 > l
	} else {
		yyb1974 = r.CheckBreak()
	}
	if yyb1974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj1974++
	if yyhl1974 {
		yyb1974 = yyj1974 > l
	} else {
		yyb1974 = r.CheckBreak()
	}
	if yyb1974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	yyj1974++
	if yyhl1974 {
		yyb1974 = yyj1974 > l
	} else {
		yyb1974 = r.CheckBreak()
	}
	if yyb1974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj1974++
	if yyhl1974 {
		yyb1974 = yyj1974 > l
	} else {
		yyb1974 = r.CheckBreak()
	}
	if yyb1974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.TargetPort = pkg5_util.IntOrString{}
	} else {
		yyv1978 := &x.TargetPort
		yym1979 := z.DecBinary()
		_ = yym1979
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv1978) {
		} else if !yym1979 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv1978)
		} else {
			z.DecFallback(yyv1978, false)
		}
	}
	yyj1974++
	if yyhl1974 {
		yyb1974 = yyj1974 > l
	} else {
		yyb1974 = r.CheckBreak()
	}
	if yyb1974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodePort = 0
	} else {
		x.NodePort = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj1974++
		if yyhl1974 {
			yyb1974 = yyj1974 > l
		} else {
			yyb1974 = r.CheckBreak()
		}
		if yyb1974 {
			break
		}
		z.DecStructFieldNotFound(yyj1974-1, "")
	}
	r.ReadEnd()
}

func (x *Service) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym1981 := z.EncBinary()
		_ = yym1981
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep1982 := !z.EncBinary()
			yy2arr1982 := z.EncBasicHandle().StructToArray
			var yyq1982 [5]bool
			_, _, _ = yysep1982, yyq1982, yy2arr1982
			const yyr1982 bool = false
			yyq1982[0] = x.Kind != ""
			yyq1982[1] = x.APIVersion != ""
			yyq1982[2] = true
			yyq1982[3] = true
			yyq1982[4] = true
			if yyr1982 || yy2arr1982 {
				r.EncodeArrayStart(5)
			} else {
				var yynn1982 int = 0
				for _, b := range yyq1982 {
					if b {
						yynn1982++
					}
				}
				r.EncodeMapStart(yynn1982)
			}
			if yyr1982 || yy2arr1982 {
				if yyq1982[0] {
					yym1984 := z.EncBinary()
					_ = yym1984
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1982[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym1985 := z.EncBinary()
					_ = yym1985
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr1982 || yy2arr1982 {
				if yyq1982[1] {
					yym1987 := z.EncBinary()
					_ = yym1987
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq1982[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym1988 := z.EncBinary()
					_ = yym1988
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr1982 || yy2arr1982 {
				if yyq1982[2] {
					yy1990 := &x.ObjectMeta
					yy1990.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1982[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy1991 := &x.ObjectMeta
					yy1991.CodecEncodeSelf(e)
				}
			}
			if yyr1982 || yy2arr1982 {
				if yyq1982[3] {
					yy1993 := &x.Spec
					yy1993.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1982[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy1994 := &x.Spec
					yy1994.CodecEncodeSelf(e)
				}
			}
			if yyr1982 || yy2arr1982 {
				if yyq1982[4] {
					yy1996 := &x.Status
					yy1996.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq1982[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy1997 := &x.Status
					yy1997.CodecEncodeSelf(e)
				}
			}
			if yysep1982 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Service) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym1998 := z.DecBinary()
	_ = yym1998
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl1999 := r.ReadMapStart()
			if yyl1999 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl1999, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl1999 := r.ReadArrayStart()
			if yyl1999 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl1999, 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 yys2000Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2000Slc
	var yyhl2000 bool = l >= 0
	for yyj2000 := 0; ; yyj2000++ {
		if yyhl2000 {
			if yyj2000 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2000Slc = r.DecodeBytes(yys2000Slc, true, true)
		yys2000 := string(yys2000Slc)
		switch yys2000 {
		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 {
				yyv2003 := &x.ObjectMeta
				yyv2003.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ServiceSpec{}
			} else {
				yyv2004 := &x.Spec
				yyv2004.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ServiceStatus{}
			} else {
				yyv2005 := &x.Status
				yyv2005.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2000)
		} // end switch yys2000
	} // end for yyj2000
	if !yyhl2000 {
		r.ReadEnd()
	}
}

func (x *Service) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2006 int
	var yyb2006 bool
	var yyhl2006 bool = l >= 0
	yyj2006++
	if yyhl2006 {
		yyb2006 = yyj2006 > l
	} else {
		yyb2006 = r.CheckBreak()
	}
	if yyb2006 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2006++
	if yyhl2006 {
		yyb2006 = yyj2006 > l
	} else {
		yyb2006 = r.CheckBreak()
	}
	if yyb2006 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2006++
	if yyhl2006 {
		yyb2006 = yyj2006 > l
	} else {
		yyb2006 = r.CheckBreak()
	}
	if yyb2006 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2009 := &x.ObjectMeta
		yyv2009.CodecDecodeSelf(d)
	}
	yyj2006++
	if yyhl2006 {
		yyb2006 = yyj2006 > l
	} else {
		yyb2006 = r.CheckBreak()
	}
	if yyb2006 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = ServiceSpec{}
	} else {
		yyv2010 := &x.Spec
		yyv2010.CodecDecodeSelf(d)
	}
	yyj2006++
	if yyhl2006 {
		yyb2006 = yyj2006 > l
	} else {
		yyb2006 = r.CheckBreak()
	}
	if yyb2006 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ServiceStatus{}
	} else {
		yyv2011 := &x.Status
		yyv2011.CodecDecodeSelf(d)
	}
	for {
		yyj2006++
		if yyhl2006 {
			yyb2006 = yyj2006 > l
		} else {
			yyb2006 = r.CheckBreak()
		}
		if yyb2006 {
			break
		}
		z.DecStructFieldNotFound(yyj2006-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceAccount) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2012 := z.EncBinary()
		_ = yym2012
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2013 := !z.EncBinary()
			yy2arr2013 := z.EncBasicHandle().StructToArray
			var yyq2013 [5]bool
			_, _, _ = yysep2013, yyq2013, yy2arr2013
			const yyr2013 bool = false
			yyq2013[0] = x.Kind != ""
			yyq2013[1] = x.APIVersion != ""
			yyq2013[2] = true
			yyq2013[4] = len(x.ImagePullSecrets) != 0
			if yyr2013 || yy2arr2013 {
				r.EncodeArrayStart(5)
			} else {
				var yynn2013 int = 1
				for _, b := range yyq2013 {
					if b {
						yynn2013++
					}
				}
				r.EncodeMapStart(yynn2013)
			}
			if yyr2013 || yy2arr2013 {
				if yyq2013[0] {
					yym2015 := z.EncBinary()
					_ = yym2015
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2013[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2016 := z.EncBinary()
					_ = yym2016
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2013 || yy2arr2013 {
				if yyq2013[1] {
					yym2018 := z.EncBinary()
					_ = yym2018
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2013[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2019 := z.EncBinary()
					_ = yym2019
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2013 || yy2arr2013 {
				if yyq2013[2] {
					yy2021 := &x.ObjectMeta
					yy2021.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2013[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2022 := &x.ObjectMeta
					yy2022.CodecEncodeSelf(e)
				}
			}
			if yyr2013 || yy2arr2013 {
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2024 := z.EncBinary()
					_ = yym2024
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("secrets"))
				if x.Secrets == nil {
					r.EncodeNil()
				} else {
					yym2025 := z.EncBinary()
					_ = yym2025
					if false {
					} else {
						h.encSliceObjectReference(([]ObjectReference)(x.Secrets), e)
					}
				}
			}
			if yyr2013 || yy2arr2013 {
				if yyq2013[4] {
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2027 := z.EncBinary()
						_ = yym2027
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2013[4] {
					r.EncodeString(codecSelferC_UTF81234, string("imagePullSecrets"))
					if x.ImagePullSecrets == nil {
						r.EncodeNil()
					} else {
						yym2028 := z.EncBinary()
						_ = yym2028
						if false {
						} else {
							h.encSliceLocalObjectReference(([]LocalObjectReference)(x.ImagePullSecrets), e)
						}
					}
				}
			}
			if yysep2013 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceAccount) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2029 := z.DecBinary()
	_ = yym2029
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2030 := r.ReadMapStart()
			if yyl2030 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2030, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2030 := r.ReadArrayStart()
			if yyl2030 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2030, 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 yys2031Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2031Slc
	var yyhl2031 bool = l >= 0
	for yyj2031 := 0; ; yyj2031++ {
		if yyhl2031 {
			if yyj2031 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2031Slc = r.DecodeBytes(yys2031Slc, true, true)
		yys2031 := string(yys2031Slc)
		switch yys2031 {
		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 {
				yyv2034 := &x.ObjectMeta
				yyv2034.CodecDecodeSelf(d)
			}
		case "secrets":
			if r.TryDecodeAsNil() {
				x.Secrets = nil
			} else {
				yyv2035 := &x.Secrets
				yym2036 := z.DecBinary()
				_ = yym2036
				if false {
				} else {
					h.decSliceObjectReference((*[]ObjectReference)(yyv2035), d)
				}
			}
		case "imagePullSecrets":
			if r.TryDecodeAsNil() {
				x.ImagePullSecrets = nil
			} else {
				yyv2037 := &x.ImagePullSecrets
				yym2038 := z.DecBinary()
				_ = yym2038
				if false {
				} else {
					h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2037), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2031)
		} // end switch yys2031
	} // end for yyj2031
	if !yyhl2031 {
		r.ReadEnd()
	}
}

func (x *ServiceAccount) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2039 int
	var yyb2039 bool
	var yyhl2039 bool = l >= 0
	yyj2039++
	if yyhl2039 {
		yyb2039 = yyj2039 > l
	} else {
		yyb2039 = r.CheckBreak()
	}
	if yyb2039 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2039++
	if yyhl2039 {
		yyb2039 = yyj2039 > l
	} else {
		yyb2039 = r.CheckBreak()
	}
	if yyb2039 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2039++
	if yyhl2039 {
		yyb2039 = yyj2039 > l
	} else {
		yyb2039 = r.CheckBreak()
	}
	if yyb2039 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2042 := &x.ObjectMeta
		yyv2042.CodecDecodeSelf(d)
	}
	yyj2039++
	if yyhl2039 {
		yyb2039 = yyj2039 > l
	} else {
		yyb2039 = r.CheckBreak()
	}
	if yyb2039 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Secrets = nil
	} else {
		yyv2043 := &x.Secrets
		yym2044 := z.DecBinary()
		_ = yym2044
		if false {
		} else {
			h.decSliceObjectReference((*[]ObjectReference)(yyv2043), d)
		}
	}
	yyj2039++
	if yyhl2039 {
		yyb2039 = yyj2039 > l
	} else {
		yyb2039 = r.CheckBreak()
	}
	if yyb2039 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ImagePullSecrets = nil
	} else {
		yyv2045 := &x.ImagePullSecrets
		yym2046 := z.DecBinary()
		_ = yym2046
		if false {
		} else {
			h.decSliceLocalObjectReference((*[]LocalObjectReference)(yyv2045), d)
		}
	}
	for {
		yyj2039++
		if yyhl2039 {
			yyb2039 = yyj2039 > l
		} else {
			yyb2039 = r.CheckBreak()
		}
		if yyb2039 {
			break
		}
		z.DecStructFieldNotFound(yyj2039-1, "")
	}
	r.ReadEnd()
}

func (x *ServiceAccountList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2047 := z.EncBinary()
		_ = yym2047
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2048 := !z.EncBinary()
			yy2arr2048 := z.EncBasicHandle().StructToArray
			var yyq2048 [4]bool
			_, _, _ = yysep2048, yyq2048, yy2arr2048
			const yyr2048 bool = false
			yyq2048[0] = x.Kind != ""
			yyq2048[1] = x.APIVersion != ""
			yyq2048[2] = true
			if yyr2048 || yy2arr2048 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2048 int = 1
				for _, b := range yyq2048 {
					if b {
						yynn2048++
					}
				}
				r.EncodeMapStart(yynn2048)
			}
			if yyr2048 || yy2arr2048 {
				if yyq2048[0] {
					yym2050 := z.EncBinary()
					_ = yym2050
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2048[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2051 := z.EncBinary()
					_ = yym2051
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2048 || yy2arr2048 {
				if yyq2048[1] {
					yym2053 := z.EncBinary()
					_ = yym2053
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2048[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2054 := z.EncBinary()
					_ = yym2054
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2048 || yy2arr2048 {
				if yyq2048[2] {
					yy2056 := &x.ListMeta
					yym2057 := z.EncBinary()
					_ = yym2057
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2056) {
					} else {
						z.EncFallback(yy2056)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2048[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2058 := &x.ListMeta
					yym2059 := z.EncBinary()
					_ = yym2059
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2058) {
					} else {
						z.EncFallback(yy2058)
					}
				}
			}
			if yyr2048 || yy2arr2048 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2061 := z.EncBinary()
					_ = yym2061
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2062 := z.EncBinary()
					_ = yym2062
					if false {
					} else {
						h.encSliceServiceAccount(([]ServiceAccount)(x.Items), e)
					}
				}
			}
			if yysep2048 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ServiceAccountList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2063 := z.DecBinary()
	_ = yym2063
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2064 := r.ReadMapStart()
			if yyl2064 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2064, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2064 := r.ReadArrayStart()
			if yyl2064 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2064, 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 yys2065Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2065Slc
	var yyhl2065 bool = l >= 0
	for yyj2065 := 0; ; yyj2065++ {
		if yyhl2065 {
			if yyj2065 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2065Slc = r.DecodeBytes(yys2065Slc, true, true)
		yys2065 := string(yys2065Slc)
		switch yys2065 {
		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 {
				yyv2068 := &x.ListMeta
				yym2069 := z.DecBinary()
				_ = yym2069
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2068) {
				} else {
					z.DecFallback(yyv2068, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2070 := &x.Items
				yym2071 := z.DecBinary()
				_ = yym2071
				if false {
				} else {
					h.decSliceServiceAccount((*[]ServiceAccount)(yyv2070), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2065)
		} // end switch yys2065
	} // end for yyj2065
	if !yyhl2065 {
		r.ReadEnd()
	}
}

func (x *ServiceAccountList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2072 int
	var yyb2072 bool
	var yyhl2072 bool = l >= 0
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2075 := &x.ListMeta
		yym2076 := z.DecBinary()
		_ = yym2076
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2075) {
		} else {
			z.DecFallback(yyv2075, false)
		}
	}
	yyj2072++
	if yyhl2072 {
		yyb2072 = yyj2072 > l
	} else {
		yyb2072 = r.CheckBreak()
	}
	if yyb2072 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2077 := &x.Items
		yym2078 := z.DecBinary()
		_ = yym2078
		if false {
		} else {
			h.decSliceServiceAccount((*[]ServiceAccount)(yyv2077), d)
		}
	}
	for {
		yyj2072++
		if yyhl2072 {
			yyb2072 = yyj2072 > l
		} else {
			yyb2072 = r.CheckBreak()
		}
		if yyb2072 {
			break
		}
		z.DecStructFieldNotFound(yyj2072-1, "")
	}
	r.ReadEnd()
}

func (x *Endpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2079 := z.EncBinary()
		_ = yym2079
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2080 := !z.EncBinary()
			yy2arr2080 := z.EncBasicHandle().StructToArray
			var yyq2080 [4]bool
			_, _, _ = yysep2080, yyq2080, yy2arr2080
			const yyr2080 bool = false
			yyq2080[0] = x.Kind != ""
			yyq2080[1] = x.APIVersion != ""
			yyq2080[2] = true
			if yyr2080 || yy2arr2080 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2080 int = 1
				for _, b := range yyq2080 {
					if b {
						yynn2080++
					}
				}
				r.EncodeMapStart(yynn2080)
			}
			if yyr2080 || yy2arr2080 {
				if yyq2080[0] {
					yym2082 := z.EncBinary()
					_ = yym2082
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2080[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2083 := z.EncBinary()
					_ = yym2083
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2080 || yy2arr2080 {
				if yyq2080[1] {
					yym2085 := z.EncBinary()
					_ = yym2085
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2080[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2086 := z.EncBinary()
					_ = yym2086
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2080 || yy2arr2080 {
				if yyq2080[2] {
					yy2088 := &x.ObjectMeta
					yy2088.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2080[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2089 := &x.ObjectMeta
					yy2089.CodecEncodeSelf(e)
				}
			}
			if yyr2080 || yy2arr2080 {
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2091 := z.EncBinary()
					_ = yym2091
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Subsets"))
				if x.Subsets == nil {
					r.EncodeNil()
				} else {
					yym2092 := z.EncBinary()
					_ = yym2092
					if false {
					} else {
						h.encSliceEndpointSubset(([]EndpointSubset)(x.Subsets), e)
					}
				}
			}
			if yysep2080 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Endpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2093 := z.DecBinary()
	_ = yym2093
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2094 := r.ReadMapStart()
			if yyl2094 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2094, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2094 := r.ReadArrayStart()
			if yyl2094 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2094, 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 yys2095Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2095Slc
	var yyhl2095 bool = l >= 0
	for yyj2095 := 0; ; yyj2095++ {
		if yyhl2095 {
			if yyj2095 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2095Slc = r.DecodeBytes(yys2095Slc, true, true)
		yys2095 := string(yys2095Slc)
		switch yys2095 {
		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 {
				yyv2098 := &x.ObjectMeta
				yyv2098.CodecDecodeSelf(d)
			}
		case "Subsets":
			if r.TryDecodeAsNil() {
				x.Subsets = nil
			} else {
				yyv2099 := &x.Subsets
				yym2100 := z.DecBinary()
				_ = yym2100
				if false {
				} else {
					h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2099), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2095)
		} // end switch yys2095
	} // end for yyj2095
	if !yyhl2095 {
		r.ReadEnd()
	}
}

func (x *Endpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2101 int
	var yyb2101 bool
	var yyhl2101 bool = l >= 0
	yyj2101++
	if yyhl2101 {
		yyb2101 = yyj2101 > l
	} else {
		yyb2101 = r.CheckBreak()
	}
	if yyb2101 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2101++
	if yyhl2101 {
		yyb2101 = yyj2101 > l
	} else {
		yyb2101 = r.CheckBreak()
	}
	if yyb2101 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2101++
	if yyhl2101 {
		yyb2101 = yyj2101 > l
	} else {
		yyb2101 = r.CheckBreak()
	}
	if yyb2101 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2104 := &x.ObjectMeta
		yyv2104.CodecDecodeSelf(d)
	}
	yyj2101++
	if yyhl2101 {
		yyb2101 = yyj2101 > l
	} else {
		yyb2101 = r.CheckBreak()
	}
	if yyb2101 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Subsets = nil
	} else {
		yyv2105 := &x.Subsets
		yym2106 := z.DecBinary()
		_ = yym2106
		if false {
		} else {
			h.decSliceEndpointSubset((*[]EndpointSubset)(yyv2105), d)
		}
	}
	for {
		yyj2101++
		if yyhl2101 {
			yyb2101 = yyj2101 > l
		} else {
			yyb2101 = r.CheckBreak()
		}
		if yyb2101 {
			break
		}
		z.DecStructFieldNotFound(yyj2101-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointSubset) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2107 := z.EncBinary()
		_ = yym2107
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2108 := !z.EncBinary()
			yy2arr2108 := z.EncBasicHandle().StructToArray
			var yyq2108 [3]bool
			_, _, _ = yysep2108, yyq2108, yy2arr2108
			const yyr2108 bool = false
			if yyr2108 || yy2arr2108 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2108 int = 3
				for _, b := range yyq2108 {
					if b {
						yynn2108++
					}
				}
				r.EncodeMapStart(yynn2108)
			}
			if yyr2108 || yy2arr2108 {
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2110 := z.EncBinary()
					_ = yym2110
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Addresses"))
				if x.Addresses == nil {
					r.EncodeNil()
				} else {
					yym2111 := z.EncBinary()
					_ = yym2111
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.Addresses), e)
					}
				}
			}
			if yyr2108 || yy2arr2108 {
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2113 := z.EncBinary()
					_ = yym2113
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("NotReadyAddresses"))
				if x.NotReadyAddresses == nil {
					r.EncodeNil()
				} else {
					yym2114 := z.EncBinary()
					_ = yym2114
					if false {
					} else {
						h.encSliceEndpointAddress(([]EndpointAddress)(x.NotReadyAddresses), e)
					}
				}
			}
			if yyr2108 || yy2arr2108 {
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2116 := z.EncBinary()
					_ = yym2116
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Ports"))
				if x.Ports == nil {
					r.EncodeNil()
				} else {
					yym2117 := z.EncBinary()
					_ = yym2117
					if false {
					} else {
						h.encSliceEndpointPort(([]EndpointPort)(x.Ports), e)
					}
				}
			}
			if yysep2108 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointSubset) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2118 := z.DecBinary()
	_ = yym2118
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2119 := r.ReadMapStart()
			if yyl2119 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2119, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2119 := r.ReadArrayStart()
			if yyl2119 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2119, 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 yys2120Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2120Slc
	var yyhl2120 bool = l >= 0
	for yyj2120 := 0; ; yyj2120++ {
		if yyhl2120 {
			if yyj2120 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2120Slc = r.DecodeBytes(yys2120Slc, true, true)
		yys2120 := string(yys2120Slc)
		switch yys2120 {
		case "Addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2121 := &x.Addresses
				yym2122 := z.DecBinary()
				_ = yym2122
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2121), d)
				}
			}
		case "NotReadyAddresses":
			if r.TryDecodeAsNil() {
				x.NotReadyAddresses = nil
			} else {
				yyv2123 := &x.NotReadyAddresses
				yym2124 := z.DecBinary()
				_ = yym2124
				if false {
				} else {
					h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2123), d)
				}
			}
		case "Ports":
			if r.TryDecodeAsNil() {
				x.Ports = nil
			} else {
				yyv2125 := &x.Ports
				yym2126 := z.DecBinary()
				_ = yym2126
				if false {
				} else {
					h.decSliceEndpointPort((*[]EndpointPort)(yyv2125), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2120)
		} // end switch yys2120
	} // end for yyj2120
	if !yyhl2120 {
		r.ReadEnd()
	}
}

func (x *EndpointSubset) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2127 int
	var yyb2127 bool
	var yyhl2127 bool = l >= 0
	yyj2127++
	if yyhl2127 {
		yyb2127 = yyj2127 > l
	} else {
		yyb2127 = r.CheckBreak()
	}
	if yyb2127 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2128 := &x.Addresses
		yym2129 := z.DecBinary()
		_ = yym2129
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2128), d)
		}
	}
	yyj2127++
	if yyhl2127 {
		yyb2127 = yyj2127 > l
	} else {
		yyb2127 = r.CheckBreak()
	}
	if yyb2127 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NotReadyAddresses = nil
	} else {
		yyv2130 := &x.NotReadyAddresses
		yym2131 := z.DecBinary()
		_ = yym2131
		if false {
		} else {
			h.decSliceEndpointAddress((*[]EndpointAddress)(yyv2130), d)
		}
	}
	yyj2127++
	if yyhl2127 {
		yyb2127 = yyj2127 > l
	} else {
		yyb2127 = r.CheckBreak()
	}
	if yyb2127 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Ports = nil
	} else {
		yyv2132 := &x.Ports
		yym2133 := z.DecBinary()
		_ = yym2133
		if false {
		} else {
			h.decSliceEndpointPort((*[]EndpointPort)(yyv2132), d)
		}
	}
	for {
		yyj2127++
		if yyhl2127 {
			yyb2127 = yyj2127 > l
		} else {
			yyb2127 = r.CheckBreak()
		}
		if yyb2127 {
			break
		}
		z.DecStructFieldNotFound(yyj2127-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointAddress) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2134 := z.EncBinary()
		_ = yym2134
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2135 := !z.EncBinary()
			yy2arr2135 := z.EncBasicHandle().StructToArray
			var yyq2135 [2]bool
			_, _, _ = yysep2135, yyq2135, yy2arr2135
			const yyr2135 bool = false
			if yyr2135 || yy2arr2135 {
				r.EncodeArrayStart(2)
			} else {
				var yynn2135 int = 2
				for _, b := range yyq2135 {
					if b {
						yynn2135++
					}
				}
				r.EncodeMapStart(yynn2135)
			}
			if yyr2135 || yy2arr2135 {
				yym2137 := z.EncBinary()
				_ = yym2137
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("IP"))
				yym2138 := z.EncBinary()
				_ = yym2138
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.IP))
				}
			}
			if yyr2135 || yy2arr2135 {
				if x.TargetRef == nil {
					r.EncodeNil()
				} else {
					x.TargetRef.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("TargetRef"))
				if x.TargetRef == nil {
					r.EncodeNil()
				} else {
					x.TargetRef.CodecEncodeSelf(e)
				}
			}
			if yysep2135 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2140 := z.DecBinary()
	_ = yym2140
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2141 := r.ReadMapStart()
			if yyl2141 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2141, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2141 := r.ReadArrayStart()
			if yyl2141 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2141, 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 yys2142Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2142Slc
	var yyhl2142 bool = l >= 0
	for yyj2142 := 0; ; yyj2142++ {
		if yyhl2142 {
			if yyj2142 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2142Slc = r.DecodeBytes(yys2142Slc, true, true)
		yys2142 := string(yys2142Slc)
		switch yys2142 {
		case "IP":
			if r.TryDecodeAsNil() {
				x.IP = ""
			} else {
				x.IP = string(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, yys2142)
		} // end switch yys2142
	} // end for yyj2142
	if !yyhl2142 {
		r.ReadEnd()
	}
}

func (x *EndpointAddress) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2145 int
	var yyb2145 bool
	var yyhl2145 bool = l >= 0
	yyj2145++
	if yyhl2145 {
		yyb2145 = yyj2145 > l
	} else {
		yyb2145 = r.CheckBreak()
	}
	if yyb2145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.IP = ""
	} else {
		x.IP = string(r.DecodeString())
	}
	yyj2145++
	if yyhl2145 {
		yyb2145 = yyj2145 > l
	} else {
		yyb2145 = r.CheckBreak()
	}
	if yyb2145 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TargetRef != nil {
			x.TargetRef = nil
		}
	} else {
		if x.TargetRef == nil {
			x.TargetRef = new(ObjectReference)
		}
		x.TargetRef.CodecDecodeSelf(d)
	}
	for {
		yyj2145++
		if yyhl2145 {
			yyb2145 = yyj2145 > l
		} else {
			yyb2145 = r.CheckBreak()
		}
		if yyb2145 {
			break
		}
		z.DecStructFieldNotFound(yyj2145-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointPort) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2148 := z.EncBinary()
		_ = yym2148
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2149 := !z.EncBinary()
			yy2arr2149 := z.EncBasicHandle().StructToArray
			var yyq2149 [3]bool
			_, _, _ = yysep2149, yyq2149, yy2arr2149
			const yyr2149 bool = false
			if yyr2149 || yy2arr2149 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2149 int = 3
				for _, b := range yyq2149 {
					if b {
						yynn2149++
					}
				}
				r.EncodeMapStart(yynn2149)
			}
			if yyr2149 || yy2arr2149 {
				yym2151 := z.EncBinary()
				_ = yym2151
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				yym2152 := z.EncBinary()
				_ = yym2152
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yyr2149 || yy2arr2149 {
				yym2154 := z.EncBinary()
				_ = yym2154
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				yym2155 := z.EncBinary()
				_ = yym2155
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yyr2149 || yy2arr2149 {
				x.Protocol.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Protocol"))
				x.Protocol.CodecEncodeSelf(e)
			}
			if yysep2149 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointPort) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2157 := z.DecBinary()
	_ = yym2157
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2158 := r.ReadMapStart()
			if yyl2158 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2158, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2158 := r.ReadArrayStart()
			if yyl2158 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2158, 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 yys2159Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2159Slc
	var yyhl2159 bool = l >= 0
	for yyj2159 := 0; ; yyj2159++ {
		if yyhl2159 {
			if yyj2159 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2159Slc = r.DecodeBytes(yys2159Slc, true, true)
		yys2159 := string(yys2159Slc)
		switch yys2159 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		case "Protocol":
			if r.TryDecodeAsNil() {
				x.Protocol = ""
			} else {
				x.Protocol = Protocol(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2159)
		} // end switch yys2159
	} // end for yyj2159
	if !yyhl2159 {
		r.ReadEnd()
	}
}

func (x *EndpointPort) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2163 int
	var yyb2163 bool
	var yyhl2163 bool = l >= 0
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Name = ""
	} else {
		x.Name = string(r.DecodeString())
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	yyj2163++
	if yyhl2163 {
		yyb2163 = yyj2163 > l
	} else {
		yyb2163 = r.CheckBreak()
	}
	if yyb2163 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Protocol = ""
	} else {
		x.Protocol = Protocol(r.DecodeString())
	}
	for {
		yyj2163++
		if yyhl2163 {
			yyb2163 = yyj2163 > l
		} else {
			yyb2163 = r.CheckBreak()
		}
		if yyb2163 {
			break
		}
		z.DecStructFieldNotFound(yyj2163-1, "")
	}
	r.ReadEnd()
}

func (x *EndpointsList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2167 := z.EncBinary()
		_ = yym2167
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2168 := !z.EncBinary()
			yy2arr2168 := z.EncBasicHandle().StructToArray
			var yyq2168 [4]bool
			_, _, _ = yysep2168, yyq2168, yy2arr2168
			const yyr2168 bool = false
			yyq2168[0] = x.Kind != ""
			yyq2168[1] = x.APIVersion != ""
			yyq2168[2] = true
			if yyr2168 || yy2arr2168 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2168 int = 1
				for _, b := range yyq2168 {
					if b {
						yynn2168++
					}
				}
				r.EncodeMapStart(yynn2168)
			}
			if yyr2168 || yy2arr2168 {
				if yyq2168[0] {
					yym2170 := z.EncBinary()
					_ = yym2170
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2168[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2171 := z.EncBinary()
					_ = yym2171
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2168 || yy2arr2168 {
				if yyq2168[1] {
					yym2173 := z.EncBinary()
					_ = yym2173
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2168[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2174 := z.EncBinary()
					_ = yym2174
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2168 || yy2arr2168 {
				if yyq2168[2] {
					yy2176 := &x.ListMeta
					yym2177 := z.EncBinary()
					_ = yym2177
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2176) {
					} else {
						z.EncFallback(yy2176)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2168[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2178 := &x.ListMeta
					yym2179 := z.EncBinary()
					_ = yym2179
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2178) {
					} else {
						z.EncFallback(yy2178)
					}
				}
			}
			if yyr2168 || yy2arr2168 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2181 := z.EncBinary()
					_ = yym2181
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2182 := z.EncBinary()
					_ = yym2182
					if false {
					} else {
						h.encSliceEndpoints(([]Endpoints)(x.Items), e)
					}
				}
			}
			if yysep2168 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EndpointsList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2183 := z.DecBinary()
	_ = yym2183
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2184 := r.ReadMapStart()
			if yyl2184 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2184, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2184 := r.ReadArrayStart()
			if yyl2184 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2184, 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 yys2185Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2185Slc
	var yyhl2185 bool = l >= 0
	for yyj2185 := 0; ; yyj2185++ {
		if yyhl2185 {
			if yyj2185 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2185Slc = r.DecodeBytes(yys2185Slc, true, true)
		yys2185 := string(yys2185Slc)
		switch yys2185 {
		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 {
				yyv2188 := &x.ListMeta
				yym2189 := z.DecBinary()
				_ = yym2189
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2188) {
				} else {
					z.DecFallback(yyv2188, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2190 := &x.Items
				yym2191 := z.DecBinary()
				_ = yym2191
				if false {
				} else {
					h.decSliceEndpoints((*[]Endpoints)(yyv2190), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2185)
		} // end switch yys2185
	} // end for yyj2185
	if !yyhl2185 {
		r.ReadEnd()
	}
}

func (x *EndpointsList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2192 int
	var yyb2192 bool
	var yyhl2192 bool = l >= 0
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2195 := &x.ListMeta
		yym2196 := z.DecBinary()
		_ = yym2196
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2195) {
		} else {
			z.DecFallback(yyv2195, false)
		}
	}
	yyj2192++
	if yyhl2192 {
		yyb2192 = yyj2192 > l
	} else {
		yyb2192 = r.CheckBreak()
	}
	if yyb2192 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2197 := &x.Items
		yym2198 := z.DecBinary()
		_ = yym2198
		if false {
		} else {
			h.decSliceEndpoints((*[]Endpoints)(yyv2197), d)
		}
	}
	for {
		yyj2192++
		if yyhl2192 {
			yyb2192 = yyj2192 > l
		} else {
			yyb2192 = r.CheckBreak()
		}
		if yyb2192 {
			break
		}
		z.DecStructFieldNotFound(yyj2192-1, "")
	}
	r.ReadEnd()
}

func (x *NodeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2199 := z.EncBinary()
		_ = yym2199
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2200 := !z.EncBinary()
			yy2arr2200 := z.EncBasicHandle().StructToArray
			var yyq2200 [4]bool
			_, _, _ = yysep2200, yyq2200, yy2arr2200
			const yyr2200 bool = false
			yyq2200[0] = x.PodCIDR != ""
			yyq2200[1] = x.ExternalID != ""
			yyq2200[2] = x.ProviderID != ""
			yyq2200[3] = x.Unschedulable != false
			if yyr2200 || yy2arr2200 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2200 int = 0
				for _, b := range yyq2200 {
					if b {
						yynn2200++
					}
				}
				r.EncodeMapStart(yynn2200)
			}
			if yyr2200 || yy2arr2200 {
				if yyq2200[0] {
					yym2202 := z.EncBinary()
					_ = yym2202
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2200[0] {
					r.EncodeString(codecSelferC_UTF81234, string("podCIDR"))
					yym2203 := z.EncBinary()
					_ = yym2203
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.PodCIDR))
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				if yyq2200[1] {
					yym2205 := z.EncBinary()
					_ = yym2205
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2200[1] {
					r.EncodeString(codecSelferC_UTF81234, string("externalID"))
					yym2206 := z.EncBinary()
					_ = yym2206
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ExternalID))
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				if yyq2200[2] {
					yym2208 := z.EncBinary()
					_ = yym2208
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2200[2] {
					r.EncodeString(codecSelferC_UTF81234, string("providerID"))
					yym2209 := z.EncBinary()
					_ = yym2209
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ProviderID))
					}
				}
			}
			if yyr2200 || yy2arr2200 {
				if yyq2200[3] {
					yym2211 := z.EncBinary()
					_ = yym2211
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2200[3] {
					r.EncodeString(codecSelferC_UTF81234, string("unschedulable"))
					yym2212 := z.EncBinary()
					_ = yym2212
					if false {
					} else {
						r.EncodeBool(bool(x.Unschedulable))
					}
				}
			}
			if yysep2200 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2213 := z.DecBinary()
	_ = yym2213
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2214 := r.ReadMapStart()
			if yyl2214 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2214, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2214 := r.ReadArrayStart()
			if yyl2214 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2214, 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 yys2215Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2215Slc
	var yyhl2215 bool = l >= 0
	for yyj2215 := 0; ; yyj2215++ {
		if yyhl2215 {
			if yyj2215 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2215Slc = r.DecodeBytes(yys2215Slc, true, true)
		yys2215 := string(yys2215Slc)
		switch yys2215 {
		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, yys2215)
		} // end switch yys2215
	} // end for yyj2215
	if !yyhl2215 {
		r.ReadEnd()
	}
}

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

func (x *DaemonEndpoint) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2225 := z.EncBinary()
		_ = yym2225
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2226 := !z.EncBinary()
			yy2arr2226 := z.EncBasicHandle().StructToArray
			var yyq2226 [1]bool
			_, _, _ = yysep2226, yyq2226, yy2arr2226
			const yyr2226 bool = false
			if yyr2226 || yy2arr2226 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2226 int = 1
				for _, b := range yyq2226 {
					if b {
						yynn2226++
					}
				}
				r.EncodeMapStart(yynn2226)
			}
			if yyr2226 || yy2arr2226 {
				yym2228 := z.EncBinary()
				_ = yym2228
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Port"))
				yym2229 := z.EncBinary()
				_ = yym2229
				if false {
				} else {
					r.EncodeInt(int64(x.Port))
				}
			}
			if yysep2226 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DaemonEndpoint) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2230 := z.DecBinary()
	_ = yym2230
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2231 := r.ReadMapStart()
			if yyl2231 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2231, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2231 := r.ReadArrayStart()
			if yyl2231 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2231, 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 yys2232Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2232Slc
	var yyhl2232 bool = l >= 0
	for yyj2232 := 0; ; yyj2232++ {
		if yyhl2232 {
			if yyj2232 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2232Slc = r.DecodeBytes(yys2232Slc, true, true)
		yys2232 := string(yys2232Slc)
		switch yys2232 {
		case "Port":
			if r.TryDecodeAsNil() {
				x.Port = 0
			} else {
				x.Port = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2232)
		} // end switch yys2232
	} // end for yyj2232
	if !yyhl2232 {
		r.ReadEnd()
	}
}

func (x *DaemonEndpoint) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2234 int
	var yyb2234 bool
	var yyhl2234 bool = l >= 0
	yyj2234++
	if yyhl2234 {
		yyb2234 = yyj2234 > l
	} else {
		yyb2234 = r.CheckBreak()
	}
	if yyb2234 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Port = 0
	} else {
		x.Port = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj2234++
		if yyhl2234 {
			yyb2234 = yyj2234 > l
		} else {
			yyb2234 = r.CheckBreak()
		}
		if yyb2234 {
			break
		}
		z.DecStructFieldNotFound(yyj2234-1, "")
	}
	r.ReadEnd()
}

func (x *NodeDaemonEndpoints) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2236 := z.EncBinary()
		_ = yym2236
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2237 := !z.EncBinary()
			yy2arr2237 := z.EncBasicHandle().StructToArray
			var yyq2237 [1]bool
			_, _, _ = yysep2237, yyq2237, yy2arr2237
			const yyr2237 bool = false
			yyq2237[0] = true
			if yyr2237 || yy2arr2237 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2237 int = 0
				for _, b := range yyq2237 {
					if b {
						yynn2237++
					}
				}
				r.EncodeMapStart(yynn2237)
			}
			if yyr2237 || yy2arr2237 {
				if yyq2237[0] {
					yy2239 := &x.KubeletEndpoint
					yy2239.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2237[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kubeletEndpoint"))
					yy2240 := &x.KubeletEndpoint
					yy2240.CodecEncodeSelf(e)
				}
			}
			if yysep2237 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeDaemonEndpoints) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2241 := z.DecBinary()
	_ = yym2241
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2242 := r.ReadMapStart()
			if yyl2242 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2242, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2242 := r.ReadArrayStart()
			if yyl2242 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2242, 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 yys2243Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2243Slc
	var yyhl2243 bool = l >= 0
	for yyj2243 := 0; ; yyj2243++ {
		if yyhl2243 {
			if yyj2243 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2243Slc = r.DecodeBytes(yys2243Slc, true, true)
		yys2243 := string(yys2243Slc)
		switch yys2243 {
		case "kubeletEndpoint":
			if r.TryDecodeAsNil() {
				x.KubeletEndpoint = DaemonEndpoint{}
			} else {
				yyv2244 := &x.KubeletEndpoint
				yyv2244.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2243)
		} // end switch yys2243
	} // end for yyj2243
	if !yyhl2243 {
		r.ReadEnd()
	}
}

func (x *NodeDaemonEndpoints) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2245 int
	var yyb2245 bool
	var yyhl2245 bool = l >= 0
	yyj2245++
	if yyhl2245 {
		yyb2245 = yyj2245 > l
	} else {
		yyb2245 = r.CheckBreak()
	}
	if yyb2245 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KubeletEndpoint = DaemonEndpoint{}
	} else {
		yyv2246 := &x.KubeletEndpoint
		yyv2246.CodecDecodeSelf(d)
	}
	for {
		yyj2245++
		if yyhl2245 {
			yyb2245 = yyj2245 > l
		} else {
			yyb2245 = r.CheckBreak()
		}
		if yyb2245 {
			break
		}
		z.DecStructFieldNotFound(yyj2245-1, "")
	}
	r.ReadEnd()
}

func (x *NodeSystemInfo) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2247 := z.EncBinary()
		_ = yym2247
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2248 := !z.EncBinary()
			yy2arr2248 := z.EncBasicHandle().StructToArray
			var yyq2248 [8]bool
			_, _, _ = yysep2248, yyq2248, yy2arr2248
			const yyr2248 bool = false
			if yyr2248 || yy2arr2248 {
				r.EncodeArrayStart(8)
			} else {
				var yynn2248 int = 8
				for _, b := range yyq2248 {
					if b {
						yynn2248++
					}
				}
				r.EncodeMapStart(yynn2248)
			}
			if yyr2248 || yy2arr2248 {
				yym2250 := z.EncBinary()
				_ = yym2250
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("machineID"))
				yym2251 := z.EncBinary()
				_ = yym2251
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.MachineID))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2253 := z.EncBinary()
				_ = yym2253
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("systemUUID"))
				yym2254 := z.EncBinary()
				_ = yym2254
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.SystemUUID))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2256 := z.EncBinary()
				_ = yym2256
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("bootID"))
				yym2257 := z.EncBinary()
				_ = yym2257
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.BootID))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2259 := z.EncBinary()
				_ = yym2259
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("kernelVersion"))
				yym2260 := z.EncBinary()
				_ = yym2260
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KernelVersion))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2262 := z.EncBinary()
				_ = yym2262
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OsImage))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("osImage"))
				yym2263 := z.EncBinary()
				_ = yym2263
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.OsImage))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2265 := z.EncBinary()
				_ = yym2265
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("containerRuntimeVersion"))
				yym2266 := z.EncBinary()
				_ = yym2266
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ContainerRuntimeVersion))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2268 := z.EncBinary()
				_ = yym2268
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("kubeletVersion"))
				yym2269 := z.EncBinary()
				_ = yym2269
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeletVersion))
				}
			}
			if yyr2248 || yy2arr2248 {
				yym2271 := z.EncBinary()
				_ = yym2271
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("kubeProxyVersion"))
				yym2272 := z.EncBinary()
				_ = yym2272
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.KubeProxyVersion))
				}
			}
			if yysep2248 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeSystemInfo) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2273 := z.DecBinary()
	_ = yym2273
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2274 := r.ReadMapStart()
			if yyl2274 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2274, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2274 := r.ReadArrayStart()
			if yyl2274 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2274, 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 yys2275Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2275Slc
	var yyhl2275 bool = l >= 0
	for yyj2275 := 0; ; yyj2275++ {
		if yyhl2275 {
			if yyj2275 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2275Slc = r.DecodeBytes(yys2275Slc, true, true)
		yys2275 := string(yys2275Slc)
		switch yys2275 {
		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())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2275)
		} // end switch yys2275
	} // end for yyj2275
	if !yyhl2275 {
		r.ReadEnd()
	}
}

func (x *NodeSystemInfo) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2284 int
	var yyb2284 bool
	var yyhl2284 bool = l >= 0
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.MachineID = ""
	} else {
		x.MachineID = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.SystemUUID = ""
	} else {
		x.SystemUUID = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.BootID = ""
	} else {
		x.BootID = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KernelVersion = ""
	} else {
		x.KernelVersion = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.OsImage = ""
	} else {
		x.OsImage = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ContainerRuntimeVersion = ""
	} else {
		x.ContainerRuntimeVersion = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KubeletVersion = ""
	} else {
		x.KubeletVersion = string(r.DecodeString())
	}
	yyj2284++
	if yyhl2284 {
		yyb2284 = yyj2284 > l
	} else {
		yyb2284 = r.CheckBreak()
	}
	if yyb2284 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.KubeProxyVersion = ""
	} else {
		x.KubeProxyVersion = string(r.DecodeString())
	}
	for {
		yyj2284++
		if yyhl2284 {
			yyb2284 = yyj2284 > l
		} else {
			yyb2284 = r.CheckBreak()
		}
		if yyb2284 {
			break
		}
		z.DecStructFieldNotFound(yyj2284-1, "")
	}
	r.ReadEnd()
}

func (x *NodeStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2293 := z.EncBinary()
		_ = yym2293
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2294 := !z.EncBinary()
			yy2arr2294 := z.EncBasicHandle().StructToArray
			var yyq2294 [6]bool
			_, _, _ = yysep2294, yyq2294, yy2arr2294
			const yyr2294 bool = false
			yyq2294[0] = len(x.Capacity) != 0
			yyq2294[1] = x.Phase != ""
			yyq2294[2] = len(x.Conditions) != 0
			yyq2294[3] = len(x.Addresses) != 0
			yyq2294[4] = true
			yyq2294[5] = true
			if yyr2294 || yy2arr2294 {
				r.EncodeArrayStart(6)
			} else {
				var yynn2294 int = 0
				for _, b := range yyq2294 {
					if b {
						yynn2294++
					}
				}
				r.EncodeMapStart(yynn2294)
			}
			if yyr2294 || yy2arr2294 {
				if yyq2294[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2294[0] {
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yyr2294 || yy2arr2294 {
				if yyq2294[1] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2294[1] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yyr2294 || yy2arr2294 {
				if yyq2294[2] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2298 := z.EncBinary()
						_ = yym2298
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2294[2] {
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym2299 := z.EncBinary()
						_ = yym2299
						if false {
						} else {
							h.encSliceNodeCondition(([]NodeCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yyr2294 || yy2arr2294 {
				if yyq2294[3] {
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2301 := z.EncBinary()
						_ = yym2301
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2294[3] {
					r.EncodeString(codecSelferC_UTF81234, string("addresses"))
					if x.Addresses == nil {
						r.EncodeNil()
					} else {
						yym2302 := z.EncBinary()
						_ = yym2302
						if false {
						} else {
							h.encSliceNodeAddress(([]NodeAddress)(x.Addresses), e)
						}
					}
				}
			}
			if yyr2294 || yy2arr2294 {
				if yyq2294[4] {
					yy2304 := &x.DaemonEndpoints
					yy2304.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2294[4] {
					r.EncodeString(codecSelferC_UTF81234, string("daemonEndpoints"))
					yy2305 := &x.DaemonEndpoints
					yy2305.CodecEncodeSelf(e)
				}
			}
			if yyr2294 || yy2arr2294 {
				if yyq2294[5] {
					yy2307 := &x.NodeInfo
					yy2307.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2294[5] {
					r.EncodeString(codecSelferC_UTF81234, string("nodeInfo"))
					yy2308 := &x.NodeInfo
					yy2308.CodecEncodeSelf(e)
				}
			}
			if yysep2294 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2309 := z.DecBinary()
	_ = yym2309
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2310 := r.ReadMapStart()
			if yyl2310 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2310, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2310 := r.ReadArrayStart()
			if yyl2310 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2310, 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 yys2311Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2311Slc
	var yyhl2311 bool = l >= 0
	for yyj2311 := 0; ; yyj2311++ {
		if yyhl2311 {
			if yyj2311 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2311Slc = r.DecodeBytes(yys2311Slc, true, true)
		yys2311 := string(yys2311Slc)
		switch yys2311 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv2312 := &x.Capacity
				yyv2312.CodecDecodeSelf(d)
			}
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NodePhase(r.DecodeString())
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv2314 := &x.Conditions
				yym2315 := z.DecBinary()
				_ = yym2315
				if false {
				} else {
					h.decSliceNodeCondition((*[]NodeCondition)(yyv2314), d)
				}
			}
		case "addresses":
			if r.TryDecodeAsNil() {
				x.Addresses = nil
			} else {
				yyv2316 := &x.Addresses
				yym2317 := z.DecBinary()
				_ = yym2317
				if false {
				} else {
					h.decSliceNodeAddress((*[]NodeAddress)(yyv2316), d)
				}
			}
		case "daemonEndpoints":
			if r.TryDecodeAsNil() {
				x.DaemonEndpoints = NodeDaemonEndpoints{}
			} else {
				yyv2318 := &x.DaemonEndpoints
				yyv2318.CodecDecodeSelf(d)
			}
		case "nodeInfo":
			if r.TryDecodeAsNil() {
				x.NodeInfo = NodeSystemInfo{}
			} else {
				yyv2319 := &x.NodeInfo
				yyv2319.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2311)
		} // end switch yys2311
	} // end for yyj2311
	if !yyhl2311 {
		r.ReadEnd()
	}
}

func (x *NodeStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2320 int
	var yyb2320 bool
	var yyhl2320 bool = l >= 0
	yyj2320++
	if yyhl2320 {
		yyb2320 = yyj2320 > l
	} else {
		yyb2320 = r.CheckBreak()
	}
	if yyb2320 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv2321 := &x.Capacity
		yyv2321.CodecDecodeSelf(d)
	}
	yyj2320++
	if yyhl2320 {
		yyb2320 = yyj2320 > l
	} else {
		yyb2320 = r.CheckBreak()
	}
	if yyb2320 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Phase = ""
	} else {
		x.Phase = NodePhase(r.DecodeString())
	}
	yyj2320++
	if yyhl2320 {
		yyb2320 = yyj2320 > l
	} else {
		yyb2320 = r.CheckBreak()
	}
	if yyb2320 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv2323 := &x.Conditions
		yym2324 := z.DecBinary()
		_ = yym2324
		if false {
		} else {
			h.decSliceNodeCondition((*[]NodeCondition)(yyv2323), d)
		}
	}
	yyj2320++
	if yyhl2320 {
		yyb2320 = yyj2320 > l
	} else {
		yyb2320 = r.CheckBreak()
	}
	if yyb2320 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Addresses = nil
	} else {
		yyv2325 := &x.Addresses
		yym2326 := z.DecBinary()
		_ = yym2326
		if false {
		} else {
			h.decSliceNodeAddress((*[]NodeAddress)(yyv2325), d)
		}
	}
	yyj2320++
	if yyhl2320 {
		yyb2320 = yyj2320 > l
	} else {
		yyb2320 = r.CheckBreak()
	}
	if yyb2320 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DaemonEndpoints = NodeDaemonEndpoints{}
	} else {
		yyv2327 := &x.DaemonEndpoints
		yyv2327.CodecDecodeSelf(d)
	}
	yyj2320++
	if yyhl2320 {
		yyb2320 = yyj2320 > l
	} else {
		yyb2320 = r.CheckBreak()
	}
	if yyb2320 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.NodeInfo = NodeSystemInfo{}
	} else {
		yyv2328 := &x.NodeInfo
		yyv2328.CodecDecodeSelf(d)
	}
	for {
		yyj2320++
		if yyhl2320 {
			yyb2320 = yyj2320 > l
		} else {
			yyb2320 = r.CheckBreak()
		}
		if yyb2320 {
			break
		}
		z.DecStructFieldNotFound(yyj2320-1, "")
	}
	r.ReadEnd()
}

func (x NodePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2329 := z.EncBinary()
	_ = yym2329
	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
	yym2330 := z.DecBinary()
	_ = yym2330
	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
	yym2331 := z.EncBinary()
	_ = yym2331
	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
	yym2332 := z.DecBinary()
	_ = yym2332
	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 {
		yym2333 := z.EncBinary()
		_ = yym2333
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2334 := !z.EncBinary()
			yy2arr2334 := z.EncBasicHandle().StructToArray
			var yyq2334 [6]bool
			_, _, _ = yysep2334, yyq2334, yy2arr2334
			const yyr2334 bool = false
			yyq2334[2] = true
			yyq2334[3] = true
			yyq2334[4] = x.Reason != ""
			yyq2334[5] = x.Message != ""
			if yyr2334 || yy2arr2334 {
				r.EncodeArrayStart(6)
			} else {
				var yynn2334 int = 2
				for _, b := range yyq2334 {
					if b {
						yynn2334++
					}
				}
				r.EncodeMapStart(yynn2334)
			}
			if yyr2334 || yy2arr2334 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2334 || yy2arr2334 {
				x.Status.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				x.Status.CodecEncodeSelf(e)
			}
			if yyr2334 || yy2arr2334 {
				if yyq2334[2] {
					yy2338 := &x.LastHeartbeatTime
					yym2339 := z.EncBinary()
					_ = yym2339
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2338) {
					} else if yym2339 {
						z.EncBinaryMarshal(yy2338)
					} else if !yym2339 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2338)
					} else {
						z.EncFallback(yy2338)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2334[2] {
					r.EncodeString(codecSelferC_UTF81234, string("lastHeartbeatTime"))
					yy2340 := &x.LastHeartbeatTime
					yym2341 := z.EncBinary()
					_ = yym2341
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2340) {
					} else if yym2341 {
						z.EncBinaryMarshal(yy2340)
					} else if !yym2341 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2340)
					} else {
						z.EncFallback(yy2340)
					}
				}
			}
			if yyr2334 || yy2arr2334 {
				if yyq2334[3] {
					yy2343 := &x.LastTransitionTime
					yym2344 := z.EncBinary()
					_ = yym2344
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2343) {
					} else if yym2344 {
						z.EncBinaryMarshal(yy2343)
					} else if !yym2344 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2343)
					} else {
						z.EncFallback(yy2343)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2334[3] {
					r.EncodeString(codecSelferC_UTF81234, string("lastTransitionTime"))
					yy2345 := &x.LastTransitionTime
					yym2346 := z.EncBinary()
					_ = yym2346
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2345) {
					} else if yym2346 {
						z.EncBinaryMarshal(yy2345)
					} else if !yym2346 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2345)
					} else {
						z.EncFallback(yy2345)
					}
				}
			}
			if yyr2334 || yy2arr2334 {
				if yyq2334[4] {
					yym2348 := z.EncBinary()
					_ = yym2348
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2334[4] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym2349 := z.EncBinary()
					_ = yym2349
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2334 || yy2arr2334 {
				if yyq2334[5] {
					yym2351 := z.EncBinary()
					_ = yym2351
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2334[5] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym2352 := z.EncBinary()
					_ = yym2352
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yysep2334 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2353 := z.DecBinary()
	_ = yym2353
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2354 := r.ReadMapStart()
			if yyl2354 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2354, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2354 := r.ReadArrayStart()
			if yyl2354 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2354, 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 yys2355Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2355Slc
	var yyhl2355 bool = l >= 0
	for yyj2355 := 0; ; yyj2355++ {
		if yyhl2355 {
			if yyj2355 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2355Slc = r.DecodeBytes(yys2355Slc, true, true)
		yys2355 := string(yys2355Slc)
		switch yys2355 {
		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 {
				yyv2358 := &x.LastHeartbeatTime
				yym2359 := z.DecBinary()
				_ = yym2359
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2358) {
				} else if yym2359 {
					z.DecBinaryUnmarshal(yyv2358)
				} else if !yym2359 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2358)
				} else {
					z.DecFallback(yyv2358, false)
				}
			}
		case "lastTransitionTime":
			if r.TryDecodeAsNil() {
				x.LastTransitionTime = pkg2_unversioned.Time{}
			} else {
				yyv2360 := &x.LastTransitionTime
				yym2361 := z.DecBinary()
				_ = yym2361
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2360) {
				} else if yym2361 {
					z.DecBinaryUnmarshal(yyv2360)
				} else if !yym2361 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2360)
				} else {
					z.DecFallback(yyv2360, 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, yys2355)
		} // end switch yys2355
	} // end for yyj2355
	if !yyhl2355 {
		r.ReadEnd()
	}
}

func (x *NodeCondition) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2364 int
	var yyb2364 bool
	var yyhl2364 bool = l >= 0
	yyj2364++
	if yyhl2364 {
		yyb2364 = yyj2364 > l
	} else {
		yyb2364 = r.CheckBreak()
	}
	if yyb2364 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = NodeConditionType(r.DecodeString())
	}
	yyj2364++
	if yyhl2364 {
		yyb2364 = yyj2364 > l
	} else {
		yyb2364 = r.CheckBreak()
	}
	if yyb2364 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ""
	} else {
		x.Status = ConditionStatus(r.DecodeString())
	}
	yyj2364++
	if yyhl2364 {
		yyb2364 = yyj2364 > l
	} else {
		yyb2364 = r.CheckBreak()
	}
	if yyb2364 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastHeartbeatTime = pkg2_unversioned.Time{}
	} else {
		yyv2367 := &x.LastHeartbeatTime
		yym2368 := z.DecBinary()
		_ = yym2368
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2367) {
		} else if yym2368 {
			z.DecBinaryUnmarshal(yyv2367)
		} else if !yym2368 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2367)
		} else {
			z.DecFallback(yyv2367, false)
		}
	}
	yyj2364++
	if yyhl2364 {
		yyb2364 = yyj2364 > l
	} else {
		yyb2364 = r.CheckBreak()
	}
	if yyb2364 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTransitionTime = pkg2_unversioned.Time{}
	} else {
		yyv2369 := &x.LastTransitionTime
		yym2370 := z.DecBinary()
		_ = yym2370
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2369) {
		} else if yym2370 {
			z.DecBinaryUnmarshal(yyv2369)
		} else if !yym2370 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2369)
		} else {
			z.DecFallback(yyv2369, false)
		}
	}
	yyj2364++
	if yyhl2364 {
		yyb2364 = yyj2364 > l
	} else {
		yyb2364 = r.CheckBreak()
	}
	if yyb2364 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2364++
	if yyhl2364 {
		yyb2364 = yyj2364 > l
	} else {
		yyb2364 = r.CheckBreak()
	}
	if yyb2364 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	for {
		yyj2364++
		if yyhl2364 {
			yyb2364 = yyj2364 > l
		} else {
			yyb2364 = r.CheckBreak()
		}
		if yyb2364 {
			break
		}
		z.DecStructFieldNotFound(yyj2364-1, "")
	}
	r.ReadEnd()
}

func (x NodeAddressType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2373 := z.EncBinary()
	_ = yym2373
	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
	yym2374 := z.DecBinary()
	_ = yym2374
	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 {
		yym2375 := z.EncBinary()
		_ = yym2375
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2376 := !z.EncBinary()
			yy2arr2376 := z.EncBasicHandle().StructToArray
			var yyq2376 [2]bool
			_, _, _ = yysep2376, yyq2376, yy2arr2376
			const yyr2376 bool = false
			if yyr2376 || yy2arr2376 {
				r.EncodeArrayStart(2)
			} else {
				var yynn2376 int = 2
				for _, b := range yyq2376 {
					if b {
						yynn2376++
					}
				}
				r.EncodeMapStart(yynn2376)
			}
			if yyr2376 || yy2arr2376 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr2376 || yy2arr2376 {
				yym2379 := z.EncBinary()
				_ = yym2379
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("address"))
				yym2380 := z.EncBinary()
				_ = yym2380
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Address))
				}
			}
			if yysep2376 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeAddress) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2381 := z.DecBinary()
	_ = yym2381
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2382 := r.ReadMapStart()
			if yyl2382 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2382, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2382 := r.ReadArrayStart()
			if yyl2382 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2382, 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 yys2383Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2383Slc
	var yyhl2383 bool = l >= 0
	for yyj2383 := 0; ; yyj2383++ {
		if yyhl2383 {
			if yyj2383 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2383Slc = r.DecodeBytes(yys2383Slc, true, true)
		yys2383 := string(yys2383Slc)
		switch yys2383 {
		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, yys2383)
		} // end switch yys2383
	} // end for yyj2383
	if !yyhl2383 {
		r.ReadEnd()
	}
}

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

func (x *NodeResources) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2389 := z.EncBinary()
		_ = yym2389
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2390 := !z.EncBinary()
			yy2arr2390 := z.EncBasicHandle().StructToArray
			var yyq2390 [1]bool
			_, _, _ = yysep2390, yyq2390, yy2arr2390
			const yyr2390 bool = false
			yyq2390[0] = len(x.Capacity) != 0
			if yyr2390 || yy2arr2390 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2390 int = 0
				for _, b := range yyq2390 {
					if b {
						yynn2390++
					}
				}
				r.EncodeMapStart(yynn2390)
			}
			if yyr2390 || yy2arr2390 {
				if yyq2390[0] {
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2390[0] {
					r.EncodeString(codecSelferC_UTF81234, string("capacity"))
					if x.Capacity == nil {
						r.EncodeNil()
					} else {
						x.Capacity.CodecEncodeSelf(e)
					}
				}
			}
			if yysep2390 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeResources) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2392 := z.DecBinary()
	_ = yym2392
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2393 := r.ReadMapStart()
			if yyl2393 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2393, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2393 := r.ReadArrayStart()
			if yyl2393 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2393, 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 yys2394Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2394Slc
	var yyhl2394 bool = l >= 0
	for yyj2394 := 0; ; yyj2394++ {
		if yyhl2394 {
			if yyj2394 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2394Slc = r.DecodeBytes(yys2394Slc, true, true)
		yys2394 := string(yys2394Slc)
		switch yys2394 {
		case "capacity":
			if r.TryDecodeAsNil() {
				x.Capacity = nil
			} else {
				yyv2395 := &x.Capacity
				yyv2395.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2394)
		} // end switch yys2394
	} // end for yyj2394
	if !yyhl2394 {
		r.ReadEnd()
	}
}

func (x *NodeResources) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2396 int
	var yyb2396 bool
	var yyhl2396 bool = l >= 0
	yyj2396++
	if yyhl2396 {
		yyb2396 = yyj2396 > l
	} else {
		yyb2396 = r.CheckBreak()
	}
	if yyb2396 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Capacity = nil
	} else {
		yyv2397 := &x.Capacity
		yyv2397.CodecDecodeSelf(d)
	}
	for {
		yyj2396++
		if yyhl2396 {
			yyb2396 = yyj2396 > l
		} else {
			yyb2396 = r.CheckBreak()
		}
		if yyb2396 {
			break
		}
		z.DecStructFieldNotFound(yyj2396-1, "")
	}
	r.ReadEnd()
}

func (x ResourceName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2398 := z.EncBinary()
	_ = yym2398
	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
	yym2399 := z.DecBinary()
	_ = yym2399
	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 {
		yym2400 := z.EncBinary()
		_ = yym2400
		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
	yym2401 := z.DecBinary()
	_ = yym2401
	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 {
		yym2402 := z.EncBinary()
		_ = yym2402
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2403 := !z.EncBinary()
			yy2arr2403 := z.EncBasicHandle().StructToArray
			var yyq2403 [5]bool
			_, _, _ = yysep2403, yyq2403, yy2arr2403
			const yyr2403 bool = false
			yyq2403[0] = x.Kind != ""
			yyq2403[1] = x.APIVersion != ""
			yyq2403[2] = true
			yyq2403[3] = true
			yyq2403[4] = true
			if yyr2403 || yy2arr2403 {
				r.EncodeArrayStart(5)
			} else {
				var yynn2403 int = 0
				for _, b := range yyq2403 {
					if b {
						yynn2403++
					}
				}
				r.EncodeMapStart(yynn2403)
			}
			if yyr2403 || yy2arr2403 {
				if yyq2403[0] {
					yym2405 := z.EncBinary()
					_ = yym2405
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2403[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2406 := z.EncBinary()
					_ = yym2406
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2403 || yy2arr2403 {
				if yyq2403[1] {
					yym2408 := z.EncBinary()
					_ = yym2408
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2403[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2409 := z.EncBinary()
					_ = yym2409
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2403 || yy2arr2403 {
				if yyq2403[2] {
					yy2411 := &x.ObjectMeta
					yy2411.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2403[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2412 := &x.ObjectMeta
					yy2412.CodecEncodeSelf(e)
				}
			}
			if yyr2403 || yy2arr2403 {
				if yyq2403[3] {
					yy2414 := &x.Spec
					yy2414.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2403[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy2415 := &x.Spec
					yy2415.CodecEncodeSelf(e)
				}
			}
			if yyr2403 || yy2arr2403 {
				if yyq2403[4] {
					yy2417 := &x.Status
					yy2417.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2403[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy2418 := &x.Status
					yy2418.CodecEncodeSelf(e)
				}
			}
			if yysep2403 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Node) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2419 := z.DecBinary()
	_ = yym2419
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2420 := r.ReadMapStart()
			if yyl2420 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2420, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2420 := r.ReadArrayStart()
			if yyl2420 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2420, 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 yys2421Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2421Slc
	var yyhl2421 bool = l >= 0
	for yyj2421 := 0; ; yyj2421++ {
		if yyhl2421 {
			if yyj2421 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2421Slc = r.DecodeBytes(yys2421Slc, true, true)
		yys2421 := string(yys2421Slc)
		switch yys2421 {
		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 {
				yyv2424 := &x.ObjectMeta
				yyv2424.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NodeSpec{}
			} else {
				yyv2425 := &x.Spec
				yyv2425.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NodeStatus{}
			} else {
				yyv2426 := &x.Status
				yyv2426.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2421)
		} // end switch yys2421
	} // end for yyj2421
	if !yyhl2421 {
		r.ReadEnd()
	}
}

func (x *Node) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2427 int
	var yyb2427 bool
	var yyhl2427 bool = l >= 0
	yyj2427++
	if yyhl2427 {
		yyb2427 = yyj2427 > l
	} else {
		yyb2427 = r.CheckBreak()
	}
	if yyb2427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2427++
	if yyhl2427 {
		yyb2427 = yyj2427 > l
	} else {
		yyb2427 = r.CheckBreak()
	}
	if yyb2427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2427++
	if yyhl2427 {
		yyb2427 = yyj2427 > l
	} else {
		yyb2427 = r.CheckBreak()
	}
	if yyb2427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2430 := &x.ObjectMeta
		yyv2430.CodecDecodeSelf(d)
	}
	yyj2427++
	if yyhl2427 {
		yyb2427 = yyj2427 > l
	} else {
		yyb2427 = r.CheckBreak()
	}
	if yyb2427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = NodeSpec{}
	} else {
		yyv2431 := &x.Spec
		yyv2431.CodecDecodeSelf(d)
	}
	yyj2427++
	if yyhl2427 {
		yyb2427 = yyj2427 > l
	} else {
		yyb2427 = r.CheckBreak()
	}
	if yyb2427 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = NodeStatus{}
	} else {
		yyv2432 := &x.Status
		yyv2432.CodecDecodeSelf(d)
	}
	for {
		yyj2427++
		if yyhl2427 {
			yyb2427 = yyj2427 > l
		} else {
			yyb2427 = r.CheckBreak()
		}
		if yyb2427 {
			break
		}
		z.DecStructFieldNotFound(yyj2427-1, "")
	}
	r.ReadEnd()
}

func (x *NodeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2433 := z.EncBinary()
		_ = yym2433
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2434 := !z.EncBinary()
			yy2arr2434 := z.EncBasicHandle().StructToArray
			var yyq2434 [4]bool
			_, _, _ = yysep2434, yyq2434, yy2arr2434
			const yyr2434 bool = false
			yyq2434[0] = x.Kind != ""
			yyq2434[1] = x.APIVersion != ""
			yyq2434[2] = true
			if yyr2434 || yy2arr2434 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2434 int = 1
				for _, b := range yyq2434 {
					if b {
						yynn2434++
					}
				}
				r.EncodeMapStart(yynn2434)
			}
			if yyr2434 || yy2arr2434 {
				if yyq2434[0] {
					yym2436 := z.EncBinary()
					_ = yym2436
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2434[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2437 := z.EncBinary()
					_ = yym2437
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2434 || yy2arr2434 {
				if yyq2434[1] {
					yym2439 := z.EncBinary()
					_ = yym2439
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2434[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2440 := z.EncBinary()
					_ = yym2440
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2434 || yy2arr2434 {
				if yyq2434[2] {
					yy2442 := &x.ListMeta
					yym2443 := z.EncBinary()
					_ = yym2443
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2442) {
					} else {
						z.EncFallback(yy2442)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2434[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2444 := &x.ListMeta
					yym2445 := z.EncBinary()
					_ = yym2445
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2444) {
					} else {
						z.EncFallback(yy2444)
					}
				}
			}
			if yyr2434 || yy2arr2434 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2447 := z.EncBinary()
					_ = yym2447
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2448 := z.EncBinary()
					_ = yym2448
					if false {
					} else {
						h.encSliceNode(([]Node)(x.Items), e)
					}
				}
			}
			if yysep2434 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NodeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2449 := z.DecBinary()
	_ = yym2449
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2450 := r.ReadMapStart()
			if yyl2450 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2450, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2450 := r.ReadArrayStart()
			if yyl2450 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2450, 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 yys2451Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2451Slc
	var yyhl2451 bool = l >= 0
	for yyj2451 := 0; ; yyj2451++ {
		if yyhl2451 {
			if yyj2451 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2451Slc = r.DecodeBytes(yys2451Slc, true, true)
		yys2451 := string(yys2451Slc)
		switch yys2451 {
		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 {
				yyv2454 := &x.ListMeta
				yym2455 := z.DecBinary()
				_ = yym2455
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2454) {
				} else {
					z.DecFallback(yyv2454, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2456 := &x.Items
				yym2457 := z.DecBinary()
				_ = yym2457
				if false {
				} else {
					h.decSliceNode((*[]Node)(yyv2456), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2451)
		} // end switch yys2451
	} // end for yyj2451
	if !yyhl2451 {
		r.ReadEnd()
	}
}

func (x *NodeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2458 int
	var yyb2458 bool
	var yyhl2458 bool = l >= 0
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2461 := &x.ListMeta
		yym2462 := z.DecBinary()
		_ = yym2462
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2461) {
		} else {
			z.DecFallback(yyv2461, false)
		}
	}
	yyj2458++
	if yyhl2458 {
		yyb2458 = yyj2458 > l
	} else {
		yyb2458 = r.CheckBreak()
	}
	if yyb2458 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2463 := &x.Items
		yym2464 := z.DecBinary()
		_ = yym2464
		if false {
		} else {
			h.decSliceNode((*[]Node)(yyv2463), d)
		}
	}
	for {
		yyj2458++
		if yyhl2458 {
			yyb2458 = yyj2458 > l
		} else {
			yyb2458 = r.CheckBreak()
		}
		if yyb2458 {
			break
		}
		z.DecStructFieldNotFound(yyj2458-1, "")
	}
	r.ReadEnd()
}

func (x *NamespaceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2465 := z.EncBinary()
		_ = yym2465
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2466 := !z.EncBinary()
			yy2arr2466 := z.EncBasicHandle().StructToArray
			var yyq2466 [1]bool
			_, _, _ = yysep2466, yyq2466, yy2arr2466
			const yyr2466 bool = false
			if yyr2466 || yy2arr2466 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2466 int = 1
				for _, b := range yyq2466 {
					if b {
						yynn2466++
					}
				}
				r.EncodeMapStart(yynn2466)
			}
			if yyr2466 || yy2arr2466 {
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym2468 := z.EncBinary()
					_ = yym2468
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Finalizers"))
				if x.Finalizers == nil {
					r.EncodeNil()
				} else {
					yym2469 := z.EncBinary()
					_ = yym2469
					if false {
					} else {
						h.encSliceFinalizerName(([]FinalizerName)(x.Finalizers), e)
					}
				}
			}
			if yysep2466 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NamespaceSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2470 := z.DecBinary()
	_ = yym2470
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2471 := r.ReadMapStart()
			if yyl2471 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2471, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2471 := r.ReadArrayStart()
			if yyl2471 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2471, 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 yys2472Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2472Slc
	var yyhl2472 bool = l >= 0
	for yyj2472 := 0; ; yyj2472++ {
		if yyhl2472 {
			if yyj2472 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2472Slc = r.DecodeBytes(yys2472Slc, true, true)
		yys2472 := string(yys2472Slc)
		switch yys2472 {
		case "Finalizers":
			if r.TryDecodeAsNil() {
				x.Finalizers = nil
			} else {
				yyv2473 := &x.Finalizers
				yym2474 := z.DecBinary()
				_ = yym2474
				if false {
				} else {
					h.decSliceFinalizerName((*[]FinalizerName)(yyv2473), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2472)
		} // end switch yys2472
	} // end for yyj2472
	if !yyhl2472 {
		r.ReadEnd()
	}
}

func (x *NamespaceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2475 int
	var yyb2475 bool
	var yyhl2475 bool = l >= 0
	yyj2475++
	if yyhl2475 {
		yyb2475 = yyj2475 > l
	} else {
		yyb2475 = r.CheckBreak()
	}
	if yyb2475 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Finalizers = nil
	} else {
		yyv2476 := &x.Finalizers
		yym2477 := z.DecBinary()
		_ = yym2477
		if false {
		} else {
			h.decSliceFinalizerName((*[]FinalizerName)(yyv2476), d)
		}
	}
	for {
		yyj2475++
		if yyhl2475 {
			yyb2475 = yyj2475 > l
		} else {
			yyb2475 = r.CheckBreak()
		}
		if yyb2475 {
			break
		}
		z.DecStructFieldNotFound(yyj2475-1, "")
	}
	r.ReadEnd()
}

func (x FinalizerName) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2478 := z.EncBinary()
	_ = yym2478
	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
	yym2479 := z.DecBinary()
	_ = yym2479
	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 {
		yym2480 := z.EncBinary()
		_ = yym2480
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2481 := !z.EncBinary()
			yy2arr2481 := z.EncBasicHandle().StructToArray
			var yyq2481 [1]bool
			_, _, _ = yysep2481, yyq2481, yy2arr2481
			const yyr2481 bool = false
			yyq2481[0] = x.Phase != ""
			if yyr2481 || yy2arr2481 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2481 int = 0
				for _, b := range yyq2481 {
					if b {
						yynn2481++
					}
				}
				r.EncodeMapStart(yynn2481)
			}
			if yyr2481 || yy2arr2481 {
				if yyq2481[0] {
					x.Phase.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2481[0] {
					r.EncodeString(codecSelferC_UTF81234, string("phase"))
					x.Phase.CodecEncodeSelf(e)
				}
			}
			if yysep2481 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NamespaceStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2483 := z.DecBinary()
	_ = yym2483
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2484 := r.ReadMapStart()
			if yyl2484 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2484, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2484 := r.ReadArrayStart()
			if yyl2484 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2484, 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 yys2485Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2485Slc
	var yyhl2485 bool = l >= 0
	for yyj2485 := 0; ; yyj2485++ {
		if yyhl2485 {
			if yyj2485 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2485Slc = r.DecodeBytes(yys2485Slc, true, true)
		yys2485 := string(yys2485Slc)
		switch yys2485 {
		case "phase":
			if r.TryDecodeAsNil() {
				x.Phase = ""
			} else {
				x.Phase = NamespacePhase(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2485)
		} // end switch yys2485
	} // end for yyj2485
	if !yyhl2485 {
		r.ReadEnd()
	}
}

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

func (x NamespacePhase) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym2489 := z.EncBinary()
	_ = yym2489
	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
	yym2490 := z.DecBinary()
	_ = yym2490
	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 {
		yym2491 := z.EncBinary()
		_ = yym2491
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2492 := !z.EncBinary()
			yy2arr2492 := z.EncBasicHandle().StructToArray
			var yyq2492 [5]bool
			_, _, _ = yysep2492, yyq2492, yy2arr2492
			const yyr2492 bool = false
			yyq2492[0] = x.Kind != ""
			yyq2492[1] = x.APIVersion != ""
			yyq2492[2] = true
			yyq2492[3] = true
			yyq2492[4] = true
			if yyr2492 || yy2arr2492 {
				r.EncodeArrayStart(5)
			} else {
				var yynn2492 int = 0
				for _, b := range yyq2492 {
					if b {
						yynn2492++
					}
				}
				r.EncodeMapStart(yynn2492)
			}
			if yyr2492 || yy2arr2492 {
				if yyq2492[0] {
					yym2494 := z.EncBinary()
					_ = yym2494
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2492[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2495 := z.EncBinary()
					_ = yym2495
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2492 || yy2arr2492 {
				if yyq2492[1] {
					yym2497 := z.EncBinary()
					_ = yym2497
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2492[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2498 := z.EncBinary()
					_ = yym2498
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2492 || yy2arr2492 {
				if yyq2492[2] {
					yy2500 := &x.ObjectMeta
					yy2500.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2492[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2501 := &x.ObjectMeta
					yy2501.CodecEncodeSelf(e)
				}
			}
			if yyr2492 || yy2arr2492 {
				if yyq2492[3] {
					yy2503 := &x.Spec
					yy2503.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2492[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy2504 := &x.Spec
					yy2504.CodecEncodeSelf(e)
				}
			}
			if yyr2492 || yy2arr2492 {
				if yyq2492[4] {
					yy2506 := &x.Status
					yy2506.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2492[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy2507 := &x.Status
					yy2507.CodecEncodeSelf(e)
				}
			}
			if yysep2492 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Namespace) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2508 := z.DecBinary()
	_ = yym2508
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2509 := r.ReadMapStart()
			if yyl2509 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2509, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2509 := r.ReadArrayStart()
			if yyl2509 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2509, 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 yys2510Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2510Slc
	var yyhl2510 bool = l >= 0
	for yyj2510 := 0; ; yyj2510++ {
		if yyhl2510 {
			if yyj2510 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2510Slc = r.DecodeBytes(yys2510Slc, true, true)
		yys2510 := string(yys2510Slc)
		switch yys2510 {
		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 {
				yyv2513 := &x.ObjectMeta
				yyv2513.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = NamespaceSpec{}
			} else {
				yyv2514 := &x.Spec
				yyv2514.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = NamespaceStatus{}
			} else {
				yyv2515 := &x.Status
				yyv2515.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2510)
		} // end switch yys2510
	} // end for yyj2510
	if !yyhl2510 {
		r.ReadEnd()
	}
}

func (x *Namespace) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2516 int
	var yyb2516 bool
	var yyhl2516 bool = l >= 0
	yyj2516++
	if yyhl2516 {
		yyb2516 = yyj2516 > l
	} else {
		yyb2516 = r.CheckBreak()
	}
	if yyb2516 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2516++
	if yyhl2516 {
		yyb2516 = yyj2516 > l
	} else {
		yyb2516 = r.CheckBreak()
	}
	if yyb2516 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2516++
	if yyhl2516 {
		yyb2516 = yyj2516 > l
	} else {
		yyb2516 = r.CheckBreak()
	}
	if yyb2516 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2519 := &x.ObjectMeta
		yyv2519.CodecDecodeSelf(d)
	}
	yyj2516++
	if yyhl2516 {
		yyb2516 = yyj2516 > l
	} else {
		yyb2516 = r.CheckBreak()
	}
	if yyb2516 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = NamespaceSpec{}
	} else {
		yyv2520 := &x.Spec
		yyv2520.CodecDecodeSelf(d)
	}
	yyj2516++
	if yyhl2516 {
		yyb2516 = yyj2516 > l
	} else {
		yyb2516 = r.CheckBreak()
	}
	if yyb2516 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = NamespaceStatus{}
	} else {
		yyv2521 := &x.Status
		yyv2521.CodecDecodeSelf(d)
	}
	for {
		yyj2516++
		if yyhl2516 {
			yyb2516 = yyj2516 > l
		} else {
			yyb2516 = r.CheckBreak()
		}
		if yyb2516 {
			break
		}
		z.DecStructFieldNotFound(yyj2516-1, "")
	}
	r.ReadEnd()
}

func (x *NamespaceList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2522 := z.EncBinary()
		_ = yym2522
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2523 := !z.EncBinary()
			yy2arr2523 := z.EncBasicHandle().StructToArray
			var yyq2523 [4]bool
			_, _, _ = yysep2523, yyq2523, yy2arr2523
			const yyr2523 bool = false
			yyq2523[0] = x.Kind != ""
			yyq2523[1] = x.APIVersion != ""
			yyq2523[2] = true
			if yyr2523 || yy2arr2523 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2523 int = 1
				for _, b := range yyq2523 {
					if b {
						yynn2523++
					}
				}
				r.EncodeMapStart(yynn2523)
			}
			if yyr2523 || yy2arr2523 {
				if yyq2523[0] {
					yym2525 := z.EncBinary()
					_ = yym2525
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2523[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2526 := z.EncBinary()
					_ = yym2526
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2523 || yy2arr2523 {
				if yyq2523[1] {
					yym2528 := z.EncBinary()
					_ = yym2528
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2523[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2529 := z.EncBinary()
					_ = yym2529
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2523 || yy2arr2523 {
				if yyq2523[2] {
					yy2531 := &x.ListMeta
					yym2532 := z.EncBinary()
					_ = yym2532
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2531) {
					} else {
						z.EncFallback(yy2531)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2523[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2533 := &x.ListMeta
					yym2534 := z.EncBinary()
					_ = yym2534
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2533) {
					} else {
						z.EncFallback(yy2533)
					}
				}
			}
			if yyr2523 || yy2arr2523 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2536 := z.EncBinary()
					_ = yym2536
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym2537 := z.EncBinary()
					_ = yym2537
					if false {
					} else {
						h.encSliceNamespace(([]Namespace)(x.Items), e)
					}
				}
			}
			if yysep2523 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *NamespaceList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2538 := z.DecBinary()
	_ = yym2538
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2539 := r.ReadMapStart()
			if yyl2539 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2539, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2539 := r.ReadArrayStart()
			if yyl2539 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2539, 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 yys2540Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2540Slc
	var yyhl2540 bool = l >= 0
	for yyj2540 := 0; ; yyj2540++ {
		if yyhl2540 {
			if yyj2540 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2540Slc = r.DecodeBytes(yys2540Slc, true, true)
		yys2540 := string(yys2540Slc)
		switch yys2540 {
		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 {
				yyv2543 := &x.ListMeta
				yym2544 := z.DecBinary()
				_ = yym2544
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2543) {
				} else {
					z.DecFallback(yyv2543, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv2545 := &x.Items
				yym2546 := z.DecBinary()
				_ = yym2546
				if false {
				} else {
					h.decSliceNamespace((*[]Namespace)(yyv2545), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2540)
		} // end switch yys2540
	} // end for yyj2540
	if !yyhl2540 {
		r.ReadEnd()
	}
}

func (x *NamespaceList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2547 int
	var yyb2547 bool
	var yyhl2547 bool = l >= 0
	yyj2547++
	if yyhl2547 {
		yyb2547 = yyj2547 > l
	} else {
		yyb2547 = r.CheckBreak()
	}
	if yyb2547 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2547++
	if yyhl2547 {
		yyb2547 = yyj2547 > l
	} else {
		yyb2547 = r.CheckBreak()
	}
	if yyb2547 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2547++
	if yyhl2547 {
		yyb2547 = yyj2547 > l
	} else {
		yyb2547 = r.CheckBreak()
	}
	if yyb2547 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv2550 := &x.ListMeta
		yym2551 := z.DecBinary()
		_ = yym2551
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2550) {
		} else {
			z.DecFallback(yyv2550, false)
		}
	}
	yyj2547++
	if yyhl2547 {
		yyb2547 = yyj2547 > l
	} else {
		yyb2547 = r.CheckBreak()
	}
	if yyb2547 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv2552 := &x.Items
		yym2553 := z.DecBinary()
		_ = yym2553
		if false {
		} else {
			h.decSliceNamespace((*[]Namespace)(yyv2552), d)
		}
	}
	for {
		yyj2547++
		if yyhl2547 {
			yyb2547 = yyj2547 > l
		} else {
			yyb2547 = r.CheckBreak()
		}
		if yyb2547 {
			break
		}
		z.DecStructFieldNotFound(yyj2547-1, "")
	}
	r.ReadEnd()
}

func (x *Binding) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2554 := z.EncBinary()
		_ = yym2554
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2555 := !z.EncBinary()
			yy2arr2555 := z.EncBasicHandle().StructToArray
			var yyq2555 [4]bool
			_, _, _ = yysep2555, yyq2555, yy2arr2555
			const yyr2555 bool = false
			yyq2555[0] = x.Kind != ""
			yyq2555[1] = x.APIVersion != ""
			yyq2555[2] = true
			if yyr2555 || yy2arr2555 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2555 int = 1
				for _, b := range yyq2555 {
					if b {
						yynn2555++
					}
				}
				r.EncodeMapStart(yynn2555)
			}
			if yyr2555 || yy2arr2555 {
				if yyq2555[0] {
					yym2557 := z.EncBinary()
					_ = yym2557
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2555[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2558 := z.EncBinary()
					_ = yym2558
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2555 || yy2arr2555 {
				if yyq2555[1] {
					yym2560 := z.EncBinary()
					_ = yym2560
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2555[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2561 := z.EncBinary()
					_ = yym2561
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2555 || yy2arr2555 {
				if yyq2555[2] {
					yy2563 := &x.ObjectMeta
					yy2563.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2555[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2564 := &x.ObjectMeta
					yy2564.CodecEncodeSelf(e)
				}
			}
			if yyr2555 || yy2arr2555 {
				yy2566 := &x.Target
				yy2566.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("target"))
				yy2567 := &x.Target
				yy2567.CodecEncodeSelf(e)
			}
			if yysep2555 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Binding) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2568 := z.DecBinary()
	_ = yym2568
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2569 := r.ReadMapStart()
			if yyl2569 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2569, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2569 := r.ReadArrayStart()
			if yyl2569 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2569, 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 yys2570Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2570Slc
	var yyhl2570 bool = l >= 0
	for yyj2570 := 0; ; yyj2570++ {
		if yyhl2570 {
			if yyj2570 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2570Slc = r.DecodeBytes(yys2570Slc, true, true)
		yys2570 := string(yys2570Slc)
		switch yys2570 {
		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 {
				yyv2573 := &x.ObjectMeta
				yyv2573.CodecDecodeSelf(d)
			}
		case "target":
			if r.TryDecodeAsNil() {
				x.Target = ObjectReference{}
			} else {
				yyv2574 := &x.Target
				yyv2574.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2570)
		} // end switch yys2570
	} // end for yyj2570
	if !yyhl2570 {
		r.ReadEnd()
	}
}

func (x *Binding) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2575 int
	var yyb2575 bool
	var yyhl2575 bool = l >= 0
	yyj2575++
	if yyhl2575 {
		yyb2575 = yyj2575 > l
	} else {
		yyb2575 = r.CheckBreak()
	}
	if yyb2575 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2575++
	if yyhl2575 {
		yyb2575 = yyj2575 > l
	} else {
		yyb2575 = r.CheckBreak()
	}
	if yyb2575 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2575++
	if yyhl2575 {
		yyb2575 = yyj2575 > l
	} else {
		yyb2575 = r.CheckBreak()
	}
	if yyb2575 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2578 := &x.ObjectMeta
		yyv2578.CodecDecodeSelf(d)
	}
	yyj2575++
	if yyhl2575 {
		yyb2575 = yyj2575 > l
	} else {
		yyb2575 = r.CheckBreak()
	}
	if yyb2575 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Target = ObjectReference{}
	} else {
		yyv2579 := &x.Target
		yyv2579.CodecDecodeSelf(d)
	}
	for {
		yyj2575++
		if yyhl2575 {
			yyb2575 = yyj2575 > l
		} else {
			yyb2575 = r.CheckBreak()
		}
		if yyb2575 {
			break
		}
		z.DecStructFieldNotFound(yyj2575-1, "")
	}
	r.ReadEnd()
}

func (x *DeleteOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2580 := z.EncBinary()
		_ = yym2580
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2581 := !z.EncBinary()
			yy2arr2581 := z.EncBasicHandle().StructToArray
			var yyq2581 [3]bool
			_, _, _ = yysep2581, yyq2581, yy2arr2581
			const yyr2581 bool = false
			yyq2581[0] = x.Kind != ""
			yyq2581[1] = x.APIVersion != ""
			if yyr2581 || yy2arr2581 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2581 int = 1
				for _, b := range yyq2581 {
					if b {
						yynn2581++
					}
				}
				r.EncodeMapStart(yynn2581)
			}
			if yyr2581 || yy2arr2581 {
				if yyq2581[0] {
					yym2583 := z.EncBinary()
					_ = yym2583
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2581[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2584 := z.EncBinary()
					_ = yym2584
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2581 || yy2arr2581 {
				if yyq2581[1] {
					yym2586 := z.EncBinary()
					_ = yym2586
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2581[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2587 := z.EncBinary()
					_ = yym2587
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2581 || yy2arr2581 {
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2589 := *x.GracePeriodSeconds
					yym2590 := z.EncBinary()
					_ = yym2590
					if false {
					} else {
						r.EncodeInt(int64(yy2589))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("gracePeriodSeconds"))
				if x.GracePeriodSeconds == nil {
					r.EncodeNil()
				} else {
					yy2591 := *x.GracePeriodSeconds
					yym2592 := z.EncBinary()
					_ = yym2592
					if false {
					} else {
						r.EncodeInt(int64(yy2591))
					}
				}
			}
			if yysep2581 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *DeleteOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2593 := z.DecBinary()
	_ = yym2593
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2594 := r.ReadMapStart()
			if yyl2594 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2594, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2594 := r.ReadArrayStart()
			if yyl2594 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2594, 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 yys2595Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2595Slc
	var yyhl2595 bool = l >= 0
	for yyj2595 := 0; ; yyj2595++ {
		if yyhl2595 {
			if yyj2595 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2595Slc = r.DecodeBytes(yys2595Slc, true, true)
		yys2595 := string(yys2595Slc)
		switch yys2595 {
		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)
				}
				yym2599 := z.DecBinary()
				_ = yym2599
				if false {
				} else {
					*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2595)
		} // end switch yys2595
	} // end for yyj2595
	if !yyhl2595 {
		r.ReadEnd()
	}
}

func (x *DeleteOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2600 int
	var yyb2600 bool
	var yyhl2600 bool = l >= 0
	yyj2600++
	if yyhl2600 {
		yyb2600 = yyj2600 > l
	} else {
		yyb2600 = r.CheckBreak()
	}
	if yyb2600 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2600++
	if yyhl2600 {
		yyb2600 = yyj2600 > l
	} else {
		yyb2600 = r.CheckBreak()
	}
	if yyb2600 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2600++
	if yyhl2600 {
		yyb2600 = yyj2600 > l
	} else {
		yyb2600 = r.CheckBreak()
	}
	if yyb2600 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.GracePeriodSeconds != nil {
			x.GracePeriodSeconds = nil
		}
	} else {
		if x.GracePeriodSeconds == nil {
			x.GracePeriodSeconds = new(int64)
		}
		yym2604 := z.DecBinary()
		_ = yym2604
		if false {
		} else {
			*((*int64)(x.GracePeriodSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2600++
		if yyhl2600 {
			yyb2600 = yyj2600 > l
		} else {
			yyb2600 = r.CheckBreak()
		}
		if yyb2600 {
			break
		}
		z.DecStructFieldNotFound(yyj2600-1, "")
	}
	r.ReadEnd()
}

func (x *ListOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2605 := z.EncBinary()
		_ = yym2605
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2606 := !z.EncBinary()
			yy2arr2606 := z.EncBasicHandle().StructToArray
			var yyq2606 [7]bool
			_, _, _ = yysep2606, yyq2606, yy2arr2606
			const yyr2606 bool = false
			yyq2606[0] = x.Kind != ""
			yyq2606[1] = x.APIVersion != ""
			if yyr2606 || yy2arr2606 {
				r.EncodeArrayStart(7)
			} else {
				var yynn2606 int = 5
				for _, b := range yyq2606 {
					if b {
						yynn2606++
					}
				}
				r.EncodeMapStart(yynn2606)
			}
			if yyr2606 || yy2arr2606 {
				if yyq2606[0] {
					yym2608 := z.EncBinary()
					_ = yym2608
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2606[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2609 := z.EncBinary()
					_ = yym2609
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2606 || yy2arr2606 {
				if yyq2606[1] {
					yym2611 := z.EncBinary()
					_ = yym2611
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2606[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2612 := z.EncBinary()
					_ = yym2612
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2606 || yy2arr2606 {
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym2614 := z.EncBinary()
					_ = yym2614
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("LabelSelector"))
				if x.LabelSelector == nil {
					r.EncodeNil()
				} else {
					yym2615 := z.EncBinary()
					_ = yym2615
					if false {
					} else if z.HasExtensions() && z.EncExt(x.LabelSelector) {
					} else {
						z.EncFallback(x.LabelSelector)
					}
				}
			}
			if yyr2606 || yy2arr2606 {
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym2617 := z.EncBinary()
					_ = yym2617
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("FieldSelector"))
				if x.FieldSelector == nil {
					r.EncodeNil()
				} else {
					yym2618 := z.EncBinary()
					_ = yym2618
					if false {
					} else if z.HasExtensions() && z.EncExt(x.FieldSelector) {
					} else {
						z.EncFallback(x.FieldSelector)
					}
				}
			}
			if yyr2606 || yy2arr2606 {
				yym2620 := z.EncBinary()
				_ = yym2620
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Watch"))
				yym2621 := z.EncBinary()
				_ = yym2621
				if false {
				} else {
					r.EncodeBool(bool(x.Watch))
				}
			}
			if yyr2606 || yy2arr2606 {
				yym2623 := z.EncBinary()
				_ = yym2623
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("ResourceVersion"))
				yym2624 := z.EncBinary()
				_ = yym2624
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
				}
			}
			if yyr2606 || yy2arr2606 {
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy2626 := *x.TimeoutSeconds
					yym2627 := z.EncBinary()
					_ = yym2627
					if false {
					} else {
						r.EncodeInt(int64(yy2626))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("TimeoutSeconds"))
				if x.TimeoutSeconds == nil {
					r.EncodeNil()
				} else {
					yy2628 := *x.TimeoutSeconds
					yym2629 := z.EncBinary()
					_ = yym2629
					if false {
					} else {
						r.EncodeInt(int64(yy2628))
					}
				}
			}
			if yysep2606 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ListOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2630 := z.DecBinary()
	_ = yym2630
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2631 := r.ReadMapStart()
			if yyl2631 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2631, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2631 := r.ReadArrayStart()
			if yyl2631 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2631, 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 yys2632Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2632Slc
	var yyhl2632 bool = l >= 0
	for yyj2632 := 0; ; yyj2632++ {
		if yyhl2632 {
			if yyj2632 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2632Slc = r.DecodeBytes(yys2632Slc, true, true)
		yys2632 := string(yys2632Slc)
		switch yys2632 {
		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 {
				yyv2635 := &x.LabelSelector
				yym2636 := z.DecBinary()
				_ = yym2636
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2635) {
				} else {
					z.DecFallback(yyv2635, true)
				}
			}
		case "FieldSelector":
			if r.TryDecodeAsNil() {
				x.FieldSelector = nil
			} else {
				yyv2637 := &x.FieldSelector
				yym2638 := z.DecBinary()
				_ = yym2638
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2637) {
				} else {
					z.DecFallback(yyv2637, 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)
				}
				yym2642 := z.DecBinary()
				_ = yym2642
				if false {
				} else {
					*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2632)
		} // end switch yys2632
	} // end for yyj2632
	if !yyhl2632 {
		r.ReadEnd()
	}
}

func (x *ListOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2643 int
	var yyb2643 bool
	var yyhl2643 bool = l >= 0
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LabelSelector = nil
	} else {
		yyv2646 := &x.LabelSelector
		yym2647 := z.DecBinary()
		_ = yym2647
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2646) {
		} else {
			z.DecFallback(yyv2646, true)
		}
	}
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FieldSelector = nil
	} else {
		yyv2648 := &x.FieldSelector
		yym2649 := z.DecBinary()
		_ = yym2649
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2648) {
		} else {
			z.DecFallback(yyv2648, true)
		}
	}
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Watch = false
	} else {
		x.Watch = bool(r.DecodeBool())
	}
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ResourceVersion = ""
	} else {
		x.ResourceVersion = string(r.DecodeString())
	}
	yyj2643++
	if yyhl2643 {
		yyb2643 = yyj2643 > l
	} else {
		yyb2643 = r.CheckBreak()
	}
	if yyb2643 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TimeoutSeconds != nil {
			x.TimeoutSeconds = nil
		}
	} else {
		if x.TimeoutSeconds == nil {
			x.TimeoutSeconds = new(int64)
		}
		yym2653 := z.DecBinary()
		_ = yym2653
		if false {
		} else {
			*((*int64)(x.TimeoutSeconds)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2643++
		if yyhl2643 {
			yyb2643 = yyj2643 > l
		} else {
			yyb2643 = r.CheckBreak()
		}
		if yyb2643 {
			break
		}
		z.DecStructFieldNotFound(yyj2643-1, "")
	}
	r.ReadEnd()
}

func (x *PodLogOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2654 := z.EncBinary()
		_ = yym2654
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2655 := !z.EncBinary()
			yy2arr2655 := z.EncBasicHandle().StructToArray
			var yyq2655 [10]bool
			_, _, _ = yysep2655, yyq2655, yy2arr2655
			const yyr2655 bool = false
			yyq2655[0] = x.Kind != ""
			yyq2655[1] = x.APIVersion != ""
			if yyr2655 || yy2arr2655 {
				r.EncodeArrayStart(10)
			} else {
				var yynn2655 int = 8
				for _, b := range yyq2655 {
					if b {
						yynn2655++
					}
				}
				r.EncodeMapStart(yynn2655)
			}
			if yyr2655 || yy2arr2655 {
				if yyq2655[0] {
					yym2657 := z.EncBinary()
					_ = yym2657
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2655[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2658 := z.EncBinary()
					_ = yym2658
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2655 || yy2arr2655 {
				if yyq2655[1] {
					yym2660 := z.EncBinary()
					_ = yym2660
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2655[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2661 := z.EncBinary()
					_ = yym2661
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2655 || yy2arr2655 {
				yym2663 := z.EncBinary()
				_ = yym2663
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Container"))
				yym2664 := z.EncBinary()
				_ = yym2664
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr2655 || yy2arr2655 {
				yym2666 := z.EncBinary()
				_ = yym2666
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Follow"))
				yym2667 := z.EncBinary()
				_ = yym2667
				if false {
				} else {
					r.EncodeBool(bool(x.Follow))
				}
			}
			if yyr2655 || yy2arr2655 {
				yym2669 := z.EncBinary()
				_ = yym2669
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Previous"))
				yym2670 := z.EncBinary()
				_ = yym2670
				if false {
				} else {
					r.EncodeBool(bool(x.Previous))
				}
			}
			if yyr2655 || yy2arr2655 {
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy2672 := *x.SinceSeconds
					yym2673 := z.EncBinary()
					_ = yym2673
					if false {
					} else {
						r.EncodeInt(int64(yy2672))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("SinceSeconds"))
				if x.SinceSeconds == nil {
					r.EncodeNil()
				} else {
					yy2674 := *x.SinceSeconds
					yym2675 := z.EncBinary()
					_ = yym2675
					if false {
					} else {
						r.EncodeInt(int64(yy2674))
					}
				}
			}
			if yyr2655 || yy2arr2655 {
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym2677 := z.EncBinary()
					_ = yym2677
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym2677 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym2677 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("SinceTime"))
				if x.SinceTime == nil {
					r.EncodeNil()
				} else {
					yym2678 := z.EncBinary()
					_ = yym2678
					if false {
					} else if z.HasExtensions() && z.EncExt(x.SinceTime) {
					} else if yym2678 {
						z.EncBinaryMarshal(x.SinceTime)
					} else if !yym2678 && z.IsJSONHandle() {
						z.EncJSONMarshal(x.SinceTime)
					} else {
						z.EncFallback(x.SinceTime)
					}
				}
			}
			if yyr2655 || yy2arr2655 {
				yym2680 := z.EncBinary()
				_ = yym2680
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Timestamps"))
				yym2681 := z.EncBinary()
				_ = yym2681
				if false {
				} else {
					r.EncodeBool(bool(x.Timestamps))
				}
			}
			if yyr2655 || yy2arr2655 {
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy2683 := *x.TailLines
					yym2684 := z.EncBinary()
					_ = yym2684
					if false {
					} else {
						r.EncodeInt(int64(yy2683))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("TailLines"))
				if x.TailLines == nil {
					r.EncodeNil()
				} else {
					yy2685 := *x.TailLines
					yym2686 := z.EncBinary()
					_ = yym2686
					if false {
					} else {
						r.EncodeInt(int64(yy2685))
					}
				}
			}
			if yyr2655 || yy2arr2655 {
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy2688 := *x.LimitBytes
					yym2689 := z.EncBinary()
					_ = yym2689
					if false {
					} else {
						r.EncodeInt(int64(yy2688))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("LimitBytes"))
				if x.LimitBytes == nil {
					r.EncodeNil()
				} else {
					yy2690 := *x.LimitBytes
					yym2691 := z.EncBinary()
					_ = yym2691
					if false {
					} else {
						r.EncodeInt(int64(yy2690))
					}
				}
			}
			if yysep2655 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodLogOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2692 := z.DecBinary()
	_ = yym2692
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2693 := r.ReadMapStart()
			if yyl2693 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2693, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2693 := r.ReadArrayStart()
			if yyl2693 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2693, 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 yys2694Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2694Slc
	var yyhl2694 bool = l >= 0
	for yyj2694 := 0; ; yyj2694++ {
		if yyhl2694 {
			if yyj2694 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2694Slc = r.DecodeBytes(yys2694Slc, true, true)
		yys2694 := string(yys2694Slc)
		switch yys2694 {
		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)
				}
				yym2701 := z.DecBinary()
				_ = yym2701
				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)
				}
				yym2703 := z.DecBinary()
				_ = yym2703
				if false {
				} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
				} else if yym2703 {
					z.DecBinaryUnmarshal(x.SinceTime)
				} else if !yym2703 && 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)
				}
				yym2706 := z.DecBinary()
				_ = yym2706
				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)
				}
				yym2708 := z.DecBinary()
				_ = yym2708
				if false {
				} else {
					*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2694)
		} // end switch yys2694
	} // end for yyj2694
	if !yyhl2694 {
		r.ReadEnd()
	}
}

func (x *PodLogOptions) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2709 int
	var yyb2709 bool
	var yyhl2709 bool = l >= 0
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Container = ""
	} else {
		x.Container = string(r.DecodeString())
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Follow = false
	} else {
		x.Follow = bool(r.DecodeBool())
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Previous = false
	} else {
		x.Previous = bool(r.DecodeBool())
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SinceSeconds != nil {
			x.SinceSeconds = nil
		}
	} else {
		if x.SinceSeconds == nil {
			x.SinceSeconds = new(int64)
		}
		yym2716 := z.DecBinary()
		_ = yym2716
		if false {
		} else {
			*((*int64)(x.SinceSeconds)) = int64(r.DecodeInt(64))
		}
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SinceTime != nil {
			x.SinceTime = nil
		}
	} else {
		if x.SinceTime == nil {
			x.SinceTime = new(pkg2_unversioned.Time)
		}
		yym2718 := z.DecBinary()
		_ = yym2718
		if false {
		} else if z.HasExtensions() && z.DecExt(x.SinceTime) {
		} else if yym2718 {
			z.DecBinaryUnmarshal(x.SinceTime)
		} else if !yym2718 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(x.SinceTime)
		} else {
			z.DecFallback(x.SinceTime, false)
		}
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Timestamps = false
	} else {
		x.Timestamps = bool(r.DecodeBool())
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.TailLines != nil {
			x.TailLines = nil
		}
	} else {
		if x.TailLines == nil {
			x.TailLines = new(int64)
		}
		yym2721 := z.DecBinary()
		_ = yym2721
		if false {
		} else {
			*((*int64)(x.TailLines)) = int64(r.DecodeInt(64))
		}
	}
	yyj2709++
	if yyhl2709 {
		yyb2709 = yyj2709 > l
	} else {
		yyb2709 = r.CheckBreak()
	}
	if yyb2709 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.LimitBytes != nil {
			x.LimitBytes = nil
		}
	} else {
		if x.LimitBytes == nil {
			x.LimitBytes = new(int64)
		}
		yym2723 := z.DecBinary()
		_ = yym2723
		if false {
		} else {
			*((*int64)(x.LimitBytes)) = int64(r.DecodeInt(64))
		}
	}
	for {
		yyj2709++
		if yyhl2709 {
			yyb2709 = yyj2709 > l
		} else {
			yyb2709 = r.CheckBreak()
		}
		if yyb2709 {
			break
		}
		z.DecStructFieldNotFound(yyj2709-1, "")
	}
	r.ReadEnd()
}

func (x *PodAttachOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2724 := z.EncBinary()
		_ = yym2724
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2725 := !z.EncBinary()
			yy2arr2725 := z.EncBasicHandle().StructToArray
			var yyq2725 [7]bool
			_, _, _ = yysep2725, yyq2725, yy2arr2725
			const yyr2725 bool = false
			yyq2725[0] = x.Kind != ""
			yyq2725[1] = x.APIVersion != ""
			yyq2725[2] = x.Stdin != false
			yyq2725[3] = x.Stdout != false
			yyq2725[4] = x.Stderr != false
			yyq2725[5] = x.TTY != false
			yyq2725[6] = x.Container != ""
			if yyr2725 || yy2arr2725 {
				r.EncodeArrayStart(7)
			} else {
				var yynn2725 int = 0
				for _, b := range yyq2725 {
					if b {
						yynn2725++
					}
				}
				r.EncodeMapStart(yynn2725)
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[0] {
					yym2727 := z.EncBinary()
					_ = yym2727
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2725[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2728 := z.EncBinary()
					_ = yym2728
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[1] {
					yym2730 := z.EncBinary()
					_ = yym2730
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2725[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2731 := z.EncBinary()
					_ = yym2731
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[2] {
					yym2733 := z.EncBinary()
					_ = yym2733
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2725[2] {
					r.EncodeString(codecSelferC_UTF81234, string("stdin"))
					yym2734 := z.EncBinary()
					_ = yym2734
					if false {
					} else {
						r.EncodeBool(bool(x.Stdin))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[3] {
					yym2736 := z.EncBinary()
					_ = yym2736
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2725[3] {
					r.EncodeString(codecSelferC_UTF81234, string("stdout"))
					yym2737 := z.EncBinary()
					_ = yym2737
					if false {
					} else {
						r.EncodeBool(bool(x.Stdout))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[4] {
					yym2739 := z.EncBinary()
					_ = yym2739
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2725[4] {
					r.EncodeString(codecSelferC_UTF81234, string("stderr"))
					yym2740 := z.EncBinary()
					_ = yym2740
					if false {
					} else {
						r.EncodeBool(bool(x.Stderr))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[5] {
					yym2742 := z.EncBinary()
					_ = yym2742
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				} else {
					r.EncodeBool(false)
				}
			} else {
				if yyq2725[5] {
					r.EncodeString(codecSelferC_UTF81234, string("tty"))
					yym2743 := z.EncBinary()
					_ = yym2743
					if false {
					} else {
						r.EncodeBool(bool(x.TTY))
					}
				}
			}
			if yyr2725 || yy2arr2725 {
				if yyq2725[6] {
					yym2745 := z.EncBinary()
					_ = yym2745
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2725[6] {
					r.EncodeString(codecSelferC_UTF81234, string("container"))
					yym2746 := z.EncBinary()
					_ = yym2746
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Container))
					}
				}
			}
			if yysep2725 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodAttachOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2747 := z.DecBinary()
	_ = yym2747
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2748 := r.ReadMapStart()
			if yyl2748 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2748, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2748 := r.ReadArrayStart()
			if yyl2748 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2748, 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 yys2749Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2749Slc
	var yyhl2749 bool = l >= 0
	for yyj2749 := 0; ; yyj2749++ {
		if yyhl2749 {
			if yyj2749 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2749Slc = r.DecodeBytes(yys2749Slc, true, true)
		yys2749 := string(yys2749Slc)
		switch yys2749 {
		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, yys2749)
		} // end switch yys2749
	} // end for yyj2749
	if !yyhl2749 {
		r.ReadEnd()
	}
}

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

func (x *PodExecOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2765 := z.EncBinary()
		_ = yym2765
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2766 := !z.EncBinary()
			yy2arr2766 := z.EncBasicHandle().StructToArray
			var yyq2766 [8]bool
			_, _, _ = yysep2766, yyq2766, yy2arr2766
			const yyr2766 bool = false
			yyq2766[0] = x.Kind != ""
			yyq2766[1] = x.APIVersion != ""
			if yyr2766 || yy2arr2766 {
				r.EncodeArrayStart(8)
			} else {
				var yynn2766 int = 6
				for _, b := range yyq2766 {
					if b {
						yynn2766++
					}
				}
				r.EncodeMapStart(yynn2766)
			}
			if yyr2766 || yy2arr2766 {
				if yyq2766[0] {
					yym2768 := z.EncBinary()
					_ = yym2768
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2766[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2769 := z.EncBinary()
					_ = yym2769
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2766 || yy2arr2766 {
				if yyq2766[1] {
					yym2771 := z.EncBinary()
					_ = yym2771
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2766[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2772 := z.EncBinary()
					_ = yym2772
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2766 || yy2arr2766 {
				yym2774 := z.EncBinary()
				_ = yym2774
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Stdin"))
				yym2775 := z.EncBinary()
				_ = yym2775
				if false {
				} else {
					r.EncodeBool(bool(x.Stdin))
				}
			}
			if yyr2766 || yy2arr2766 {
				yym2777 := z.EncBinary()
				_ = yym2777
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Stdout"))
				yym2778 := z.EncBinary()
				_ = yym2778
				if false {
				} else {
					r.EncodeBool(bool(x.Stdout))
				}
			}
			if yyr2766 || yy2arr2766 {
				yym2780 := z.EncBinary()
				_ = yym2780
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Stderr"))
				yym2781 := z.EncBinary()
				_ = yym2781
				if false {
				} else {
					r.EncodeBool(bool(x.Stderr))
				}
			}
			if yyr2766 || yy2arr2766 {
				yym2783 := z.EncBinary()
				_ = yym2783
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("TTY"))
				yym2784 := z.EncBinary()
				_ = yym2784
				if false {
				} else {
					r.EncodeBool(bool(x.TTY))
				}
			}
			if yyr2766 || yy2arr2766 {
				yym2786 := z.EncBinary()
				_ = yym2786
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Container"))
				yym2787 := z.EncBinary()
				_ = yym2787
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Container))
				}
			}
			if yyr2766 || yy2arr2766 {
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2789 := z.EncBinary()
					_ = yym2789
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Command"))
				if x.Command == nil {
					r.EncodeNil()
				} else {
					yym2790 := z.EncBinary()
					_ = yym2790
					if false {
					} else {
						z.F.EncSliceStringV(x.Command, false, e)
					}
				}
			}
			if yysep2766 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodExecOptions) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2792 := r.ReadMapStart()
			if yyl2792 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2792, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2792 := r.ReadArrayStart()
			if yyl2792 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2792, 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 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
			}
		}
		yys2793Slc = r.DecodeBytes(yys2793Slc, true, true)
		yys2793 := string(yys2793Slc)
		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 "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 {
				yyv2801 := &x.Command
				yym2802 := z.DecBinary()
				_ = yym2802
				if false {
				} else {
					z.F.DecSliceStringX(yyv2801, false, d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys2793)
		} // end switch yys2793
	} // end for yyj2793
	if !yyhl2793 {
		r.ReadEnd()
	}
}

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

func (x *PodProxyOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2813 := z.EncBinary()
		_ = yym2813
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2814 := !z.EncBinary()
			yy2arr2814 := z.EncBasicHandle().StructToArray
			var yyq2814 [3]bool
			_, _, _ = yysep2814, yyq2814, yy2arr2814
			const yyr2814 bool = false
			yyq2814[0] = x.Kind != ""
			yyq2814[1] = x.APIVersion != ""
			if yyr2814 || yy2arr2814 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2814 int = 1
				for _, b := range yyq2814 {
					if b {
						yynn2814++
					}
				}
				r.EncodeMapStart(yynn2814)
			}
			if yyr2814 || yy2arr2814 {
				if yyq2814[0] {
					yym2816 := z.EncBinary()
					_ = yym2816
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2814[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2817 := z.EncBinary()
					_ = yym2817
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2814 || yy2arr2814 {
				if yyq2814[1] {
					yym2819 := z.EncBinary()
					_ = yym2819
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2814[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2820 := z.EncBinary()
					_ = yym2820
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2814 || yy2arr2814 {
				yym2822 := z.EncBinary()
				_ = yym2822
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Path"))
				yym2823 := z.EncBinary()
				_ = yym2823
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Path))
				}
			}
			if yysep2814 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *PodProxyOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2824 := z.DecBinary()
	_ = yym2824
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2825 := r.ReadMapStart()
			if yyl2825 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2825, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2825 := r.ReadArrayStart()
			if yyl2825 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2825, 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 yys2826Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2826Slc
	var yyhl2826 bool = l >= 0
	for yyj2826 := 0; ; yyj2826++ {
		if yyhl2826 {
			if yyj2826 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2826Slc = r.DecodeBytes(yys2826Slc, true, true)
		yys2826 := string(yys2826Slc)
		switch yys2826 {
		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, yys2826)
		} // end switch yys2826
	} // end for yyj2826
	if !yyhl2826 {
		r.ReadEnd()
	}
}

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

func (x *ObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2834 := z.EncBinary()
		_ = yym2834
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2835 := !z.EncBinary()
			yy2arr2835 := z.EncBasicHandle().StructToArray
			var yyq2835 [7]bool
			_, _, _ = yysep2835, yyq2835, yy2arr2835
			const yyr2835 bool = false
			yyq2835[0] = x.Kind != ""
			yyq2835[1] = x.Namespace != ""
			yyq2835[2] = x.Name != ""
			yyq2835[3] = x.UID != ""
			yyq2835[4] = x.APIVersion != ""
			yyq2835[5] = x.ResourceVersion != ""
			yyq2835[6] = x.FieldPath != ""
			if yyr2835 || yy2arr2835 {
				r.EncodeArrayStart(7)
			} else {
				var yynn2835 int = 0
				for _, b := range yyq2835 {
					if b {
						yynn2835++
					}
				}
				r.EncodeMapStart(yynn2835)
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[0] {
					yym2837 := z.EncBinary()
					_ = yym2837
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2835[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2838 := z.EncBinary()
					_ = yym2838
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[1] {
					yym2840 := z.EncBinary()
					_ = yym2840
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2835[1] {
					r.EncodeString(codecSelferC_UTF81234, string("namespace"))
					yym2841 := z.EncBinary()
					_ = yym2841
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Namespace))
					}
				}
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[2] {
					yym2843 := z.EncBinary()
					_ = yym2843
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2835[2] {
					r.EncodeString(codecSelferC_UTF81234, string("name"))
					yym2844 := z.EncBinary()
					_ = yym2844
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Name))
					}
				}
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[3] {
					yym2846 := z.EncBinary()
					_ = yym2846
					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 yyq2835[3] {
					r.EncodeString(codecSelferC_UTF81234, string("uid"))
					yym2847 := z.EncBinary()
					_ = yym2847
					if false {
					} else if z.HasExtensions() && z.EncExt(x.UID) {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.UID))
					}
				}
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[4] {
					yym2849 := z.EncBinary()
					_ = yym2849
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2835[4] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2850 := z.EncBinary()
					_ = yym2850
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[5] {
					yym2852 := z.EncBinary()
					_ = yym2852
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2835[5] {
					r.EncodeString(codecSelferC_UTF81234, string("resourceVersion"))
					yym2853 := z.EncBinary()
					_ = yym2853
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.ResourceVersion))
					}
				}
			}
			if yyr2835 || yy2arr2835 {
				if yyq2835[6] {
					yym2855 := z.EncBinary()
					_ = yym2855
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2835[6] {
					r.EncodeString(codecSelferC_UTF81234, string("fieldPath"))
					yym2856 := z.EncBinary()
					_ = yym2856
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.FieldPath))
					}
				}
			}
			if yysep2835 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ObjectReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2857 := z.DecBinary()
	_ = yym2857
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2858 := r.ReadMapStart()
			if yyl2858 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2858, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2858 := r.ReadArrayStart()
			if yyl2858 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2858, 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 yys2859Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2859Slc
	var yyhl2859 bool = l >= 0
	for yyj2859 := 0; ; yyj2859++ {
		if yyhl2859 {
			if yyj2859 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2859Slc = r.DecodeBytes(yys2859Slc, true, true)
		yys2859 := string(yys2859Slc)
		switch yys2859 {
		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, yys2859)
		} // end switch yys2859
	} // end for yyj2859
	if !yyhl2859 {
		r.ReadEnd()
	}
}

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

func (x *LocalObjectReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2875 := z.EncBinary()
		_ = yym2875
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2876 := !z.EncBinary()
			yy2arr2876 := z.EncBasicHandle().StructToArray
			var yyq2876 [1]bool
			_, _, _ = yysep2876, yyq2876, yy2arr2876
			const yyr2876 bool = false
			if yyr2876 || yy2arr2876 {
				r.EncodeArrayStart(1)
			} else {
				var yynn2876 int = 1
				for _, b := range yyq2876 {
					if b {
						yynn2876++
					}
				}
				r.EncodeMapStart(yynn2876)
			}
			if yyr2876 || yy2arr2876 {
				yym2878 := z.EncBinary()
				_ = yym2878
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("Name"))
				yym2879 := z.EncBinary()
				_ = yym2879
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Name))
				}
			}
			if yysep2876 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LocalObjectReference) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2881 := r.ReadMapStart()
			if yyl2881 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2881, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2881 := r.ReadArrayStart()
			if yyl2881 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2881, 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 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
			}
		}
		yys2882Slc = r.DecodeBytes(yys2882Slc, true, true)
		yys2882 := string(yys2882Slc)
		switch yys2882 {
		case "Name":
			if r.TryDecodeAsNil() {
				x.Name = ""
			} else {
				x.Name = string(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys2882)
		} // end switch yys2882
	} // end for yyj2882
	if !yyhl2882 {
		r.ReadEnd()
	}
}

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

func (x *SerializedReference) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2886 := z.EncBinary()
		_ = yym2886
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2887 := !z.EncBinary()
			yy2arr2887 := z.EncBasicHandle().StructToArray
			var yyq2887 [3]bool
			_, _, _ = yysep2887, yyq2887, yy2arr2887
			const yyr2887 bool = false
			yyq2887[0] = x.Kind != ""
			yyq2887[1] = x.APIVersion != ""
			yyq2887[2] = true
			if yyr2887 || yy2arr2887 {
				r.EncodeArrayStart(3)
			} else {
				var yynn2887 int = 0
				for _, b := range yyq2887 {
					if b {
						yynn2887++
					}
				}
				r.EncodeMapStart(yynn2887)
			}
			if yyr2887 || yy2arr2887 {
				if yyq2887[0] {
					yym2889 := z.EncBinary()
					_ = yym2889
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2887[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2890 := z.EncBinary()
					_ = yym2890
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2887 || yy2arr2887 {
				if yyq2887[1] {
					yym2892 := z.EncBinary()
					_ = yym2892
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2887[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2893 := z.EncBinary()
					_ = yym2893
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2887 || yy2arr2887 {
				if yyq2887[2] {
					yy2895 := &x.Reference
					yy2895.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2887[2] {
					r.EncodeString(codecSelferC_UTF81234, string("reference"))
					yy2896 := &x.Reference
					yy2896.CodecEncodeSelf(e)
				}
			}
			if yysep2887 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SerializedReference) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2897 := z.DecBinary()
	_ = yym2897
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2898 := r.ReadMapStart()
			if yyl2898 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2898, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2898 := r.ReadArrayStart()
			if yyl2898 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2898, 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 yys2899Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2899Slc
	var yyhl2899 bool = l >= 0
	for yyj2899 := 0; ; yyj2899++ {
		if yyhl2899 {
			if yyj2899 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2899Slc = r.DecodeBytes(yys2899Slc, true, true)
		yys2899 := string(yys2899Slc)
		switch yys2899 {
		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 {
				yyv2902 := &x.Reference
				yyv2902.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys2899)
		} // end switch yys2899
	} // end for yyj2899
	if !yyhl2899 {
		r.ReadEnd()
	}
}

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

func (x *EventSource) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2907 := z.EncBinary()
		_ = yym2907
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2908 := !z.EncBinary()
			yy2arr2908 := z.EncBasicHandle().StructToArray
			var yyq2908 [2]bool
			_, _, _ = yysep2908, yyq2908, yy2arr2908
			const yyr2908 bool = false
			yyq2908[0] = x.Component != ""
			yyq2908[1] = x.Host != ""
			if yyr2908 || yy2arr2908 {
				r.EncodeArrayStart(2)
			} else {
				var yynn2908 int = 0
				for _, b := range yyq2908 {
					if b {
						yynn2908++
					}
				}
				r.EncodeMapStart(yynn2908)
			}
			if yyr2908 || yy2arr2908 {
				if yyq2908[0] {
					yym2910 := z.EncBinary()
					_ = yym2910
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2908[0] {
					r.EncodeString(codecSelferC_UTF81234, string("component"))
					yym2911 := z.EncBinary()
					_ = yym2911
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Component))
					}
				}
			}
			if yyr2908 || yy2arr2908 {
				if yyq2908[1] {
					yym2913 := z.EncBinary()
					_ = yym2913
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2908[1] {
					r.EncodeString(codecSelferC_UTF81234, string("host"))
					yym2914 := z.EncBinary()
					_ = yym2914
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Host))
					}
				}
			}
			if yysep2908 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EventSource) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym2915 := z.DecBinary()
	_ = yym2915
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2916 := r.ReadMapStart()
			if yyl2916 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2916, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2916 := r.ReadArrayStart()
			if yyl2916 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2916, 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 yys2917Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys2917Slc
	var yyhl2917 bool = l >= 0
	for yyj2917 := 0; ; yyj2917++ {
		if yyhl2917 {
			if yyj2917 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys2917Slc = r.DecodeBytes(yys2917Slc, true, true)
		yys2917 := string(yys2917Slc)
		switch yys2917 {
		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, yys2917)
		} // end switch yys2917
	} // end for yyj2917
	if !yyhl2917 {
		r.ReadEnd()
	}
}

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

func (x *Event) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2923 := z.EncBinary()
		_ = yym2923
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2924 := !z.EncBinary()
			yy2arr2924 := z.EncBasicHandle().StructToArray
			var yyq2924 [10]bool
			_, _, _ = yysep2924, yyq2924, yy2arr2924
			const yyr2924 bool = false
			yyq2924[0] = x.Kind != ""
			yyq2924[1] = x.APIVersion != ""
			yyq2924[2] = true
			yyq2924[3] = true
			yyq2924[4] = x.Reason != ""
			yyq2924[5] = x.Message != ""
			yyq2924[6] = true
			yyq2924[7] = true
			yyq2924[8] = true
			yyq2924[9] = x.Count != 0
			if yyr2924 || yy2arr2924 {
				r.EncodeArrayStart(10)
			} else {
				var yynn2924 int = 0
				for _, b := range yyq2924 {
					if b {
						yynn2924++
					}
				}
				r.EncodeMapStart(yynn2924)
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[0] {
					yym2926 := z.EncBinary()
					_ = yym2926
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2924[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2927 := z.EncBinary()
					_ = yym2927
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[1] {
					yym2929 := z.EncBinary()
					_ = yym2929
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2924[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2930 := z.EncBinary()
					_ = yym2930
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[2] {
					yy2932 := &x.ObjectMeta
					yy2932.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2924[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2933 := &x.ObjectMeta
					yy2933.CodecEncodeSelf(e)
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[3] {
					yy2935 := &x.InvolvedObject
					yy2935.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2924[3] {
					r.EncodeString(codecSelferC_UTF81234, string("involvedObject"))
					yy2936 := &x.InvolvedObject
					yy2936.CodecEncodeSelf(e)
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[4] {
					yym2938 := z.EncBinary()
					_ = yym2938
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2924[4] {
					r.EncodeString(codecSelferC_UTF81234, string("reason"))
					yym2939 := z.EncBinary()
					_ = yym2939
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Reason))
					}
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[5] {
					yym2941 := z.EncBinary()
					_ = yym2941
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2924[5] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym2942 := z.EncBinary()
					_ = yym2942
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[6] {
					yy2944 := &x.Source
					yy2944.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2924[6] {
					r.EncodeString(codecSelferC_UTF81234, string("source"))
					yy2945 := &x.Source
					yy2945.CodecEncodeSelf(e)
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[7] {
					yy2947 := &x.FirstTimestamp
					yym2948 := z.EncBinary()
					_ = yym2948
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2947) {
					} else if yym2948 {
						z.EncBinaryMarshal(yy2947)
					} else if !yym2948 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2947)
					} else {
						z.EncFallback(yy2947)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2924[7] {
					r.EncodeString(codecSelferC_UTF81234, string("firstTimestamp"))
					yy2949 := &x.FirstTimestamp
					yym2950 := z.EncBinary()
					_ = yym2950
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2949) {
					} else if yym2950 {
						z.EncBinaryMarshal(yy2949)
					} else if !yym2950 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2949)
					} else {
						z.EncFallback(yy2949)
					}
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[8] {
					yy2952 := &x.LastTimestamp
					yym2953 := z.EncBinary()
					_ = yym2953
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2952) {
					} else if yym2953 {
						z.EncBinaryMarshal(yy2952)
					} else if !yym2953 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2952)
					} else {
						z.EncFallback(yy2952)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2924[8] {
					r.EncodeString(codecSelferC_UTF81234, string("lastTimestamp"))
					yy2954 := &x.LastTimestamp
					yym2955 := z.EncBinary()
					_ = yym2955
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2954) {
					} else if yym2955 {
						z.EncBinaryMarshal(yy2954)
					} else if !yym2955 && z.IsJSONHandle() {
						z.EncJSONMarshal(yy2954)
					} else {
						z.EncFallback(yy2954)
					}
				}
			}
			if yyr2924 || yy2arr2924 {
				if yyq2924[9] {
					yym2957 := z.EncBinary()
					_ = yym2957
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				} else {
					r.EncodeInt(0)
				}
			} else {
				if yyq2924[9] {
					r.EncodeString(codecSelferC_UTF81234, string("count"))
					yym2958 := z.EncBinary()
					_ = yym2958
					if false {
					} else {
						r.EncodeInt(int64(x.Count))
					}
				}
			}
			if yysep2924 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Event) 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 {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl2960 := r.ReadMapStart()
			if yyl2960 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl2960, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl2960 := r.ReadArrayStart()
			if yyl2960 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl2960, 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 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
			}
		}
		yys2961Slc = r.DecodeBytes(yys2961Slc, true, true)
		yys2961 := string(yys2961Slc)
		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.ObjectMeta = ObjectMeta{}
			} else {
				yyv2964 := &x.ObjectMeta
				yyv2964.CodecDecodeSelf(d)
			}
		case "involvedObject":
			if r.TryDecodeAsNil() {
				x.InvolvedObject = ObjectReference{}
			} else {
				yyv2965 := &x.InvolvedObject
				yyv2965.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 {
				yyv2968 := &x.Source
				yyv2968.CodecDecodeSelf(d)
			}
		case "firstTimestamp":
			if r.TryDecodeAsNil() {
				x.FirstTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv2969 := &x.FirstTimestamp
				yym2970 := z.DecBinary()
				_ = yym2970
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2969) {
				} else if yym2970 {
					z.DecBinaryUnmarshal(yyv2969)
				} else if !yym2970 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2969)
				} else {
					z.DecFallback(yyv2969, false)
				}
			}
		case "lastTimestamp":
			if r.TryDecodeAsNil() {
				x.LastTimestamp = pkg2_unversioned.Time{}
			} else {
				yyv2971 := &x.LastTimestamp
				yym2972 := z.DecBinary()
				_ = yym2972
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv2971) {
				} else if yym2972 {
					z.DecBinaryUnmarshal(yyv2971)
				} else if !yym2972 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv2971)
				} else {
					z.DecFallback(yyv2971, false)
				}
			}
		case "count":
			if r.TryDecodeAsNil() {
				x.Count = 0
			} else {
				x.Count = int(r.DecodeInt(codecSelferBitsize1234))
			}
		default:
			z.DecStructFieldNotFound(-1, yys2961)
		} // end switch yys2961
	} // end for yyj2961
	if !yyhl2961 {
		r.ReadEnd()
	}
}

func (x *Event) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj2974 int
	var yyb2974 bool
	var yyhl2974 bool = l >= 0
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv2977 := &x.ObjectMeta
		yyv2977.CodecDecodeSelf(d)
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.InvolvedObject = ObjectReference{}
	} else {
		yyv2978 := &x.InvolvedObject
		yyv2978.CodecDecodeSelf(d)
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Reason = ""
	} else {
		x.Reason = string(r.DecodeString())
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Message = ""
	} else {
		x.Message = string(r.DecodeString())
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Source = EventSource{}
	} else {
		yyv2981 := &x.Source
		yyv2981.CodecDecodeSelf(d)
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.FirstTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv2982 := &x.FirstTimestamp
		yym2983 := z.DecBinary()
		_ = yym2983
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2982) {
		} else if yym2983 {
			z.DecBinaryUnmarshal(yyv2982)
		} else if !yym2983 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2982)
		} else {
			z.DecFallback(yyv2982, false)
		}
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.LastTimestamp = pkg2_unversioned.Time{}
	} else {
		yyv2984 := &x.LastTimestamp
		yym2985 := z.DecBinary()
		_ = yym2985
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv2984) {
		} else if yym2985 {
			z.DecBinaryUnmarshal(yyv2984)
		} else if !yym2985 && z.IsJSONHandle() {
			z.DecJSONUnmarshal(yyv2984)
		} else {
			z.DecFallback(yyv2984, false)
		}
	}
	yyj2974++
	if yyhl2974 {
		yyb2974 = yyj2974 > l
	} else {
		yyb2974 = r.CheckBreak()
	}
	if yyb2974 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Count = 0
	} else {
		x.Count = int(r.DecodeInt(codecSelferBitsize1234))
	}
	for {
		yyj2974++
		if yyhl2974 {
			yyb2974 = yyj2974 > l
		} else {
			yyb2974 = r.CheckBreak()
		}
		if yyb2974 {
			break
		}
		z.DecStructFieldNotFound(yyj2974-1, "")
	}
	r.ReadEnd()
}

func (x *EventList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym2987 := z.EncBinary()
		_ = yym2987
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep2988 := !z.EncBinary()
			yy2arr2988 := z.EncBasicHandle().StructToArray
			var yyq2988 [4]bool
			_, _, _ = yysep2988, yyq2988, yy2arr2988
			const yyr2988 bool = false
			yyq2988[0] = x.Kind != ""
			yyq2988[1] = x.APIVersion != ""
			yyq2988[2] = true
			if yyr2988 || yy2arr2988 {
				r.EncodeArrayStart(4)
			} else {
				var yynn2988 int = 1
				for _, b := range yyq2988 {
					if b {
						yynn2988++
					}
				}
				r.EncodeMapStart(yynn2988)
			}
			if yyr2988 || yy2arr2988 {
				if yyq2988[0] {
					yym2990 := z.EncBinary()
					_ = yym2990
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2988[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym2991 := z.EncBinary()
					_ = yym2991
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr2988 || yy2arr2988 {
				if yyq2988[1] {
					yym2993 := z.EncBinary()
					_ = yym2993
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq2988[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym2994 := z.EncBinary()
					_ = yym2994
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr2988 || yy2arr2988 {
				if yyq2988[2] {
					yy2996 := &x.ListMeta
					yym2997 := z.EncBinary()
					_ = yym2997
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2996) {
					} else {
						z.EncFallback(yy2996)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq2988[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy2998 := &x.ListMeta
					yym2999 := z.EncBinary()
					_ = yym2999
					if false {
					} else if z.HasExtensions() && z.EncExt(yy2998) {
					} else {
						z.EncFallback(yy2998)
					}
				}
			}
			if yyr2988 || yy2arr2988 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3001 := z.EncBinary()
					_ = yym3001
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3002 := z.EncBinary()
					_ = yym3002
					if false {
					} else {
						h.encSliceEvent(([]Event)(x.Items), e)
					}
				}
			}
			if yysep2988 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *EventList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3003 := z.DecBinary()
	_ = yym3003
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3004 := r.ReadMapStart()
			if yyl3004 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3004, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3004 := r.ReadArrayStart()
			if yyl3004 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3004, 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 yys3005Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3005Slc
	var yyhl3005 bool = l >= 0
	for yyj3005 := 0; ; yyj3005++ {
		if yyhl3005 {
			if yyj3005 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3005Slc = r.DecodeBytes(yys3005Slc, true, true)
		yys3005 := string(yys3005Slc)
		switch yys3005 {
		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 {
				yyv3008 := &x.ListMeta
				yym3009 := z.DecBinary()
				_ = yym3009
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3008) {
				} else {
					z.DecFallback(yyv3008, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3010 := &x.Items
				yym3011 := z.DecBinary()
				_ = yym3011
				if false {
				} else {
					h.decSliceEvent((*[]Event)(yyv3010), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3005)
		} // end switch yys3005
	} // end for yyj3005
	if !yyhl3005 {
		r.ReadEnd()
	}
}

func (x *EventList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3012 int
	var yyb3012 bool
	var yyhl3012 bool = l >= 0
	yyj3012++
	if yyhl3012 {
		yyb3012 = yyj3012 > l
	} else {
		yyb3012 = r.CheckBreak()
	}
	if yyb3012 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3012++
	if yyhl3012 {
		yyb3012 = yyj3012 > l
	} else {
		yyb3012 = r.CheckBreak()
	}
	if yyb3012 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3012++
	if yyhl3012 {
		yyb3012 = yyj3012 > l
	} else {
		yyb3012 = r.CheckBreak()
	}
	if yyb3012 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3015 := &x.ListMeta
		yym3016 := z.DecBinary()
		_ = yym3016
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3015) {
		} else {
			z.DecFallback(yyv3015, false)
		}
	}
	yyj3012++
	if yyhl3012 {
		yyb3012 = yyj3012 > l
	} else {
		yyb3012 = r.CheckBreak()
	}
	if yyb3012 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3017 := &x.Items
		yym3018 := z.DecBinary()
		_ = yym3018
		if false {
		} else {
			h.decSliceEvent((*[]Event)(yyv3017), d)
		}
	}
	for {
		yyj3012++
		if yyhl3012 {
			yyb3012 = yyj3012 > l
		} else {
			yyb3012 = r.CheckBreak()
		}
		if yyb3012 {
			break
		}
		z.DecStructFieldNotFound(yyj3012-1, "")
	}
	r.ReadEnd()
}

func (x *List) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3019 := z.EncBinary()
		_ = yym3019
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3020 := !z.EncBinary()
			yy2arr3020 := z.EncBasicHandle().StructToArray
			var yyq3020 [4]bool
			_, _, _ = yysep3020, yyq3020, yy2arr3020
			const yyr3020 bool = false
			yyq3020[0] = x.Kind != ""
			yyq3020[1] = x.APIVersion != ""
			yyq3020[2] = true
			if yyr3020 || yy2arr3020 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3020 int = 1
				for _, b := range yyq3020 {
					if b {
						yynn3020++
					}
				}
				r.EncodeMapStart(yynn3020)
			}
			if yyr3020 || yy2arr3020 {
				if yyq3020[0] {
					yym3022 := z.EncBinary()
					_ = yym3022
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3020[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3023 := z.EncBinary()
					_ = yym3023
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3020 || yy2arr3020 {
				if yyq3020[1] {
					yym3025 := z.EncBinary()
					_ = yym3025
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3020[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3026 := z.EncBinary()
					_ = yym3026
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3020 || yy2arr3020 {
				if yyq3020[2] {
					yy3028 := &x.ListMeta
					yym3029 := z.EncBinary()
					_ = yym3029
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3028) {
					} else {
						z.EncFallback(yy3028)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3020[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3030 := &x.ListMeta
					yym3031 := z.EncBinary()
					_ = yym3031
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3030) {
					} else {
						z.EncFallback(yy3030)
					}
				}
			}
			if yyr3020 || yy2arr3020 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3033 := z.EncBinary()
					_ = yym3033
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg8_runtime.Object)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3034 := z.EncBinary()
					_ = yym3034
					if false {
					} else {
						h.encSliceruntime_Object(([]pkg8_runtime.Object)(x.Items), e)
					}
				}
			}
			if yysep3020 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *List) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3035 := z.DecBinary()
	_ = yym3035
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3036 := r.ReadMapStart()
			if yyl3036 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3036, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3036 := r.ReadArrayStart()
			if yyl3036 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3036, 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 yys3037Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3037Slc
	var yyhl3037 bool = l >= 0
	for yyj3037 := 0; ; yyj3037++ {
		if yyhl3037 {
			if yyj3037 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3037Slc = r.DecodeBytes(yys3037Slc, true, true)
		yys3037 := string(yys3037Slc)
		switch yys3037 {
		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 {
				yyv3040 := &x.ListMeta
				yym3041 := z.DecBinary()
				_ = yym3041
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3040) {
				} else {
					z.DecFallback(yyv3040, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3042 := &x.Items
				yym3043 := z.DecBinary()
				_ = yym3043
				if false {
				} else {
					h.decSliceruntime_Object((*[]pkg8_runtime.Object)(yyv3042), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3037)
		} // end switch yys3037
	} // end for yyj3037
	if !yyhl3037 {
		r.ReadEnd()
	}
}

func (x *List) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3044 int
	var yyb3044 bool
	var yyhl3044 bool = l >= 0
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3047 := &x.ListMeta
		yym3048 := z.DecBinary()
		_ = yym3048
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3047) {
		} else {
			z.DecFallback(yyv3047, false)
		}
	}
	yyj3044++
	if yyhl3044 {
		yyb3044 = yyj3044 > l
	} else {
		yyb3044 = r.CheckBreak()
	}
	if yyb3044 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3049 := &x.Items
		yym3050 := z.DecBinary()
		_ = yym3050
		if false {
		} else {
			h.decSliceruntime_Object((*[]pkg8_runtime.Object)(yyv3049), d)
		}
	}
	for {
		yyj3044++
		if yyhl3044 {
			yyb3044 = yyj3044 > l
		} else {
			yyb3044 = r.CheckBreak()
		}
		if yyb3044 {
			break
		}
		z.DecStructFieldNotFound(yyj3044-1, "")
	}
	r.ReadEnd()
}

func (x LimitType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3051 := z.EncBinary()
	_ = yym3051
	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
	yym3052 := z.DecBinary()
	_ = yym3052
	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 {
		yym3053 := z.EncBinary()
		_ = yym3053
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3054 := !z.EncBinary()
			yy2arr3054 := z.EncBasicHandle().StructToArray
			var yyq3054 [6]bool
			_, _, _ = yysep3054, yyq3054, yy2arr3054
			const yyr3054 bool = false
			yyq3054[0] = x.Type != ""
			yyq3054[1] = len(x.Max) != 0
			yyq3054[2] = len(x.Min) != 0
			yyq3054[3] = len(x.Default) != 0
			yyq3054[4] = len(x.DefaultRequest) != 0
			yyq3054[5] = len(x.MaxLimitRequestRatio) != 0
			if yyr3054 || yy2arr3054 {
				r.EncodeArrayStart(6)
			} else {
				var yynn3054 int = 0
				for _, b := range yyq3054 {
					if b {
						yynn3054++
					}
				}
				r.EncodeMapStart(yynn3054)
			}
			if yyr3054 || yy2arr3054 {
				if yyq3054[0] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3054[0] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yyr3054 || yy2arr3054 {
				if yyq3054[1] {
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3054[1] {
					r.EncodeString(codecSelferC_UTF81234, string("max"))
					if x.Max == nil {
						r.EncodeNil()
					} else {
						x.Max.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3054 || yy2arr3054 {
				if yyq3054[2] {
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3054[2] {
					r.EncodeString(codecSelferC_UTF81234, string("min"))
					if x.Min == nil {
						r.EncodeNil()
					} else {
						x.Min.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3054 || yy2arr3054 {
				if yyq3054[3] {
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3054[3] {
					r.EncodeString(codecSelferC_UTF81234, string("default"))
					if x.Default == nil {
						r.EncodeNil()
					} else {
						x.Default.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3054 || yy2arr3054 {
				if yyq3054[4] {
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3054[4] {
					r.EncodeString(codecSelferC_UTF81234, string("defaultRequest"))
					if x.DefaultRequest == nil {
						r.EncodeNil()
					} else {
						x.DefaultRequest.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3054 || yy2arr3054 {
				if yyq3054[5] {
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3054[5] {
					r.EncodeString(codecSelferC_UTF81234, string("maxLimitRequestRatio"))
					if x.MaxLimitRequestRatio == nil {
						r.EncodeNil()
					} else {
						x.MaxLimitRequestRatio.CodecEncodeSelf(e)
					}
				}
			}
			if yysep3054 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRangeItem) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3061 := z.DecBinary()
	_ = yym3061
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3062 := r.ReadMapStart()
			if yyl3062 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3062, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3062 := r.ReadArrayStart()
			if yyl3062 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3062, 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 yys3063Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3063Slc
	var yyhl3063 bool = l >= 0
	for yyj3063 := 0; ; yyj3063++ {
		if yyhl3063 {
			if yyj3063 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3063Slc = r.DecodeBytes(yys3063Slc, true, true)
		yys3063 := string(yys3063Slc)
		switch yys3063 {
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = LimitType(r.DecodeString())
			}
		case "max":
			if r.TryDecodeAsNil() {
				x.Max = nil
			} else {
				yyv3065 := &x.Max
				yyv3065.CodecDecodeSelf(d)
			}
		case "min":
			if r.TryDecodeAsNil() {
				x.Min = nil
			} else {
				yyv3066 := &x.Min
				yyv3066.CodecDecodeSelf(d)
			}
		case "default":
			if r.TryDecodeAsNil() {
				x.Default = nil
			} else {
				yyv3067 := &x.Default
				yyv3067.CodecDecodeSelf(d)
			}
		case "defaultRequest":
			if r.TryDecodeAsNil() {
				x.DefaultRequest = nil
			} else {
				yyv3068 := &x.DefaultRequest
				yyv3068.CodecDecodeSelf(d)
			}
		case "maxLimitRequestRatio":
			if r.TryDecodeAsNil() {
				x.MaxLimitRequestRatio = nil
			} else {
				yyv3069 := &x.MaxLimitRequestRatio
				yyv3069.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3063)
		} // end switch yys3063
	} // end for yyj3063
	if !yyhl3063 {
		r.ReadEnd()
	}
}

func (x *LimitRangeItem) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3070 int
	var yyb3070 bool
	var yyhl3070 bool = l >= 0
	yyj3070++
	if yyhl3070 {
		yyb3070 = yyj3070 > l
	} else {
		yyb3070 = r.CheckBreak()
	}
	if yyb3070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = LimitType(r.DecodeString())
	}
	yyj3070++
	if yyhl3070 {
		yyb3070 = yyj3070 > l
	} else {
		yyb3070 = r.CheckBreak()
	}
	if yyb3070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Max = nil
	} else {
		yyv3072 := &x.Max
		yyv3072.CodecDecodeSelf(d)
	}
	yyj3070++
	if yyhl3070 {
		yyb3070 = yyj3070 > l
	} else {
		yyb3070 = r.CheckBreak()
	}
	if yyb3070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Min = nil
	} else {
		yyv3073 := &x.Min
		yyv3073.CodecDecodeSelf(d)
	}
	yyj3070++
	if yyhl3070 {
		yyb3070 = yyj3070 > l
	} else {
		yyb3070 = r.CheckBreak()
	}
	if yyb3070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Default = nil
	} else {
		yyv3074 := &x.Default
		yyv3074.CodecDecodeSelf(d)
	}
	yyj3070++
	if yyhl3070 {
		yyb3070 = yyj3070 > l
	} else {
		yyb3070 = r.CheckBreak()
	}
	if yyb3070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.DefaultRequest = nil
	} else {
		yyv3075 := &x.DefaultRequest
		yyv3075.CodecDecodeSelf(d)
	}
	yyj3070++
	if yyhl3070 {
		yyb3070 = yyj3070 > l
	} else {
		yyb3070 = r.CheckBreak()
	}
	if yyb3070 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.MaxLimitRequestRatio = nil
	} else {
		yyv3076 := &x.MaxLimitRequestRatio
		yyv3076.CodecDecodeSelf(d)
	}
	for {
		yyj3070++
		if yyhl3070 {
			yyb3070 = yyj3070 > l
		} else {
			yyb3070 = r.CheckBreak()
		}
		if yyb3070 {
			break
		}
		z.DecStructFieldNotFound(yyj3070-1, "")
	}
	r.ReadEnd()
}

func (x *LimitRangeSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3077 := z.EncBinary()
		_ = yym3077
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3078 := !z.EncBinary()
			yy2arr3078 := z.EncBasicHandle().StructToArray
			var yyq3078 [1]bool
			_, _, _ = yysep3078, yyq3078, yy2arr3078
			const yyr3078 bool = false
			if yyr3078 || yy2arr3078 {
				r.EncodeArrayStart(1)
			} else {
				var yynn3078 int = 1
				for _, b := range yyq3078 {
					if b {
						yynn3078++
					}
				}
				r.EncodeMapStart(yynn3078)
			}
			if yyr3078 || yy2arr3078 {
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3080 := z.EncBinary()
					_ = yym3080
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("limits"))
				if x.Limits == nil {
					r.EncodeNil()
				} else {
					yym3081 := z.EncBinary()
					_ = yym3081
					if false {
					} else {
						h.encSliceLimitRangeItem(([]LimitRangeItem)(x.Limits), e)
					}
				}
			}
			if yysep3078 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRangeSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3082 := z.DecBinary()
	_ = yym3082
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3083 := r.ReadMapStart()
			if yyl3083 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3083, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3083 := r.ReadArrayStart()
			if yyl3083 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3083, 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 yys3084Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3084Slc
	var yyhl3084 bool = l >= 0
	for yyj3084 := 0; ; yyj3084++ {
		if yyhl3084 {
			if yyj3084 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3084Slc = r.DecodeBytes(yys3084Slc, true, true)
		yys3084 := string(yys3084Slc)
		switch yys3084 {
		case "limits":
			if r.TryDecodeAsNil() {
				x.Limits = nil
			} else {
				yyv3085 := &x.Limits
				yym3086 := z.DecBinary()
				_ = yym3086
				if false {
				} else {
					h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3085), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3084)
		} // end switch yys3084
	} // end for yyj3084
	if !yyhl3084 {
		r.ReadEnd()
	}
}

func (x *LimitRangeSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3087 int
	var yyb3087 bool
	var yyhl3087 bool = l >= 0
	yyj3087++
	if yyhl3087 {
		yyb3087 = yyj3087 > l
	} else {
		yyb3087 = r.CheckBreak()
	}
	if yyb3087 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Limits = nil
	} else {
		yyv3088 := &x.Limits
		yym3089 := z.DecBinary()
		_ = yym3089
		if false {
		} else {
			h.decSliceLimitRangeItem((*[]LimitRangeItem)(yyv3088), d)
		}
	}
	for {
		yyj3087++
		if yyhl3087 {
			yyb3087 = yyj3087 > l
		} else {
			yyb3087 = r.CheckBreak()
		}
		if yyb3087 {
			break
		}
		z.DecStructFieldNotFound(yyj3087-1, "")
	}
	r.ReadEnd()
}

func (x *LimitRange) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3090 := z.EncBinary()
		_ = yym3090
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3091 := !z.EncBinary()
			yy2arr3091 := z.EncBasicHandle().StructToArray
			var yyq3091 [4]bool
			_, _, _ = yysep3091, yyq3091, yy2arr3091
			const yyr3091 bool = false
			yyq3091[0] = x.Kind != ""
			yyq3091[1] = x.APIVersion != ""
			yyq3091[2] = true
			yyq3091[3] = true
			if yyr3091 || yy2arr3091 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3091 int = 0
				for _, b := range yyq3091 {
					if b {
						yynn3091++
					}
				}
				r.EncodeMapStart(yynn3091)
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[0] {
					yym3093 := z.EncBinary()
					_ = yym3093
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3091[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3094 := z.EncBinary()
					_ = yym3094
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[1] {
					yym3096 := z.EncBinary()
					_ = yym3096
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3091[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3097 := z.EncBinary()
					_ = yym3097
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[2] {
					yy3099 := &x.ObjectMeta
					yy3099.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3091[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3100 := &x.ObjectMeta
					yy3100.CodecEncodeSelf(e)
				}
			}
			if yyr3091 || yy2arr3091 {
				if yyq3091[3] {
					yy3102 := &x.Spec
					yy3102.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3091[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy3103 := &x.Spec
					yy3103.CodecEncodeSelf(e)
				}
			}
			if yysep3091 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRange) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3104 := z.DecBinary()
	_ = yym3104
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3105 := r.ReadMapStart()
			if yyl3105 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3105, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3105 := r.ReadArrayStart()
			if yyl3105 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3105, 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 yys3106Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3106Slc
	var yyhl3106 bool = l >= 0
	for yyj3106 := 0; ; yyj3106++ {
		if yyhl3106 {
			if yyj3106 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3106Slc = r.DecodeBytes(yys3106Slc, true, true)
		yys3106 := string(yys3106Slc)
		switch yys3106 {
		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 {
				yyv3109 := &x.ObjectMeta
				yyv3109.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = LimitRangeSpec{}
			} else {
				yyv3110 := &x.Spec
				yyv3110.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3106)
		} // end switch yys3106
	} // end for yyj3106
	if !yyhl3106 {
		r.ReadEnd()
	}
}

func (x *LimitRange) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3111 int
	var yyb3111 bool
	var yyhl3111 bool = l >= 0
	yyj3111++
	if yyhl3111 {
		yyb3111 = yyj3111 > l
	} else {
		yyb3111 = r.CheckBreak()
	}
	if yyb3111 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3111++
	if yyhl3111 {
		yyb3111 = yyj3111 > l
	} else {
		yyb3111 = r.CheckBreak()
	}
	if yyb3111 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3111++
	if yyhl3111 {
		yyb3111 = yyj3111 > l
	} else {
		yyb3111 = r.CheckBreak()
	}
	if yyb3111 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3114 := &x.ObjectMeta
		yyv3114.CodecDecodeSelf(d)
	}
	yyj3111++
	if yyhl3111 {
		yyb3111 = yyj3111 > l
	} else {
		yyb3111 = r.CheckBreak()
	}
	if yyb3111 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = LimitRangeSpec{}
	} else {
		yyv3115 := &x.Spec
		yyv3115.CodecDecodeSelf(d)
	}
	for {
		yyj3111++
		if yyhl3111 {
			yyb3111 = yyj3111 > l
		} else {
			yyb3111 = r.CheckBreak()
		}
		if yyb3111 {
			break
		}
		z.DecStructFieldNotFound(yyj3111-1, "")
	}
	r.ReadEnd()
}

func (x *LimitRangeList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3116 := z.EncBinary()
		_ = yym3116
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3117 := !z.EncBinary()
			yy2arr3117 := z.EncBasicHandle().StructToArray
			var yyq3117 [4]bool
			_, _, _ = yysep3117, yyq3117, yy2arr3117
			const yyr3117 bool = false
			yyq3117[0] = x.Kind != ""
			yyq3117[1] = x.APIVersion != ""
			yyq3117[2] = true
			if yyr3117 || yy2arr3117 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3117 int = 1
				for _, b := range yyq3117 {
					if b {
						yynn3117++
					}
				}
				r.EncodeMapStart(yynn3117)
			}
			if yyr3117 || yy2arr3117 {
				if yyq3117[0] {
					yym3119 := z.EncBinary()
					_ = yym3119
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3117[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3120 := z.EncBinary()
					_ = yym3120
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3117 || yy2arr3117 {
				if yyq3117[1] {
					yym3122 := z.EncBinary()
					_ = yym3122
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3117[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3123 := z.EncBinary()
					_ = yym3123
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3117 || yy2arr3117 {
				if yyq3117[2] {
					yy3125 := &x.ListMeta
					yym3126 := z.EncBinary()
					_ = yym3126
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3125) {
					} else {
						z.EncFallback(yy3125)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3117[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3127 := &x.ListMeta
					yym3128 := z.EncBinary()
					_ = yym3128
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3127) {
					} else {
						z.EncFallback(yy3127)
					}
				}
			}
			if yyr3117 || yy2arr3117 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3130 := z.EncBinary()
					_ = yym3130
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3131 := z.EncBinary()
					_ = yym3131
					if false {
					} else {
						h.encSliceLimitRange(([]LimitRange)(x.Items), e)
					}
				}
			}
			if yysep3117 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *LimitRangeList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3132 := z.DecBinary()
	_ = yym3132
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3133 := r.ReadMapStart()
			if yyl3133 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3133, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3133 := r.ReadArrayStart()
			if yyl3133 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3133, 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 yys3134Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3134Slc
	var yyhl3134 bool = l >= 0
	for yyj3134 := 0; ; yyj3134++ {
		if yyhl3134 {
			if yyj3134 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3134Slc = r.DecodeBytes(yys3134Slc, true, true)
		yys3134 := string(yys3134Slc)
		switch yys3134 {
		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 {
				yyv3137 := &x.ListMeta
				yym3138 := z.DecBinary()
				_ = yym3138
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3137) {
				} else {
					z.DecFallback(yyv3137, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3139 := &x.Items
				yym3140 := z.DecBinary()
				_ = yym3140
				if false {
				} else {
					h.decSliceLimitRange((*[]LimitRange)(yyv3139), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3134)
		} // end switch yys3134
	} // end for yyj3134
	if !yyhl3134 {
		r.ReadEnd()
	}
}

func (x *LimitRangeList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3141 int
	var yyb3141 bool
	var yyhl3141 bool = l >= 0
	yyj3141++
	if yyhl3141 {
		yyb3141 = yyj3141 > l
	} else {
		yyb3141 = r.CheckBreak()
	}
	if yyb3141 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3141++
	if yyhl3141 {
		yyb3141 = yyj3141 > l
	} else {
		yyb3141 = r.CheckBreak()
	}
	if yyb3141 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3141++
	if yyhl3141 {
		yyb3141 = yyj3141 > l
	} else {
		yyb3141 = r.CheckBreak()
	}
	if yyb3141 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3144 := &x.ListMeta
		yym3145 := z.DecBinary()
		_ = yym3145
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3144) {
		} else {
			z.DecFallback(yyv3144, false)
		}
	}
	yyj3141++
	if yyhl3141 {
		yyb3141 = yyj3141 > l
	} else {
		yyb3141 = r.CheckBreak()
	}
	if yyb3141 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3146 := &x.Items
		yym3147 := z.DecBinary()
		_ = yym3147
		if false {
		} else {
			h.decSliceLimitRange((*[]LimitRange)(yyv3146), d)
		}
	}
	for {
		yyj3141++
		if yyhl3141 {
			yyb3141 = yyj3141 > l
		} else {
			yyb3141 = r.CheckBreak()
		}
		if yyb3141 {
			break
		}
		z.DecStructFieldNotFound(yyj3141-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuotaSpec) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3148 := z.EncBinary()
		_ = yym3148
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3149 := !z.EncBinary()
			yy2arr3149 := z.EncBasicHandle().StructToArray
			var yyq3149 [1]bool
			_, _, _ = yysep3149, yyq3149, yy2arr3149
			const yyr3149 bool = false
			yyq3149[0] = len(x.Hard) != 0
			if yyr3149 || yy2arr3149 {
				r.EncodeArrayStart(1)
			} else {
				var yynn3149 int = 0
				for _, b := range yyq3149 {
					if b {
						yynn3149++
					}
				}
				r.EncodeMapStart(yynn3149)
			}
			if yyr3149 || yy2arr3149 {
				if yyq3149[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3149[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yysep3149 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuotaSpec) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3151 := z.DecBinary()
	_ = yym3151
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3152 := r.ReadMapStart()
			if yyl3152 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3152, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3152 := r.ReadArrayStart()
			if yyl3152 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3152, 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 yys3153Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3153Slc
	var yyhl3153 bool = l >= 0
	for yyj3153 := 0; ; yyj3153++ {
		if yyhl3153 {
			if yyj3153 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3153Slc = r.DecodeBytes(yys3153Slc, true, true)
		yys3153 := string(yys3153Slc)
		switch yys3153 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3154 := &x.Hard
				yyv3154.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3153)
		} // end switch yys3153
	} // end for yyj3153
	if !yyhl3153 {
		r.ReadEnd()
	}
}

func (x *ResourceQuotaSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3155 int
	var yyb3155 bool
	var yyhl3155 bool = l >= 0
	yyj3155++
	if yyhl3155 {
		yyb3155 = yyj3155 > l
	} else {
		yyb3155 = r.CheckBreak()
	}
	if yyb3155 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3156 := &x.Hard
		yyv3156.CodecDecodeSelf(d)
	}
	for {
		yyj3155++
		if yyhl3155 {
			yyb3155 = yyj3155 > l
		} else {
			yyb3155 = r.CheckBreak()
		}
		if yyb3155 {
			break
		}
		z.DecStructFieldNotFound(yyj3155-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuotaStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3157 := z.EncBinary()
		_ = yym3157
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3158 := !z.EncBinary()
			yy2arr3158 := z.EncBasicHandle().StructToArray
			var yyq3158 [2]bool
			_, _, _ = yysep3158, yyq3158, yy2arr3158
			const yyr3158 bool = false
			yyq3158[0] = len(x.Hard) != 0
			yyq3158[1] = len(x.Used) != 0
			if yyr3158 || yy2arr3158 {
				r.EncodeArrayStart(2)
			} else {
				var yynn3158 int = 0
				for _, b := range yyq3158 {
					if b {
						yynn3158++
					}
				}
				r.EncodeMapStart(yynn3158)
			}
			if yyr3158 || yy2arr3158 {
				if yyq3158[0] {
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3158[0] {
					r.EncodeString(codecSelferC_UTF81234, string("hard"))
					if x.Hard == nil {
						r.EncodeNil()
					} else {
						x.Hard.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3158 || yy2arr3158 {
				if yyq3158[1] {
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3158[1] {
					r.EncodeString(codecSelferC_UTF81234, string("used"))
					if x.Used == nil {
						r.EncodeNil()
					} else {
						x.Used.CodecEncodeSelf(e)
					}
				}
			}
			if yysep3158 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuotaStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3161 := z.DecBinary()
	_ = yym3161
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3162 := r.ReadMapStart()
			if yyl3162 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3162, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3162 := r.ReadArrayStart()
			if yyl3162 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3162, 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 yys3163Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3163Slc
	var yyhl3163 bool = l >= 0
	for yyj3163 := 0; ; yyj3163++ {
		if yyhl3163 {
			if yyj3163 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3163Slc = r.DecodeBytes(yys3163Slc, true, true)
		yys3163 := string(yys3163Slc)
		switch yys3163 {
		case "hard":
			if r.TryDecodeAsNil() {
				x.Hard = nil
			} else {
				yyv3164 := &x.Hard
				yyv3164.CodecDecodeSelf(d)
			}
		case "used":
			if r.TryDecodeAsNil() {
				x.Used = nil
			} else {
				yyv3165 := &x.Used
				yyv3165.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3163)
		} // end switch yys3163
	} // end for yyj3163
	if !yyhl3163 {
		r.ReadEnd()
	}
}

func (x *ResourceQuotaStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3166 int
	var yyb3166 bool
	var yyhl3166 bool = l >= 0
	yyj3166++
	if yyhl3166 {
		yyb3166 = yyj3166 > l
	} else {
		yyb3166 = r.CheckBreak()
	}
	if yyb3166 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Hard = nil
	} else {
		yyv3167 := &x.Hard
		yyv3167.CodecDecodeSelf(d)
	}
	yyj3166++
	if yyhl3166 {
		yyb3166 = yyj3166 > l
	} else {
		yyb3166 = r.CheckBreak()
	}
	if yyb3166 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Used = nil
	} else {
		yyv3168 := &x.Used
		yyv3168.CodecDecodeSelf(d)
	}
	for {
		yyj3166++
		if yyhl3166 {
			yyb3166 = yyj3166 > l
		} else {
			yyb3166 = r.CheckBreak()
		}
		if yyb3166 {
			break
		}
		z.DecStructFieldNotFound(yyj3166-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuota) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3169 := z.EncBinary()
		_ = yym3169
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3170 := !z.EncBinary()
			yy2arr3170 := z.EncBasicHandle().StructToArray
			var yyq3170 [5]bool
			_, _, _ = yysep3170, yyq3170, yy2arr3170
			const yyr3170 bool = false
			yyq3170[0] = x.Kind != ""
			yyq3170[1] = x.APIVersion != ""
			yyq3170[2] = true
			yyq3170[3] = true
			yyq3170[4] = true
			if yyr3170 || yy2arr3170 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3170 int = 0
				for _, b := range yyq3170 {
					if b {
						yynn3170++
					}
				}
				r.EncodeMapStart(yynn3170)
			}
			if yyr3170 || yy2arr3170 {
				if yyq3170[0] {
					yym3172 := z.EncBinary()
					_ = yym3172
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3170[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3173 := z.EncBinary()
					_ = yym3173
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3170 || yy2arr3170 {
				if yyq3170[1] {
					yym3175 := z.EncBinary()
					_ = yym3175
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3170[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3176 := z.EncBinary()
					_ = yym3176
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3170 || yy2arr3170 {
				if yyq3170[2] {
					yy3178 := &x.ObjectMeta
					yy3178.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3170[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3179 := &x.ObjectMeta
					yy3179.CodecEncodeSelf(e)
				}
			}
			if yyr3170 || yy2arr3170 {
				if yyq3170[3] {
					yy3181 := &x.Spec
					yy3181.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3170[3] {
					r.EncodeString(codecSelferC_UTF81234, string("spec"))
					yy3182 := &x.Spec
					yy3182.CodecEncodeSelf(e)
				}
			}
			if yyr3170 || yy2arr3170 {
				if yyq3170[4] {
					yy3184 := &x.Status
					yy3184.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3170[4] {
					r.EncodeString(codecSelferC_UTF81234, string("status"))
					yy3185 := &x.Status
					yy3185.CodecEncodeSelf(e)
				}
			}
			if yysep3170 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuota) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3186 := z.DecBinary()
	_ = yym3186
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3187 := r.ReadMapStart()
			if yyl3187 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3187, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3187 := r.ReadArrayStart()
			if yyl3187 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3187, 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 yys3188Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3188Slc
	var yyhl3188 bool = l >= 0
	for yyj3188 := 0; ; yyj3188++ {
		if yyhl3188 {
			if yyj3188 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3188Slc = r.DecodeBytes(yys3188Slc, true, true)
		yys3188 := string(yys3188Slc)
		switch yys3188 {
		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 {
				yyv3191 := &x.ObjectMeta
				yyv3191.CodecDecodeSelf(d)
			}
		case "spec":
			if r.TryDecodeAsNil() {
				x.Spec = ResourceQuotaSpec{}
			} else {
				yyv3192 := &x.Spec
				yyv3192.CodecDecodeSelf(d)
			}
		case "status":
			if r.TryDecodeAsNil() {
				x.Status = ResourceQuotaStatus{}
			} else {
				yyv3193 := &x.Status
				yyv3193.CodecDecodeSelf(d)
			}
		default:
			z.DecStructFieldNotFound(-1, yys3188)
		} // end switch yys3188
	} // end for yyj3188
	if !yyhl3188 {
		r.ReadEnd()
	}
}

func (x *ResourceQuota) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3194 int
	var yyb3194 bool
	var yyhl3194 bool = l >= 0
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3197 := &x.ObjectMeta
		yyv3197.CodecDecodeSelf(d)
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Spec = ResourceQuotaSpec{}
	} else {
		yyv3198 := &x.Spec
		yyv3198.CodecDecodeSelf(d)
	}
	yyj3194++
	if yyhl3194 {
		yyb3194 = yyj3194 > l
	} else {
		yyb3194 = r.CheckBreak()
	}
	if yyb3194 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Status = ResourceQuotaStatus{}
	} else {
		yyv3199 := &x.Status
		yyv3199.CodecDecodeSelf(d)
	}
	for {
		yyj3194++
		if yyhl3194 {
			yyb3194 = yyj3194 > l
		} else {
			yyb3194 = r.CheckBreak()
		}
		if yyb3194 {
			break
		}
		z.DecStructFieldNotFound(yyj3194-1, "")
	}
	r.ReadEnd()
}

func (x *ResourceQuotaList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3200 := z.EncBinary()
		_ = yym3200
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3201 := !z.EncBinary()
			yy2arr3201 := z.EncBasicHandle().StructToArray
			var yyq3201 [4]bool
			_, _, _ = yysep3201, yyq3201, yy2arr3201
			const yyr3201 bool = false
			yyq3201[0] = x.Kind != ""
			yyq3201[1] = x.APIVersion != ""
			yyq3201[2] = true
			if yyr3201 || yy2arr3201 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3201 int = 1
				for _, b := range yyq3201 {
					if b {
						yynn3201++
					}
				}
				r.EncodeMapStart(yynn3201)
			}
			if yyr3201 || yy2arr3201 {
				if yyq3201[0] {
					yym3203 := z.EncBinary()
					_ = yym3203
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3201[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3204 := z.EncBinary()
					_ = yym3204
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3201 || yy2arr3201 {
				if yyq3201[1] {
					yym3206 := z.EncBinary()
					_ = yym3206
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3201[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3207 := z.EncBinary()
					_ = yym3207
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3201 || yy2arr3201 {
				if yyq3201[2] {
					yy3209 := &x.ListMeta
					yym3210 := z.EncBinary()
					_ = yym3210
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3209) {
					} else {
						z.EncFallback(yy3209)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3201[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3211 := &x.ListMeta
					yym3212 := z.EncBinary()
					_ = yym3212
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3211) {
					} else {
						z.EncFallback(yy3211)
					}
				}
			}
			if yyr3201 || yy2arr3201 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3214 := z.EncBinary()
					_ = yym3214
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3215 := z.EncBinary()
					_ = yym3215
					if false {
					} else {
						h.encSliceResourceQuota(([]ResourceQuota)(x.Items), e)
					}
				}
			}
			if yysep3201 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ResourceQuotaList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3216 := z.DecBinary()
	_ = yym3216
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3217 := r.ReadMapStart()
			if yyl3217 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3217, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3217 := r.ReadArrayStart()
			if yyl3217 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3217, 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 yys3218Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3218Slc
	var yyhl3218 bool = l >= 0
	for yyj3218 := 0; ; yyj3218++ {
		if yyhl3218 {
			if yyj3218 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3218Slc = r.DecodeBytes(yys3218Slc, true, true)
		yys3218 := string(yys3218Slc)
		switch yys3218 {
		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 {
				yyv3221 := &x.ListMeta
				yym3222 := z.DecBinary()
				_ = yym3222
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3221) {
				} else {
					z.DecFallback(yyv3221, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3223 := &x.Items
				yym3224 := z.DecBinary()
				_ = yym3224
				if false {
				} else {
					h.decSliceResourceQuota((*[]ResourceQuota)(yyv3223), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3218)
		} // end switch yys3218
	} // end for yyj3218
	if !yyhl3218 {
		r.ReadEnd()
	}
}

func (x *ResourceQuotaList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3225 int
	var yyb3225 bool
	var yyhl3225 bool = l >= 0
	yyj3225++
	if yyhl3225 {
		yyb3225 = yyj3225 > l
	} else {
		yyb3225 = r.CheckBreak()
	}
	if yyb3225 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3225++
	if yyhl3225 {
		yyb3225 = yyj3225 > l
	} else {
		yyb3225 = r.CheckBreak()
	}
	if yyb3225 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3225++
	if yyhl3225 {
		yyb3225 = yyj3225 > l
	} else {
		yyb3225 = r.CheckBreak()
	}
	if yyb3225 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3228 := &x.ListMeta
		yym3229 := z.DecBinary()
		_ = yym3229
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3228) {
		} else {
			z.DecFallback(yyv3228, false)
		}
	}
	yyj3225++
	if yyhl3225 {
		yyb3225 = yyj3225 > l
	} else {
		yyb3225 = r.CheckBreak()
	}
	if yyb3225 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3230 := &x.Items
		yym3231 := z.DecBinary()
		_ = yym3231
		if false {
		} else {
			h.decSliceResourceQuota((*[]ResourceQuota)(yyv3230), d)
		}
	}
	for {
		yyj3225++
		if yyhl3225 {
			yyb3225 = yyj3225 > l
		} else {
			yyb3225 = r.CheckBreak()
		}
		if yyb3225 {
			break
		}
		z.DecStructFieldNotFound(yyj3225-1, "")
	}
	r.ReadEnd()
}

func (x *Secret) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3232 := z.EncBinary()
		_ = yym3232
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3233 := !z.EncBinary()
			yy2arr3233 := z.EncBasicHandle().StructToArray
			var yyq3233 [5]bool
			_, _, _ = yysep3233, yyq3233, yy2arr3233
			const yyr3233 bool = false
			yyq3233[0] = x.Kind != ""
			yyq3233[1] = x.APIVersion != ""
			yyq3233[2] = true
			yyq3233[3] = len(x.Data) != 0
			yyq3233[4] = x.Type != ""
			if yyr3233 || yy2arr3233 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3233 int = 0
				for _, b := range yyq3233 {
					if b {
						yynn3233++
					}
				}
				r.EncodeMapStart(yynn3233)
			}
			if yyr3233 || yy2arr3233 {
				if yyq3233[0] {
					yym3235 := z.EncBinary()
					_ = yym3235
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3233[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3236 := z.EncBinary()
					_ = yym3236
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3233 || yy2arr3233 {
				if yyq3233[1] {
					yym3238 := z.EncBinary()
					_ = yym3238
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3233[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3239 := z.EncBinary()
					_ = yym3239
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3233 || yy2arr3233 {
				if yyq3233[2] {
					yy3241 := &x.ObjectMeta
					yy3241.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3233[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3242 := &x.ObjectMeta
					yy3242.CodecEncodeSelf(e)
				}
			}
			if yyr3233 || yy2arr3233 {
				if yyq3233[3] {
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3244 := z.EncBinary()
						_ = yym3244
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3233[3] {
					r.EncodeString(codecSelferC_UTF81234, string("data"))
					if x.Data == nil {
						r.EncodeNil()
					} else {
						yym3245 := z.EncBinary()
						_ = yym3245
						if false {
						} else {
							h.encMapstringSliceuint8((map[string][]uint8)(x.Data), e)
						}
					}
				}
			}
			if yyr3233 || yy2arr3233 {
				if yyq3233[4] {
					x.Type.CodecEncodeSelf(e)
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3233[4] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					x.Type.CodecEncodeSelf(e)
				}
			}
			if yysep3233 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *Secret) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3247 := z.DecBinary()
	_ = yym3247
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3248 := r.ReadMapStart()
			if yyl3248 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3248, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3248 := r.ReadArrayStart()
			if yyl3248 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3248, 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 yys3249Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3249Slc
	var yyhl3249 bool = l >= 0
	for yyj3249 := 0; ; yyj3249++ {
		if yyhl3249 {
			if yyj3249 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3249Slc = r.DecodeBytes(yys3249Slc, true, true)
		yys3249 := string(yys3249Slc)
		switch yys3249 {
		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 {
				yyv3252 := &x.ObjectMeta
				yyv3252.CodecDecodeSelf(d)
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3253 := &x.Data
				yym3254 := z.DecBinary()
				_ = yym3254
				if false {
				} else {
					h.decMapstringSliceuint8((*map[string][]uint8)(yyv3253), d)
				}
			}
		case "type":
			if r.TryDecodeAsNil() {
				x.Type = ""
			} else {
				x.Type = SecretType(r.DecodeString())
			}
		default:
			z.DecStructFieldNotFound(-1, yys3249)
		} // end switch yys3249
	} // end for yyj3249
	if !yyhl3249 {
		r.ReadEnd()
	}
}

func (x *Secret) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3256 int
	var yyb3256 bool
	var yyhl3256 bool = l >= 0
	yyj3256++
	if yyhl3256 {
		yyb3256 = yyj3256 > l
	} else {
		yyb3256 = r.CheckBreak()
	}
	if yyb3256 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3256++
	if yyhl3256 {
		yyb3256 = yyj3256 > l
	} else {
		yyb3256 = r.CheckBreak()
	}
	if yyb3256 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3256++
	if yyhl3256 {
		yyb3256 = yyj3256 > l
	} else {
		yyb3256 = r.CheckBreak()
	}
	if yyb3256 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3259 := &x.ObjectMeta
		yyv3259.CodecDecodeSelf(d)
	}
	yyj3256++
	if yyhl3256 {
		yyb3256 = yyj3256 > l
	} else {
		yyb3256 = r.CheckBreak()
	}
	if yyb3256 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3260 := &x.Data
		yym3261 := z.DecBinary()
		_ = yym3261
		if false {
		} else {
			h.decMapstringSliceuint8((*map[string][]uint8)(yyv3260), d)
		}
	}
	yyj3256++
	if yyhl3256 {
		yyb3256 = yyj3256 > l
	} else {
		yyb3256 = r.CheckBreak()
	}
	if yyb3256 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = SecretType(r.DecodeString())
	}
	for {
		yyj3256++
		if yyhl3256 {
			yyb3256 = yyj3256 > l
		} else {
			yyb3256 = r.CheckBreak()
		}
		if yyb3256 {
			break
		}
		z.DecStructFieldNotFound(yyj3256-1, "")
	}
	r.ReadEnd()
}

func (x SecretType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3263 := z.EncBinary()
	_ = yym3263
	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
	yym3264 := z.DecBinary()
	_ = yym3264
	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 {
		yym3265 := z.EncBinary()
		_ = yym3265
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3266 := !z.EncBinary()
			yy2arr3266 := z.EncBasicHandle().StructToArray
			var yyq3266 [4]bool
			_, _, _ = yysep3266, yyq3266, yy2arr3266
			const yyr3266 bool = false
			yyq3266[0] = x.Kind != ""
			yyq3266[1] = x.APIVersion != ""
			yyq3266[2] = true
			if yyr3266 || yy2arr3266 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3266 int = 1
				for _, b := range yyq3266 {
					if b {
						yynn3266++
					}
				}
				r.EncodeMapStart(yynn3266)
			}
			if yyr3266 || yy2arr3266 {
				if yyq3266[0] {
					yym3268 := z.EncBinary()
					_ = yym3268
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3266[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3269 := z.EncBinary()
					_ = yym3269
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3266 || yy2arr3266 {
				if yyq3266[1] {
					yym3271 := z.EncBinary()
					_ = yym3271
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3266[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3272 := z.EncBinary()
					_ = yym3272
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3266 || yy2arr3266 {
				if yyq3266[2] {
					yy3274 := &x.ListMeta
					yym3275 := z.EncBinary()
					_ = yym3275
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3274) {
					} else {
						z.EncFallback(yy3274)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3266[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3276 := &x.ListMeta
					yym3277 := z.EncBinary()
					_ = yym3277
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3276) {
					} else {
						z.EncFallback(yy3276)
					}
				}
			}
			if yyr3266 || yy2arr3266 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3279 := z.EncBinary()
					_ = yym3279
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3280 := z.EncBinary()
					_ = yym3280
					if false {
					} else {
						h.encSliceSecret(([]Secret)(x.Items), e)
					}
				}
			}
			if yysep3266 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SecretList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3281 := z.DecBinary()
	_ = yym3281
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3282 := r.ReadMapStart()
			if yyl3282 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3282, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3282 := r.ReadArrayStart()
			if yyl3282 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3282, 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 yys3283Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3283Slc
	var yyhl3283 bool = l >= 0
	for yyj3283 := 0; ; yyj3283++ {
		if yyhl3283 {
			if yyj3283 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3283Slc = r.DecodeBytes(yys3283Slc, true, true)
		yys3283 := string(yys3283Slc)
		switch yys3283 {
		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 {
				yyv3286 := &x.ListMeta
				yym3287 := z.DecBinary()
				_ = yym3287
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3286) {
				} else {
					z.DecFallback(yyv3286, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3288 := &x.Items
				yym3289 := z.DecBinary()
				_ = yym3289
				if false {
				} else {
					h.decSliceSecret((*[]Secret)(yyv3288), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3283)
		} // end switch yys3283
	} // end for yyj3283
	if !yyhl3283 {
		r.ReadEnd()
	}
}

func (x *SecretList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3290 int
	var yyb3290 bool
	var yyhl3290 bool = l >= 0
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3293 := &x.ListMeta
		yym3294 := z.DecBinary()
		_ = yym3294
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3293) {
		} else {
			z.DecFallback(yyv3293, false)
		}
	}
	yyj3290++
	if yyhl3290 {
		yyb3290 = yyj3290 > l
	} else {
		yyb3290 = r.CheckBreak()
	}
	if yyb3290 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3295 := &x.Items
		yym3296 := z.DecBinary()
		_ = yym3296
		if false {
		} else {
			h.decSliceSecret((*[]Secret)(yyv3295), d)
		}
	}
	for {
		yyj3290++
		if yyhl3290 {
			yyb3290 = yyj3290 > l
		} else {
			yyb3290 = r.CheckBreak()
		}
		if yyb3290 {
			break
		}
		z.DecStructFieldNotFound(yyj3290-1, "")
	}
	r.ReadEnd()
}

func (x PatchType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	yym3297 := z.EncBinary()
	_ = yym3297
	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
	yym3298 := z.DecBinary()
	_ = yym3298
	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
	yym3299 := z.EncBinary()
	_ = yym3299
	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
	yym3300 := z.DecBinary()
	_ = yym3300
	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 {
		yym3301 := z.EncBinary()
		_ = yym3301
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3302 := !z.EncBinary()
			yy2arr3302 := z.EncBasicHandle().StructToArray
			var yyq3302 [4]bool
			_, _, _ = yysep3302, yyq3302, yy2arr3302
			const yyr3302 bool = false
			yyq3302[2] = x.Message != ""
			yyq3302[3] = x.Error != ""
			if yyr3302 || yy2arr3302 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3302 int = 2
				for _, b := range yyq3302 {
					if b {
						yynn3302++
					}
				}
				r.EncodeMapStart(yynn3302)
			}
			if yyr3302 || yy2arr3302 {
				x.Type.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("type"))
				x.Type.CodecEncodeSelf(e)
			}
			if yyr3302 || yy2arr3302 {
				x.Status.CodecEncodeSelf(e)
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("status"))
				x.Status.CodecEncodeSelf(e)
			}
			if yyr3302 || yy2arr3302 {
				if yyq3302[2] {
					yym3306 := z.EncBinary()
					_ = yym3306
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3302[2] {
					r.EncodeString(codecSelferC_UTF81234, string("message"))
					yym3307 := z.EncBinary()
					_ = yym3307
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Message))
					}
				}
			}
			if yyr3302 || yy2arr3302 {
				if yyq3302[3] {
					yym3309 := z.EncBinary()
					_ = yym3309
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3302[3] {
					r.EncodeString(codecSelferC_UTF81234, string("error"))
					yym3310 := z.EncBinary()
					_ = yym3310
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Error))
					}
				}
			}
			if yysep3302 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ComponentCondition) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3311 := z.DecBinary()
	_ = yym3311
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3312 := r.ReadMapStart()
			if yyl3312 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3312, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3312 := r.ReadArrayStart()
			if yyl3312 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3312, 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 yys3313Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3313Slc
	var yyhl3313 bool = l >= 0
	for yyj3313 := 0; ; yyj3313++ {
		if yyhl3313 {
			if yyj3313 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3313Slc = r.DecodeBytes(yys3313Slc, true, true)
		yys3313 := string(yys3313Slc)
		switch yys3313 {
		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, yys3313)
		} // end switch yys3313
	} // end for yyj3313
	if !yyhl3313 {
		r.ReadEnd()
	}
}

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

func (x *ComponentStatus) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3323 := z.EncBinary()
		_ = yym3323
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3324 := !z.EncBinary()
			yy2arr3324 := z.EncBasicHandle().StructToArray
			var yyq3324 [4]bool
			_, _, _ = yysep3324, yyq3324, yy2arr3324
			const yyr3324 bool = false
			yyq3324[0] = x.Kind != ""
			yyq3324[1] = x.APIVersion != ""
			yyq3324[2] = true
			yyq3324[3] = len(x.Conditions) != 0
			if yyr3324 || yy2arr3324 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3324 int = 0
				for _, b := range yyq3324 {
					if b {
						yynn3324++
					}
				}
				r.EncodeMapStart(yynn3324)
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[0] {
					yym3326 := z.EncBinary()
					_ = yym3326
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3324[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3327 := z.EncBinary()
					_ = yym3327
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[1] {
					yym3329 := z.EncBinary()
					_ = yym3329
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3324[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3330 := z.EncBinary()
					_ = yym3330
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[2] {
					yy3332 := &x.ObjectMeta
					yy3332.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3324[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3333 := &x.ObjectMeta
					yy3333.CodecEncodeSelf(e)
				}
			}
			if yyr3324 || yy2arr3324 {
				if yyq3324[3] {
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3335 := z.EncBinary()
						_ = yym3335
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3324[3] {
					r.EncodeString(codecSelferC_UTF81234, string("conditions"))
					if x.Conditions == nil {
						r.EncodeNil()
					} else {
						yym3336 := z.EncBinary()
						_ = yym3336
						if false {
						} else {
							h.encSliceComponentCondition(([]ComponentCondition)(x.Conditions), e)
						}
					}
				}
			}
			if yysep3324 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ComponentStatus) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3337 := z.DecBinary()
	_ = yym3337
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3338 := r.ReadMapStart()
			if yyl3338 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3338, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3338 := r.ReadArrayStart()
			if yyl3338 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3338, 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 yys3339Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3339Slc
	var yyhl3339 bool = l >= 0
	for yyj3339 := 0; ; yyj3339++ {
		if yyhl3339 {
			if yyj3339 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3339Slc = r.DecodeBytes(yys3339Slc, true, true)
		yys3339 := string(yys3339Slc)
		switch yys3339 {
		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 {
				yyv3342 := &x.ObjectMeta
				yyv3342.CodecDecodeSelf(d)
			}
		case "conditions":
			if r.TryDecodeAsNil() {
				x.Conditions = nil
			} else {
				yyv3343 := &x.Conditions
				yym3344 := z.DecBinary()
				_ = yym3344
				if false {
				} else {
					h.decSliceComponentCondition((*[]ComponentCondition)(yyv3343), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3339)
		} // end switch yys3339
	} // end for yyj3339
	if !yyhl3339 {
		r.ReadEnd()
	}
}

func (x *ComponentStatus) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3345 int
	var yyb3345 bool
	var yyhl3345 bool = l >= 0
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3348 := &x.ObjectMeta
		yyv3348.CodecDecodeSelf(d)
	}
	yyj3345++
	if yyhl3345 {
		yyb3345 = yyj3345 > l
	} else {
		yyb3345 = r.CheckBreak()
	}
	if yyb3345 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Conditions = nil
	} else {
		yyv3349 := &x.Conditions
		yym3350 := z.DecBinary()
		_ = yym3350
		if false {
		} else {
			h.decSliceComponentCondition((*[]ComponentCondition)(yyv3349), d)
		}
	}
	for {
		yyj3345++
		if yyhl3345 {
			yyb3345 = yyj3345 > l
		} else {
			yyb3345 = r.CheckBreak()
		}
		if yyb3345 {
			break
		}
		z.DecStructFieldNotFound(yyj3345-1, "")
	}
	r.ReadEnd()
}

func (x *ComponentStatusList) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3351 := z.EncBinary()
		_ = yym3351
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3352 := !z.EncBinary()
			yy2arr3352 := z.EncBasicHandle().StructToArray
			var yyq3352 [4]bool
			_, _, _ = yysep3352, yyq3352, yy2arr3352
			const yyr3352 bool = false
			yyq3352[0] = x.Kind != ""
			yyq3352[1] = x.APIVersion != ""
			yyq3352[2] = true
			if yyr3352 || yy2arr3352 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3352 int = 1
				for _, b := range yyq3352 {
					if b {
						yynn3352++
					}
				}
				r.EncodeMapStart(yynn3352)
			}
			if yyr3352 || yy2arr3352 {
				if yyq3352[0] {
					yym3354 := z.EncBinary()
					_ = yym3354
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3352[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3355 := z.EncBinary()
					_ = yym3355
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3352 || yy2arr3352 {
				if yyq3352[1] {
					yym3357 := z.EncBinary()
					_ = yym3357
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3352[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3358 := z.EncBinary()
					_ = yym3358
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3352 || yy2arr3352 {
				if yyq3352[2] {
					yy3360 := &x.ListMeta
					yym3361 := z.EncBinary()
					_ = yym3361
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3360) {
					} else {
						z.EncFallback(yy3360)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3352[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3362 := &x.ListMeta
					yym3363 := z.EncBinary()
					_ = yym3363
					if false {
					} else if z.HasExtensions() && z.EncExt(yy3362) {
					} else {
						z.EncFallback(yy3362)
					}
				}
			}
			if yyr3352 || yy2arr3352 {
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3365 := z.EncBinary()
					_ = yym3365
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("items"))
				if x.Items == nil {
					r.EncodeNil()
				} else {
					yym3366 := z.EncBinary()
					_ = yym3366
					if false {
					} else {
						h.encSliceComponentStatus(([]ComponentStatus)(x.Items), e)
					}
				}
			}
			if yysep3352 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *ComponentStatusList) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3367 := z.DecBinary()
	_ = yym3367
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3368 := r.ReadMapStart()
			if yyl3368 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3368, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3368 := r.ReadArrayStart()
			if yyl3368 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3368, 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 yys3369Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3369Slc
	var yyhl3369 bool = l >= 0
	for yyj3369 := 0; ; yyj3369++ {
		if yyhl3369 {
			if yyj3369 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3369Slc = r.DecodeBytes(yys3369Slc, true, true)
		yys3369 := string(yys3369Slc)
		switch yys3369 {
		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 {
				yyv3372 := &x.ListMeta
				yym3373 := z.DecBinary()
				_ = yym3373
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3372) {
				} else {
					z.DecFallback(yyv3372, false)
				}
			}
		case "items":
			if r.TryDecodeAsNil() {
				x.Items = nil
			} else {
				yyv3374 := &x.Items
				yym3375 := z.DecBinary()
				_ = yym3375
				if false {
				} else {
					h.decSliceComponentStatus((*[]ComponentStatus)(yyv3374), d)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3369)
		} // end switch yys3369
	} // end for yyj3369
	if !yyhl3369 {
		r.ReadEnd()
	}
}

func (x *ComponentStatusList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3376 int
	var yyb3376 bool
	var yyhl3376 bool = l >= 0
	yyj3376++
	if yyhl3376 {
		yyb3376 = yyj3376 > l
	} else {
		yyb3376 = r.CheckBreak()
	}
	if yyb3376 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3376++
	if yyhl3376 {
		yyb3376 = yyj3376 > l
	} else {
		yyb3376 = r.CheckBreak()
	}
	if yyb3376 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3376++
	if yyhl3376 {
		yyb3376 = yyj3376 > l
	} else {
		yyb3376 = r.CheckBreak()
	}
	if yyb3376 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ListMeta = pkg2_unversioned.ListMeta{}
	} else {
		yyv3379 := &x.ListMeta
		yym3380 := z.DecBinary()
		_ = yym3380
		if false {
		} else if z.HasExtensions() && z.DecExt(yyv3379) {
		} else {
			z.DecFallback(yyv3379, false)
		}
	}
	yyj3376++
	if yyhl3376 {
		yyb3376 = yyj3376 > l
	} else {
		yyb3376 = r.CheckBreak()
	}
	if yyb3376 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Items = nil
	} else {
		yyv3381 := &x.Items
		yym3382 := z.DecBinary()
		_ = yym3382
		if false {
		} else {
			h.decSliceComponentStatus((*[]ComponentStatus)(yyv3381), d)
		}
	}
	for {
		yyj3376++
		if yyhl3376 {
			yyb3376 = yyj3376 > l
		} else {
			yyb3376 = r.CheckBreak()
		}
		if yyb3376 {
			break
		}
		z.DecStructFieldNotFound(yyj3376-1, "")
	}
	r.ReadEnd()
}

func (x *SecurityContext) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3383 := z.EncBinary()
		_ = yym3383
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3384 := !z.EncBinary()
			yy2arr3384 := z.EncBasicHandle().StructToArray
			var yyq3384 [5]bool
			_, _, _ = yysep3384, yyq3384, yy2arr3384
			const yyr3384 bool = false
			yyq3384[0] = x.Capabilities != nil
			yyq3384[1] = x.Privileged != nil
			yyq3384[2] = x.SELinuxOptions != nil
			yyq3384[3] = x.RunAsUser != nil
			yyq3384[4] = x.RunAsNonRoot != nil
			if yyr3384 || yy2arr3384 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3384 int = 0
				for _, b := range yyq3384 {
					if b {
						yynn3384++
					}
				}
				r.EncodeMapStart(yynn3384)
			}
			if yyr3384 || yy2arr3384 {
				if yyq3384[0] {
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3384[0] {
					r.EncodeString(codecSelferC_UTF81234, string("capabilities"))
					if x.Capabilities == nil {
						r.EncodeNil()
					} else {
						x.Capabilities.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3384 || yy2arr3384 {
				if yyq3384[1] {
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3387 := *x.Privileged
						yym3388 := z.EncBinary()
						_ = yym3388
						if false {
						} else {
							r.EncodeBool(bool(yy3387))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3384[1] {
					r.EncodeString(codecSelferC_UTF81234, string("privileged"))
					if x.Privileged == nil {
						r.EncodeNil()
					} else {
						yy3389 := *x.Privileged
						yym3390 := z.EncBinary()
						_ = yym3390
						if false {
						} else {
							r.EncodeBool(bool(yy3389))
						}
					}
				}
			}
			if yyr3384 || yy2arr3384 {
				if yyq3384[2] {
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3384[2] {
					r.EncodeString(codecSelferC_UTF81234, string("seLinuxOptions"))
					if x.SELinuxOptions == nil {
						r.EncodeNil()
					} else {
						x.SELinuxOptions.CodecEncodeSelf(e)
					}
				}
			}
			if yyr3384 || yy2arr3384 {
				if yyq3384[3] {
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3393 := *x.RunAsUser
						yym3394 := z.EncBinary()
						_ = yym3394
						if false {
						} else {
							r.EncodeInt(int64(yy3393))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3384[3] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsUser"))
					if x.RunAsUser == nil {
						r.EncodeNil()
					} else {
						yy3395 := *x.RunAsUser
						yym3396 := z.EncBinary()
						_ = yym3396
						if false {
						} else {
							r.EncodeInt(int64(yy3395))
						}
					}
				}
			}
			if yyr3384 || yy2arr3384 {
				if yyq3384[4] {
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3398 := *x.RunAsNonRoot
						yym3399 := z.EncBinary()
						_ = yym3399
						if false {
						} else {
							r.EncodeBool(bool(yy3398))
						}
					}
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3384[4] {
					r.EncodeString(codecSelferC_UTF81234, string("runAsNonRoot"))
					if x.RunAsNonRoot == nil {
						r.EncodeNil()
					} else {
						yy3400 := *x.RunAsNonRoot
						yym3401 := z.EncBinary()
						_ = yym3401
						if false {
						} else {
							r.EncodeBool(bool(yy3400))
						}
					}
				}
			}
			if yysep3384 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SecurityContext) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3402 := z.DecBinary()
	_ = yym3402
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3403 := r.ReadMapStart()
			if yyl3403 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3403, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3403 := r.ReadArrayStart()
			if yyl3403 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3403, 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 yys3404Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3404Slc
	var yyhl3404 bool = l >= 0
	for yyj3404 := 0; ; yyj3404++ {
		if yyhl3404 {
			if yyj3404 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3404Slc = r.DecodeBytes(yys3404Slc, true, true)
		yys3404 := string(yys3404Slc)
		switch yys3404 {
		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)
				}
				yym3407 := z.DecBinary()
				_ = yym3407
				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)
				}
				yym3410 := z.DecBinary()
				_ = yym3410
				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)
				}
				yym3412 := z.DecBinary()
				_ = yym3412
				if false {
				} else {
					*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3404)
		} // end switch yys3404
	} // end for yyj3404
	if !yyhl3404 {
		r.ReadEnd()
	}
}

func (x *SecurityContext) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3413 int
	var yyb3413 bool
	var yyhl3413 bool = l >= 0
	yyj3413++
	if yyhl3413 {
		yyb3413 = yyj3413 > l
	} else {
		yyb3413 = r.CheckBreak()
	}
	if yyb3413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Capabilities != nil {
			x.Capabilities = nil
		}
	} else {
		if x.Capabilities == nil {
			x.Capabilities = new(Capabilities)
		}
		x.Capabilities.CodecDecodeSelf(d)
	}
	yyj3413++
	if yyhl3413 {
		yyb3413 = yyj3413 > l
	} else {
		yyb3413 = r.CheckBreak()
	}
	if yyb3413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.Privileged != nil {
			x.Privileged = nil
		}
	} else {
		if x.Privileged == nil {
			x.Privileged = new(bool)
		}
		yym3416 := z.DecBinary()
		_ = yym3416
		if false {
		} else {
			*((*bool)(x.Privileged)) = r.DecodeBool()
		}
	}
	yyj3413++
	if yyhl3413 {
		yyb3413 = yyj3413 > l
	} else {
		yyb3413 = r.CheckBreak()
	}
	if yyb3413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.SELinuxOptions != nil {
			x.SELinuxOptions = nil
		}
	} else {
		if x.SELinuxOptions == nil {
			x.SELinuxOptions = new(SELinuxOptions)
		}
		x.SELinuxOptions.CodecDecodeSelf(d)
	}
	yyj3413++
	if yyhl3413 {
		yyb3413 = yyj3413 > l
	} else {
		yyb3413 = r.CheckBreak()
	}
	if yyb3413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsUser != nil {
			x.RunAsUser = nil
		}
	} else {
		if x.RunAsUser == nil {
			x.RunAsUser = new(int64)
		}
		yym3419 := z.DecBinary()
		_ = yym3419
		if false {
		} else {
			*((*int64)(x.RunAsUser)) = int64(r.DecodeInt(64))
		}
	}
	yyj3413++
	if yyhl3413 {
		yyb3413 = yyj3413 > l
	} else {
		yyb3413 = r.CheckBreak()
	}
	if yyb3413 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		if x.RunAsNonRoot != nil {
			x.RunAsNonRoot = nil
		}
	} else {
		if x.RunAsNonRoot == nil {
			x.RunAsNonRoot = new(bool)
		}
		yym3421 := z.DecBinary()
		_ = yym3421
		if false {
		} else {
			*((*bool)(x.RunAsNonRoot)) = r.DecodeBool()
		}
	}
	for {
		yyj3413++
		if yyhl3413 {
			yyb3413 = yyj3413 > l
		} else {
			yyb3413 = r.CheckBreak()
		}
		if yyb3413 {
			break
		}
		z.DecStructFieldNotFound(yyj3413-1, "")
	}
	r.ReadEnd()
}

func (x *SELinuxOptions) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3422 := z.EncBinary()
		_ = yym3422
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3423 := !z.EncBinary()
			yy2arr3423 := z.EncBasicHandle().StructToArray
			var yyq3423 [4]bool
			_, _, _ = yysep3423, yyq3423, yy2arr3423
			const yyr3423 bool = false
			yyq3423[0] = x.User != ""
			yyq3423[1] = x.Role != ""
			yyq3423[2] = x.Type != ""
			yyq3423[3] = x.Level != ""
			if yyr3423 || yy2arr3423 {
				r.EncodeArrayStart(4)
			} else {
				var yynn3423 int = 0
				for _, b := range yyq3423 {
					if b {
						yynn3423++
					}
				}
				r.EncodeMapStart(yynn3423)
			}
			if yyr3423 || yy2arr3423 {
				if yyq3423[0] {
					yym3425 := z.EncBinary()
					_ = yym3425
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3423[0] {
					r.EncodeString(codecSelferC_UTF81234, string("user"))
					yym3426 := z.EncBinary()
					_ = yym3426
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.User))
					}
				}
			}
			if yyr3423 || yy2arr3423 {
				if yyq3423[1] {
					yym3428 := z.EncBinary()
					_ = yym3428
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3423[1] {
					r.EncodeString(codecSelferC_UTF81234, string("role"))
					yym3429 := z.EncBinary()
					_ = yym3429
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Role))
					}
				}
			}
			if yyr3423 || yy2arr3423 {
				if yyq3423[2] {
					yym3431 := z.EncBinary()
					_ = yym3431
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3423[2] {
					r.EncodeString(codecSelferC_UTF81234, string("type"))
					yym3432 := z.EncBinary()
					_ = yym3432
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Type))
					}
				}
			}
			if yyr3423 || yy2arr3423 {
				if yyq3423[3] {
					yym3434 := z.EncBinary()
					_ = yym3434
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3423[3] {
					r.EncodeString(codecSelferC_UTF81234, string("level"))
					yym3435 := z.EncBinary()
					_ = yym3435
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Level))
					}
				}
			}
			if yysep3423 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *SELinuxOptions) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3436 := z.DecBinary()
	_ = yym3436
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3437 := r.ReadMapStart()
			if yyl3437 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3437, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3437 := r.ReadArrayStart()
			if yyl3437 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3437, 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 yys3438Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3438Slc
	var yyhl3438 bool = l >= 0
	for yyj3438 := 0; ; yyj3438++ {
		if yyhl3438 {
			if yyj3438 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3438Slc = r.DecodeBytes(yys3438Slc, true, true)
		yys3438 := string(yys3438Slc)
		switch yys3438 {
		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, yys3438)
		} // end switch yys3438
	} // end for yyj3438
	if !yyhl3438 {
		r.ReadEnd()
	}
}

func (x *SELinuxOptions) 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 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.User = ""
	} else {
		x.User = string(r.DecodeString())
	}
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Role = ""
	} else {
		x.Role = string(r.DecodeString())
	}
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Type = ""
	} else {
		x.Type = string(r.DecodeString())
	}
	yyj3443++
	if yyhl3443 {
		yyb3443 = yyj3443 > l
	} else {
		yyb3443 = r.CheckBreak()
	}
	if yyb3443 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Level = ""
	} else {
		x.Level = string(r.DecodeString())
	}
	for {
		yyj3443++
		if yyhl3443 {
			yyb3443 = yyj3443 > l
		} else {
			yyb3443 = r.CheckBreak()
		}
		if yyb3443 {
			break
		}
		z.DecStructFieldNotFound(yyj3443-1, "")
	}
	r.ReadEnd()
}

func (x *RangeAllocation) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yym3448 := z.EncBinary()
		_ = yym3448
		if false {
		} else if z.HasExtensions() && z.EncExt(x) {
		} else {
			yysep3449 := !z.EncBinary()
			yy2arr3449 := z.EncBasicHandle().StructToArray
			var yyq3449 [5]bool
			_, _, _ = yysep3449, yyq3449, yy2arr3449
			const yyr3449 bool = false
			yyq3449[0] = x.Kind != ""
			yyq3449[1] = x.APIVersion != ""
			yyq3449[2] = true
			if yyr3449 || yy2arr3449 {
				r.EncodeArrayStart(5)
			} else {
				var yynn3449 int = 2
				for _, b := range yyq3449 {
					if b {
						yynn3449++
					}
				}
				r.EncodeMapStart(yynn3449)
			}
			if yyr3449 || yy2arr3449 {
				if yyq3449[0] {
					yym3451 := z.EncBinary()
					_ = yym3451
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3449[0] {
					r.EncodeString(codecSelferC_UTF81234, string("kind"))
					yym3452 := z.EncBinary()
					_ = yym3452
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
					}
				}
			}
			if yyr3449 || yy2arr3449 {
				if yyq3449[1] {
					yym3454 := z.EncBinary()
					_ = yym3454
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				} else {
					r.EncodeString(codecSelferC_UTF81234, "")
				}
			} else {
				if yyq3449[1] {
					r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
					yym3455 := z.EncBinary()
					_ = yym3455
					if false {
					} else {
						r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
					}
				}
			}
			if yyr3449 || yy2arr3449 {
				if yyq3449[2] {
					yy3457 := &x.ObjectMeta
					yy3457.CodecEncodeSelf(e)
				} else {
					r.EncodeNil()
				}
			} else {
				if yyq3449[2] {
					r.EncodeString(codecSelferC_UTF81234, string("metadata"))
					yy3458 := &x.ObjectMeta
					yy3458.CodecEncodeSelf(e)
				}
			}
			if yyr3449 || yy2arr3449 {
				yym3460 := z.EncBinary()
				_ = yym3460
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("range"))
				yym3461 := z.EncBinary()
				_ = yym3461
				if false {
				} else {
					r.EncodeString(codecSelferC_UTF81234, string(x.Range))
				}
			}
			if yyr3449 || yy2arr3449 {
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3463 := z.EncBinary()
					_ = yym3463
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			} else {
				r.EncodeString(codecSelferC_UTF81234, string("data"))
				if x.Data == nil {
					r.EncodeNil()
				} else {
					yym3464 := z.EncBinary()
					_ = yym3464
					if false {
					} else {
						r.EncodeStringBytes(codecSelferC_RAW1234, []byte(x.Data))
					}
				}
			}
			if yysep3449 {
				r.EncodeEnd()
			}
		}
	}
}

func (x *RangeAllocation) CodecDecodeSelf(d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	yym3465 := z.DecBinary()
	_ = yym3465
	if false {
	} else if z.HasExtensions() && z.DecExt(x) {
	} else {
		if r.IsContainerType(codecSelferValueTypeMap1234) {
			yyl3466 := r.ReadMapStart()
			if yyl3466 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromMap(yyl3466, d)
			}
		} else if r.IsContainerType(codecSelferValueTypeArray1234) {
			yyl3466 := r.ReadArrayStart()
			if yyl3466 == 0 {
				r.ReadEnd()
			} else {
				x.codecDecodeSelfFromArray(yyl3466, 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 yys3467Slc = z.DecScratchBuffer() // default slice to decode into
	_ = yys3467Slc
	var yyhl3467 bool = l >= 0
	for yyj3467 := 0; ; yyj3467++ {
		if yyhl3467 {
			if yyj3467 >= l {
				break
			}
		} else {
			if r.CheckBreak() {
				break
			}
		}
		yys3467Slc = r.DecodeBytes(yys3467Slc, true, true)
		yys3467 := string(yys3467Slc)
		switch yys3467 {
		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 {
				yyv3470 := &x.ObjectMeta
				yyv3470.CodecDecodeSelf(d)
			}
		case "range":
			if r.TryDecodeAsNil() {
				x.Range = ""
			} else {
				x.Range = string(r.DecodeString())
			}
		case "data":
			if r.TryDecodeAsNil() {
				x.Data = nil
			} else {
				yyv3472 := &x.Data
				yym3473 := z.DecBinary()
				_ = yym3473
				if false {
				} else {
					*yyv3472 = r.DecodeBytes(*(*[]byte)(yyv3472), false, false)
				}
			}
		default:
			z.DecStructFieldNotFound(-1, yys3467)
		} // end switch yys3467
	} // end for yyj3467
	if !yyhl3467 {
		r.ReadEnd()
	}
}

func (x *RangeAllocation) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r
	var yyj3474 int
	var yyb3474 bool
	var yyhl3474 bool = l >= 0
	yyj3474++
	if yyhl3474 {
		yyb3474 = yyj3474 > l
	} else {
		yyb3474 = r.CheckBreak()
	}
	if yyb3474 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Kind = ""
	} else {
		x.Kind = string(r.DecodeString())
	}
	yyj3474++
	if yyhl3474 {
		yyb3474 = yyj3474 > l
	} else {
		yyb3474 = r.CheckBreak()
	}
	if yyb3474 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.APIVersion = ""
	} else {
		x.APIVersion = string(r.DecodeString())
	}
	yyj3474++
	if yyhl3474 {
		yyb3474 = yyj3474 > l
	} else {
		yyb3474 = r.CheckBreak()
	}
	if yyb3474 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.ObjectMeta = ObjectMeta{}
	} else {
		yyv3477 := &x.ObjectMeta
		yyv3477.CodecDecodeSelf(d)
	}
	yyj3474++
	if yyhl3474 {
		yyb3474 = yyj3474 > l
	} else {
		yyb3474 = r.CheckBreak()
	}
	if yyb3474 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Range = ""
	} else {
		x.Range = string(r.DecodeString())
	}
	yyj3474++
	if yyhl3474 {
		yyb3474 = yyj3474 > l
	} else {
		yyb3474 = r.CheckBreak()
	}
	if yyb3474 {
		r.ReadEnd()
		return
	}
	if r.TryDecodeAsNil() {
		x.Data = nil
	} else {
		yyv3479 := &x.Data
		yym3480 := z.DecBinary()
		_ = yym3480
		if false {
		} else {
			*yyv3479 = r.DecodeBytes(*(*[]byte)(yyv3479), false, false)
		}
	}
	for {
		yyj3474++
		if yyhl3474 {
			yyb3474 = yyj3474 > l
		} else {
			yyb3474 = r.CheckBreak()
		}
		if yyb3474 {
			break
		}
		z.DecStructFieldNotFound(yyj3474-1, "")
	}
	r.ReadEnd()
}

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 _, yyv3481 := range v {
		yyv3481.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3482 := *v
	yyh3482, yyl3482 := z.DecSliceHelperStart()

	var yyrr3482, yyrl3482 int
	var yyc3482, yyrt3482 bool
	_, _, _ = yyc3482, yyrt3482, yyrl3482
	yyrr3482 = yyl3482

	if yyv3482 == nil {
		if yyrl3482, yyrt3482 = z.DecInferLen(yyl3482, z.DecBasicHandle().MaxInitLen, 16); yyrt3482 {
			yyrr3482 = yyrl3482
		}
		yyv3482 = make([]PersistentVolumeAccessMode, yyrl3482)
		yyc3482 = true
	}

	if yyl3482 == 0 {
		if len(yyv3482) != 0 {
			yyv3482 = yyv3482[:0]
			yyc3482 = true
		}
	} else if yyl3482 > 0 {

		if yyl3482 > cap(yyv3482) {
			yyrl3482, yyrt3482 = z.DecInferLen(yyl3482, z.DecBasicHandle().MaxInitLen, 16)

			yyv23482 := yyv3482
			yyv3482 = make([]PersistentVolumeAccessMode, yyrl3482)
			if len(yyv3482) > 0 {
				copy(yyv3482, yyv23482[:cap(yyv23482)])
			}
			yyc3482 = true

			yyrr3482 = len(yyv3482)
		} else if yyl3482 != len(yyv3482) {
			yyv3482 = yyv3482[:yyl3482]
			yyc3482 = true
		}
		yyj3482 := 0
		for ; yyj3482 < yyrr3482; yyj3482++ {
			if r.TryDecodeAsNil() {
				yyv3482[yyj3482] = ""
			} else {
				yyv3482[yyj3482] = PersistentVolumeAccessMode(r.DecodeString())
			}

		}
		if yyrt3482 {
			for ; yyj3482 < yyl3482; yyj3482++ {
				yyv3482 = append(yyv3482, "")
				if r.TryDecodeAsNil() {
					yyv3482[yyj3482] = ""
				} else {
					yyv3482[yyj3482] = PersistentVolumeAccessMode(r.DecodeString())
				}

			}
		}

	} else {
		for yyj3482 := 0; !r.CheckBreak(); yyj3482++ {
			if yyj3482 >= len(yyv3482) {
				yyv3482 = append(yyv3482, "") // var yyz3482 PersistentVolumeAccessMode
				yyc3482 = true
			}

			if yyj3482 < len(yyv3482) {
				if r.TryDecodeAsNil() {
					yyv3482[yyj3482] = ""
				} else {
					yyv3482[yyj3482] = PersistentVolumeAccessMode(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3482.End()
	}
	if yyc3482 {
		*v = yyv3482
	}

}

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 _, yyv3486 := range v {
		yy3487 := &yyv3486
		yy3487.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3488 := *v
	yyh3488, yyl3488 := z.DecSliceHelperStart()

	var yyrr3488, yyrl3488 int
	var yyc3488, yyrt3488 bool
	_, _, _ = yyc3488, yyrt3488, yyrl3488
	yyrr3488 = yyl3488

	if yyv3488 == nil {
		if yyrl3488, yyrt3488 = z.DecInferLen(yyl3488, z.DecBasicHandle().MaxInitLen, 384); yyrt3488 {
			yyrr3488 = yyrl3488
		}
		yyv3488 = make([]PersistentVolume, yyrl3488)
		yyc3488 = true
	}

	if yyl3488 == 0 {
		if len(yyv3488) != 0 {
			yyv3488 = yyv3488[:0]
			yyc3488 = true
		}
	} else if yyl3488 > 0 {

		if yyl3488 > cap(yyv3488) {
			yyrl3488, yyrt3488 = z.DecInferLen(yyl3488, z.DecBasicHandle().MaxInitLen, 384)
			yyv3488 = make([]PersistentVolume, yyrl3488)
			yyc3488 = true

			yyrr3488 = len(yyv3488)
		} else if yyl3488 != len(yyv3488) {
			yyv3488 = yyv3488[:yyl3488]
			yyc3488 = true
		}
		yyj3488 := 0
		for ; yyj3488 < yyrr3488; yyj3488++ {
			if r.TryDecodeAsNil() {
				yyv3488[yyj3488] = PersistentVolume{}
			} else {
				yyv3489 := &yyv3488[yyj3488]
				yyv3489.CodecDecodeSelf(d)
			}

		}
		if yyrt3488 {
			for ; yyj3488 < yyl3488; yyj3488++ {
				yyv3488 = append(yyv3488, PersistentVolume{})
				if r.TryDecodeAsNil() {
					yyv3488[yyj3488] = PersistentVolume{}
				} else {
					yyv3490 := &yyv3488[yyj3488]
					yyv3490.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3488 := 0; !r.CheckBreak(); yyj3488++ {
			if yyj3488 >= len(yyv3488) {
				yyv3488 = append(yyv3488, PersistentVolume{}) // var yyz3488 PersistentVolume
				yyc3488 = true
			}

			if yyj3488 < len(yyv3488) {
				if r.TryDecodeAsNil() {
					yyv3488[yyj3488] = PersistentVolume{}
				} else {
					yyv3491 := &yyv3488[yyj3488]
					yyv3491.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3488.End()
	}
	if yyc3488 {
		*v = yyv3488
	}

}

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 _, yyv3492 := range v {
		yy3493 := &yyv3492
		yy3493.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3494 := *v
	yyh3494, yyl3494 := z.DecSliceHelperStart()

	var yyrr3494, yyrl3494 int
	var yyc3494, yyrt3494 bool
	_, _, _ = yyc3494, yyrt3494, yyrl3494
	yyrr3494 = yyl3494

	if yyv3494 == nil {
		if yyrl3494, yyrt3494 = z.DecInferLen(yyl3494, z.DecBasicHandle().MaxInitLen, 296); yyrt3494 {
			yyrr3494 = yyrl3494
		}
		yyv3494 = make([]PersistentVolumeClaim, yyrl3494)
		yyc3494 = true
	}

	if yyl3494 == 0 {
		if len(yyv3494) != 0 {
			yyv3494 = yyv3494[:0]
			yyc3494 = true
		}
	} else if yyl3494 > 0 {

		if yyl3494 > cap(yyv3494) {
			yyrl3494, yyrt3494 = z.DecInferLen(yyl3494, z.DecBasicHandle().MaxInitLen, 296)
			yyv3494 = make([]PersistentVolumeClaim, yyrl3494)
			yyc3494 = true

			yyrr3494 = len(yyv3494)
		} else if yyl3494 != len(yyv3494) {
			yyv3494 = yyv3494[:yyl3494]
			yyc3494 = true
		}
		yyj3494 := 0
		for ; yyj3494 < yyrr3494; yyj3494++ {
			if r.TryDecodeAsNil() {
				yyv3494[yyj3494] = PersistentVolumeClaim{}
			} else {
				yyv3495 := &yyv3494[yyj3494]
				yyv3495.CodecDecodeSelf(d)
			}

		}
		if yyrt3494 {
			for ; yyj3494 < yyl3494; yyj3494++ {
				yyv3494 = append(yyv3494, PersistentVolumeClaim{})
				if r.TryDecodeAsNil() {
					yyv3494[yyj3494] = PersistentVolumeClaim{}
				} else {
					yyv3496 := &yyv3494[yyj3494]
					yyv3496.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3494 := 0; !r.CheckBreak(); yyj3494++ {
			if yyj3494 >= len(yyv3494) {
				yyv3494 = append(yyv3494, PersistentVolumeClaim{}) // var yyz3494 PersistentVolumeClaim
				yyc3494 = true
			}

			if yyj3494 < len(yyv3494) {
				if r.TryDecodeAsNil() {
					yyv3494[yyj3494] = PersistentVolumeClaim{}
				} else {
					yyv3497 := &yyv3494[yyj3494]
					yyv3497.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3494.End()
	}
	if yyc3494 {
		*v = yyv3494
	}

}

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 _, yyv3498 := range v {
		yy3499 := &yyv3498
		yy3499.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3500 := *v
	yyh3500, yyl3500 := z.DecSliceHelperStart()

	var yyrr3500, yyrl3500 int
	var yyc3500, yyrt3500 bool
	_, _, _ = yyc3500, yyrt3500, yyrl3500
	yyrr3500 = yyl3500

	if yyv3500 == nil {
		if yyrl3500, yyrt3500 = z.DecInferLen(yyl3500, z.DecBasicHandle().MaxInitLen, 48); yyrt3500 {
			yyrr3500 = yyrl3500
		}
		yyv3500 = make([]DownwardAPIVolumeFile, yyrl3500)
		yyc3500 = true
	}

	if yyl3500 == 0 {
		if len(yyv3500) != 0 {
			yyv3500 = yyv3500[:0]
			yyc3500 = true
		}
	} else if yyl3500 > 0 {

		if yyl3500 > cap(yyv3500) {
			yyrl3500, yyrt3500 = z.DecInferLen(yyl3500, z.DecBasicHandle().MaxInitLen, 48)
			yyv3500 = make([]DownwardAPIVolumeFile, yyrl3500)
			yyc3500 = true

			yyrr3500 = len(yyv3500)
		} else if yyl3500 != len(yyv3500) {
			yyv3500 = yyv3500[:yyl3500]
			yyc3500 = true
		}
		yyj3500 := 0
		for ; yyj3500 < yyrr3500; yyj3500++ {
			if r.TryDecodeAsNil() {
				yyv3500[yyj3500] = DownwardAPIVolumeFile{}
			} else {
				yyv3501 := &yyv3500[yyj3500]
				yyv3501.CodecDecodeSelf(d)
			}

		}
		if yyrt3500 {
			for ; yyj3500 < yyl3500; yyj3500++ {
				yyv3500 = append(yyv3500, DownwardAPIVolumeFile{})
				if r.TryDecodeAsNil() {
					yyv3500[yyj3500] = DownwardAPIVolumeFile{}
				} else {
					yyv3502 := &yyv3500[yyj3500]
					yyv3502.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3500 := 0; !r.CheckBreak(); yyj3500++ {
			if yyj3500 >= len(yyv3500) {
				yyv3500 = append(yyv3500, DownwardAPIVolumeFile{}) // var yyz3500 DownwardAPIVolumeFile
				yyc3500 = true
			}

			if yyj3500 < len(yyv3500) {
				if r.TryDecodeAsNil() {
					yyv3500[yyj3500] = DownwardAPIVolumeFile{}
				} else {
					yyv3503 := &yyv3500[yyj3500]
					yyv3503.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3500.End()
	}
	if yyc3500 {
		*v = yyv3500
	}

}

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 _, yyv3504 := range v {
		yyv3504.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3505 := *v
	yyh3505, yyl3505 := z.DecSliceHelperStart()

	var yyrr3505, yyrl3505 int
	var yyc3505, yyrt3505 bool
	_, _, _ = yyc3505, yyrt3505, yyrl3505
	yyrr3505 = yyl3505

	if yyv3505 == nil {
		if yyrl3505, yyrt3505 = z.DecInferLen(yyl3505, z.DecBasicHandle().MaxInitLen, 16); yyrt3505 {
			yyrr3505 = yyrl3505
		}
		yyv3505 = make([]Capability, yyrl3505)
		yyc3505 = true
	}

	if yyl3505 == 0 {
		if len(yyv3505) != 0 {
			yyv3505 = yyv3505[:0]
			yyc3505 = true
		}
	} else if yyl3505 > 0 {

		if yyl3505 > cap(yyv3505) {
			yyrl3505, yyrt3505 = z.DecInferLen(yyl3505, z.DecBasicHandle().MaxInitLen, 16)

			yyv23505 := yyv3505
			yyv3505 = make([]Capability, yyrl3505)
			if len(yyv3505) > 0 {
				copy(yyv3505, yyv23505[:cap(yyv23505)])
			}
			yyc3505 = true

			yyrr3505 = len(yyv3505)
		} else if yyl3505 != len(yyv3505) {
			yyv3505 = yyv3505[:yyl3505]
			yyc3505 = true
		}
		yyj3505 := 0
		for ; yyj3505 < yyrr3505; yyj3505++ {
			if r.TryDecodeAsNil() {
				yyv3505[yyj3505] = ""
			} else {
				yyv3505[yyj3505] = Capability(r.DecodeString())
			}

		}
		if yyrt3505 {
			for ; yyj3505 < yyl3505; yyj3505++ {
				yyv3505 = append(yyv3505, "")
				if r.TryDecodeAsNil() {
					yyv3505[yyj3505] = ""
				} else {
					yyv3505[yyj3505] = Capability(r.DecodeString())
				}

			}
		}

	} else {
		for yyj3505 := 0; !r.CheckBreak(); yyj3505++ {
			if yyj3505 >= len(yyv3505) {
				yyv3505 = append(yyv3505, "") // var yyz3505 Capability
				yyc3505 = true
			}

			if yyj3505 < len(yyv3505) {
				if r.TryDecodeAsNil() {
					yyv3505[yyj3505] = ""
				} else {
					yyv3505[yyj3505] = Capability(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3505.End()
	}
	if yyc3505 {
		*v = yyv3505
	}

}

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 _, yyv3509 := range v {
		yy3510 := &yyv3509
		yy3510.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3511 := *v
	yyh3511, yyl3511 := z.DecSliceHelperStart()

	var yyrr3511, yyrl3511 int
	var yyc3511, yyrt3511 bool
	_, _, _ = yyc3511, yyrt3511, yyrl3511
	yyrr3511 = yyl3511

	if yyv3511 == nil {
		if yyrl3511, yyrt3511 = z.DecInferLen(yyl3511, z.DecBasicHandle().MaxInitLen, 64); yyrt3511 {
			yyrr3511 = yyrl3511
		}
		yyv3511 = make([]ContainerPort, yyrl3511)
		yyc3511 = true
	}

	if yyl3511 == 0 {
		if len(yyv3511) != 0 {
			yyv3511 = yyv3511[:0]
			yyc3511 = true
		}
	} else if yyl3511 > 0 {

		if yyl3511 > cap(yyv3511) {
			yyrl3511, yyrt3511 = z.DecInferLen(yyl3511, z.DecBasicHandle().MaxInitLen, 64)
			yyv3511 = make([]ContainerPort, yyrl3511)
			yyc3511 = true

			yyrr3511 = len(yyv3511)
		} else if yyl3511 != len(yyv3511) {
			yyv3511 = yyv3511[:yyl3511]
			yyc3511 = true
		}
		yyj3511 := 0
		for ; yyj3511 < yyrr3511; yyj3511++ {
			if r.TryDecodeAsNil() {
				yyv3511[yyj3511] = ContainerPort{}
			} else {
				yyv3512 := &yyv3511[yyj3511]
				yyv3512.CodecDecodeSelf(d)
			}

		}
		if yyrt3511 {
			for ; yyj3511 < yyl3511; yyj3511++ {
				yyv3511 = append(yyv3511, ContainerPort{})
				if r.TryDecodeAsNil() {
					yyv3511[yyj3511] = ContainerPort{}
				} else {
					yyv3513 := &yyv3511[yyj3511]
					yyv3513.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3511 := 0; !r.CheckBreak(); yyj3511++ {
			if yyj3511 >= len(yyv3511) {
				yyv3511 = append(yyv3511, ContainerPort{}) // var yyz3511 ContainerPort
				yyc3511 = true
			}

			if yyj3511 < len(yyv3511) {
				if r.TryDecodeAsNil() {
					yyv3511[yyj3511] = ContainerPort{}
				} else {
					yyv3514 := &yyv3511[yyj3511]
					yyv3514.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3511.End()
	}
	if yyc3511 {
		*v = yyv3511
	}

}

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 _, yyv3515 := range v {
		yy3516 := &yyv3515
		yy3516.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3517 := *v
	yyh3517, yyl3517 := z.DecSliceHelperStart()

	var yyrr3517, yyrl3517 int
	var yyc3517, yyrt3517 bool
	_, _, _ = yyc3517, yyrt3517, yyrl3517
	yyrr3517 = yyl3517

	if yyv3517 == nil {
		if yyrl3517, yyrt3517 = z.DecInferLen(yyl3517, z.DecBasicHandle().MaxInitLen, 40); yyrt3517 {
			yyrr3517 = yyrl3517
		}
		yyv3517 = make([]EnvVar, yyrl3517)
		yyc3517 = true
	}

	if yyl3517 == 0 {
		if len(yyv3517) != 0 {
			yyv3517 = yyv3517[:0]
			yyc3517 = true
		}
	} else if yyl3517 > 0 {

		if yyl3517 > cap(yyv3517) {
			yyrl3517, yyrt3517 = z.DecInferLen(yyl3517, z.DecBasicHandle().MaxInitLen, 40)
			yyv3517 = make([]EnvVar, yyrl3517)
			yyc3517 = true

			yyrr3517 = len(yyv3517)
		} else if yyl3517 != len(yyv3517) {
			yyv3517 = yyv3517[:yyl3517]
			yyc3517 = true
		}
		yyj3517 := 0
		for ; yyj3517 < yyrr3517; yyj3517++ {
			if r.TryDecodeAsNil() {
				yyv3517[yyj3517] = EnvVar{}
			} else {
				yyv3518 := &yyv3517[yyj3517]
				yyv3518.CodecDecodeSelf(d)
			}

		}
		if yyrt3517 {
			for ; yyj3517 < yyl3517; yyj3517++ {
				yyv3517 = append(yyv3517, EnvVar{})
				if r.TryDecodeAsNil() {
					yyv3517[yyj3517] = EnvVar{}
				} else {
					yyv3519 := &yyv3517[yyj3517]
					yyv3519.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3517 := 0; !r.CheckBreak(); yyj3517++ {
			if yyj3517 >= len(yyv3517) {
				yyv3517 = append(yyv3517, EnvVar{}) // var yyz3517 EnvVar
				yyc3517 = true
			}

			if yyj3517 < len(yyv3517) {
				if r.TryDecodeAsNil() {
					yyv3517[yyj3517] = EnvVar{}
				} else {
					yyv3520 := &yyv3517[yyj3517]
					yyv3520.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3517.End()
	}
	if yyc3517 {
		*v = yyv3517
	}

}

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 _, yyv3521 := range v {
		yy3522 := &yyv3521
		yy3522.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3523 := *v
	yyh3523, yyl3523 := z.DecSliceHelperStart()

	var yyrr3523, yyrl3523 int
	var yyc3523, yyrt3523 bool
	_, _, _ = yyc3523, yyrt3523, yyrl3523
	yyrr3523 = yyl3523

	if yyv3523 == nil {
		if yyrl3523, yyrt3523 = z.DecInferLen(yyl3523, z.DecBasicHandle().MaxInitLen, 40); yyrt3523 {
			yyrr3523 = yyrl3523
		}
		yyv3523 = make([]VolumeMount, yyrl3523)
		yyc3523 = true
	}

	if yyl3523 == 0 {
		if len(yyv3523) != 0 {
			yyv3523 = yyv3523[:0]
			yyc3523 = true
		}
	} else if yyl3523 > 0 {

		if yyl3523 > cap(yyv3523) {
			yyrl3523, yyrt3523 = z.DecInferLen(yyl3523, z.DecBasicHandle().MaxInitLen, 40)
			yyv3523 = make([]VolumeMount, yyrl3523)
			yyc3523 = true

			yyrr3523 = len(yyv3523)
		} else if yyl3523 != len(yyv3523) {
			yyv3523 = yyv3523[:yyl3523]
			yyc3523 = true
		}
		yyj3523 := 0
		for ; yyj3523 < yyrr3523; yyj3523++ {
			if r.TryDecodeAsNil() {
				yyv3523[yyj3523] = VolumeMount{}
			} else {
				yyv3524 := &yyv3523[yyj3523]
				yyv3524.CodecDecodeSelf(d)
			}

		}
		if yyrt3523 {
			for ; yyj3523 < yyl3523; yyj3523++ {
				yyv3523 = append(yyv3523, VolumeMount{})
				if r.TryDecodeAsNil() {
					yyv3523[yyj3523] = VolumeMount{}
				} else {
					yyv3525 := &yyv3523[yyj3523]
					yyv3525.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3523 := 0; !r.CheckBreak(); yyj3523++ {
			if yyj3523 >= len(yyv3523) {
				yyv3523 = append(yyv3523, VolumeMount{}) // var yyz3523 VolumeMount
				yyc3523 = true
			}

			if yyj3523 < len(yyv3523) {
				if r.TryDecodeAsNil() {
					yyv3523[yyj3523] = VolumeMount{}
				} else {
					yyv3526 := &yyv3523[yyj3523]
					yyv3526.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3523.End()
	}
	if yyc3523 {
		*v = yyv3523
	}

}

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 _, yyv3527 := range v {
		yy3528 := &yyv3527
		yy3528.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3529 := *v
	yyh3529, yyl3529 := z.DecSliceHelperStart()

	var yyrr3529, yyrl3529 int
	var yyc3529, yyrt3529 bool
	_, _, _ = yyc3529, yyrt3529, yyrl3529
	yyrr3529 = yyl3529

	if yyv3529 == nil {
		if yyrl3529, yyrt3529 = z.DecInferLen(yyl3529, z.DecBasicHandle().MaxInitLen, 496); yyrt3529 {
			yyrr3529 = yyrl3529
		}
		yyv3529 = make([]Pod, yyrl3529)
		yyc3529 = true
	}

	if yyl3529 == 0 {
		if len(yyv3529) != 0 {
			yyv3529 = yyv3529[:0]
			yyc3529 = true
		}
	} else if yyl3529 > 0 {

		if yyl3529 > cap(yyv3529) {
			yyrl3529, yyrt3529 = z.DecInferLen(yyl3529, z.DecBasicHandle().MaxInitLen, 496)
			yyv3529 = make([]Pod, yyrl3529)
			yyc3529 = true

			yyrr3529 = len(yyv3529)
		} else if yyl3529 != len(yyv3529) {
			yyv3529 = yyv3529[:yyl3529]
			yyc3529 = true
		}
		yyj3529 := 0
		for ; yyj3529 < yyrr3529; yyj3529++ {
			if r.TryDecodeAsNil() {
				yyv3529[yyj3529] = Pod{}
			} else {
				yyv3530 := &yyv3529[yyj3529]
				yyv3530.CodecDecodeSelf(d)
			}

		}
		if yyrt3529 {
			for ; yyj3529 < yyl3529; yyj3529++ {
				yyv3529 = append(yyv3529, Pod{})
				if r.TryDecodeAsNil() {
					yyv3529[yyj3529] = Pod{}
				} else {
					yyv3531 := &yyv3529[yyj3529]
					yyv3531.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3529 := 0; !r.CheckBreak(); yyj3529++ {
			if yyj3529 >= len(yyv3529) {
				yyv3529 = append(yyv3529, Pod{}) // var yyz3529 Pod
				yyc3529 = true
			}

			if yyj3529 < len(yyv3529) {
				if r.TryDecodeAsNil() {
					yyv3529[yyj3529] = Pod{}
				} else {
					yyv3532 := &yyv3529[yyj3529]
					yyv3532.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3529.End()
	}
	if yyc3529 {
		*v = yyv3529
	}

}

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 _, yyv3533 := range v {
		yy3534 := &yyv3533
		yy3534.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3535 := *v
	yyh3535, yyl3535 := z.DecSliceHelperStart()

	var yyrr3535, yyrl3535 int
	var yyc3535, yyrt3535 bool
	_, _, _ = yyc3535, yyrt3535, yyrl3535
	yyrr3535 = yyl3535

	if yyv3535 == nil {
		if yyrl3535, yyrt3535 = z.DecInferLen(yyl3535, z.DecBasicHandle().MaxInitLen, 144); yyrt3535 {
			yyrr3535 = yyrl3535
		}
		yyv3535 = make([]Volume, yyrl3535)
		yyc3535 = true
	}

	if yyl3535 == 0 {
		if len(yyv3535) != 0 {
			yyv3535 = yyv3535[:0]
			yyc3535 = true
		}
	} else if yyl3535 > 0 {

		if yyl3535 > cap(yyv3535) {
			yyrl3535, yyrt3535 = z.DecInferLen(yyl3535, z.DecBasicHandle().MaxInitLen, 144)
			yyv3535 = make([]Volume, yyrl3535)
			yyc3535 = true

			yyrr3535 = len(yyv3535)
		} else if yyl3535 != len(yyv3535) {
			yyv3535 = yyv3535[:yyl3535]
			yyc3535 = true
		}
		yyj3535 := 0
		for ; yyj3535 < yyrr3535; yyj3535++ {
			if r.TryDecodeAsNil() {
				yyv3535[yyj3535] = Volume{}
			} else {
				yyv3536 := &yyv3535[yyj3535]
				yyv3536.CodecDecodeSelf(d)
			}

		}
		if yyrt3535 {
			for ; yyj3535 < yyl3535; yyj3535++ {
				yyv3535 = append(yyv3535, Volume{})
				if r.TryDecodeAsNil() {
					yyv3535[yyj3535] = Volume{}
				} else {
					yyv3537 := &yyv3535[yyj3535]
					yyv3537.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3535 := 0; !r.CheckBreak(); yyj3535++ {
			if yyj3535 >= len(yyv3535) {
				yyv3535 = append(yyv3535, Volume{}) // var yyz3535 Volume
				yyc3535 = true
			}

			if yyj3535 < len(yyv3535) {
				if r.TryDecodeAsNil() {
					yyv3535[yyj3535] = Volume{}
				} else {
					yyv3538 := &yyv3535[yyj3535]
					yyv3538.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3535.End()
	}
	if yyc3535 {
		*v = yyv3535
	}

}

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 _, yyv3539 := range v {
		yy3540 := &yyv3539
		yy3540.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3541 := *v
	yyh3541, yyl3541 := z.DecSliceHelperStart()

	var yyrr3541, yyrl3541 int
	var yyc3541, yyrt3541 bool
	_, _, _ = yyc3541, yyrt3541, yyrl3541
	yyrr3541 = yyl3541

	if yyv3541 == nil {
		if yyrl3541, yyrt3541 = z.DecInferLen(yyl3541, z.DecBasicHandle().MaxInitLen, 256); yyrt3541 {
			yyrr3541 = yyrl3541
		}
		yyv3541 = make([]Container, yyrl3541)
		yyc3541 = true
	}

	if yyl3541 == 0 {
		if len(yyv3541) != 0 {
			yyv3541 = yyv3541[:0]
			yyc3541 = true
		}
	} else if yyl3541 > 0 {

		if yyl3541 > cap(yyv3541) {
			yyrl3541, yyrt3541 = z.DecInferLen(yyl3541, z.DecBasicHandle().MaxInitLen, 256)
			yyv3541 = make([]Container, yyrl3541)
			yyc3541 = true

			yyrr3541 = len(yyv3541)
		} else if yyl3541 != len(yyv3541) {
			yyv3541 = yyv3541[:yyl3541]
			yyc3541 = true
		}
		yyj3541 := 0
		for ; yyj3541 < yyrr3541; yyj3541++ {
			if r.TryDecodeAsNil() {
				yyv3541[yyj3541] = Container{}
			} else {
				yyv3542 := &yyv3541[yyj3541]
				yyv3542.CodecDecodeSelf(d)
			}

		}
		if yyrt3541 {
			for ; yyj3541 < yyl3541; yyj3541++ {
				yyv3541 = append(yyv3541, Container{})
				if r.TryDecodeAsNil() {
					yyv3541[yyj3541] = Container{}
				} else {
					yyv3543 := &yyv3541[yyj3541]
					yyv3543.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3541 := 0; !r.CheckBreak(); yyj3541++ {
			if yyj3541 >= len(yyv3541) {
				yyv3541 = append(yyv3541, Container{}) // var yyz3541 Container
				yyc3541 = true
			}

			if yyj3541 < len(yyv3541) {
				if r.TryDecodeAsNil() {
					yyv3541[yyj3541] = Container{}
				} else {
					yyv3544 := &yyv3541[yyj3541]
					yyv3544.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3541.End()
	}
	if yyc3541 {
		*v = yyv3541
	}

}

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 _, yyv3545 := range v {
		yy3546 := &yyv3545
		yy3546.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3547 := *v
	yyh3547, yyl3547 := z.DecSliceHelperStart()

	var yyrr3547, yyrl3547 int
	var yyc3547, yyrt3547 bool
	_, _, _ = yyc3547, yyrt3547, yyrl3547
	yyrr3547 = yyl3547

	if yyv3547 == nil {
		if yyrl3547, yyrt3547 = z.DecInferLen(yyl3547, z.DecBasicHandle().MaxInitLen, 16); yyrt3547 {
			yyrr3547 = yyrl3547
		}
		yyv3547 = make([]LocalObjectReference, yyrl3547)
		yyc3547 = true
	}

	if yyl3547 == 0 {
		if len(yyv3547) != 0 {
			yyv3547 = yyv3547[:0]
			yyc3547 = true
		}
	} else if yyl3547 > 0 {

		if yyl3547 > cap(yyv3547) {
			yyrl3547, yyrt3547 = z.DecInferLen(yyl3547, z.DecBasicHandle().MaxInitLen, 16)
			yyv3547 = make([]LocalObjectReference, yyrl3547)
			yyc3547 = true

			yyrr3547 = len(yyv3547)
		} else if yyl3547 != len(yyv3547) {
			yyv3547 = yyv3547[:yyl3547]
			yyc3547 = true
		}
		yyj3547 := 0
		for ; yyj3547 < yyrr3547; yyj3547++ {
			if r.TryDecodeAsNil() {
				yyv3547[yyj3547] = LocalObjectReference{}
			} else {
				yyv3548 := &yyv3547[yyj3547]
				yyv3548.CodecDecodeSelf(d)
			}

		}
		if yyrt3547 {
			for ; yyj3547 < yyl3547; yyj3547++ {
				yyv3547 = append(yyv3547, LocalObjectReference{})
				if r.TryDecodeAsNil() {
					yyv3547[yyj3547] = LocalObjectReference{}
				} else {
					yyv3549 := &yyv3547[yyj3547]
					yyv3549.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3547 := 0; !r.CheckBreak(); yyj3547++ {
			if yyj3547 >= len(yyv3547) {
				yyv3547 = append(yyv3547, LocalObjectReference{}) // var yyz3547 LocalObjectReference
				yyc3547 = true
			}

			if yyj3547 < len(yyv3547) {
				if r.TryDecodeAsNil() {
					yyv3547[yyj3547] = LocalObjectReference{}
				} else {
					yyv3550 := &yyv3547[yyj3547]
					yyv3550.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3547.End()
	}
	if yyc3547 {
		*v = yyv3547
	}

}

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 _, yyv3551 := range v {
		yy3552 := &yyv3551
		yy3552.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3553 := *v
	yyh3553, yyl3553 := z.DecSliceHelperStart()

	var yyrr3553, yyrl3553 int
	var yyc3553, yyrt3553 bool
	_, _, _ = yyc3553, yyrt3553, yyrl3553
	yyrr3553 = yyl3553

	if yyv3553 == nil {
		if yyrl3553, yyrt3553 = z.DecInferLen(yyl3553, z.DecBasicHandle().MaxInitLen, 112); yyrt3553 {
			yyrr3553 = yyrl3553
		}
		yyv3553 = make([]PodCondition, yyrl3553)
		yyc3553 = true
	}

	if yyl3553 == 0 {
		if len(yyv3553) != 0 {
			yyv3553 = yyv3553[:0]
			yyc3553 = true
		}
	} else if yyl3553 > 0 {

		if yyl3553 > cap(yyv3553) {
			yyrl3553, yyrt3553 = z.DecInferLen(yyl3553, z.DecBasicHandle().MaxInitLen, 112)
			yyv3553 = make([]PodCondition, yyrl3553)
			yyc3553 = true

			yyrr3553 = len(yyv3553)
		} else if yyl3553 != len(yyv3553) {
			yyv3553 = yyv3553[:yyl3553]
			yyc3553 = true
		}
		yyj3553 := 0
		for ; yyj3553 < yyrr3553; yyj3553++ {
			if r.TryDecodeAsNil() {
				yyv3553[yyj3553] = PodCondition{}
			} else {
				yyv3554 := &yyv3553[yyj3553]
				yyv3554.CodecDecodeSelf(d)
			}

		}
		if yyrt3553 {
			for ; yyj3553 < yyl3553; yyj3553++ {
				yyv3553 = append(yyv3553, PodCondition{})
				if r.TryDecodeAsNil() {
					yyv3553[yyj3553] = PodCondition{}
				} else {
					yyv3555 := &yyv3553[yyj3553]
					yyv3555.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3553 := 0; !r.CheckBreak(); yyj3553++ {
			if yyj3553 >= len(yyv3553) {
				yyv3553 = append(yyv3553, PodCondition{}) // var yyz3553 PodCondition
				yyc3553 = true
			}

			if yyj3553 < len(yyv3553) {
				if r.TryDecodeAsNil() {
					yyv3553[yyj3553] = PodCondition{}
				} else {
					yyv3556 := &yyv3553[yyj3553]
					yyv3556.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3553.End()
	}
	if yyc3553 {
		*v = yyv3553
	}

}

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 _, yyv3557 := range v {
		yy3558 := &yyv3557
		yy3558.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3559 := *v
	yyh3559, yyl3559 := z.DecSliceHelperStart()

	var yyrr3559, yyrl3559 int
	var yyc3559, yyrt3559 bool
	_, _, _ = yyc3559, yyrt3559, yyrl3559
	yyrr3559 = yyl3559

	if yyv3559 == nil {
		if yyrl3559, yyrt3559 = z.DecInferLen(yyl3559, z.DecBasicHandle().MaxInitLen, 128); yyrt3559 {
			yyrr3559 = yyrl3559
		}
		yyv3559 = make([]ContainerStatus, yyrl3559)
		yyc3559 = true
	}

	if yyl3559 == 0 {
		if len(yyv3559) != 0 {
			yyv3559 = yyv3559[:0]
			yyc3559 = true
		}
	} else if yyl3559 > 0 {

		if yyl3559 > cap(yyv3559) {
			yyrl3559, yyrt3559 = z.DecInferLen(yyl3559, z.DecBasicHandle().MaxInitLen, 128)
			yyv3559 = make([]ContainerStatus, yyrl3559)
			yyc3559 = true

			yyrr3559 = len(yyv3559)
		} else if yyl3559 != len(yyv3559) {
			yyv3559 = yyv3559[:yyl3559]
			yyc3559 = true
		}
		yyj3559 := 0
		for ; yyj3559 < yyrr3559; yyj3559++ {
			if r.TryDecodeAsNil() {
				yyv3559[yyj3559] = ContainerStatus{}
			} else {
				yyv3560 := &yyv3559[yyj3559]
				yyv3560.CodecDecodeSelf(d)
			}

		}
		if yyrt3559 {
			for ; yyj3559 < yyl3559; yyj3559++ {
				yyv3559 = append(yyv3559, ContainerStatus{})
				if r.TryDecodeAsNil() {
					yyv3559[yyj3559] = ContainerStatus{}
				} else {
					yyv3561 := &yyv3559[yyj3559]
					yyv3561.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3559 := 0; !r.CheckBreak(); yyj3559++ {
			if yyj3559 >= len(yyv3559) {
				yyv3559 = append(yyv3559, ContainerStatus{}) // var yyz3559 ContainerStatus
				yyc3559 = true
			}

			if yyj3559 < len(yyv3559) {
				if r.TryDecodeAsNil() {
					yyv3559[yyj3559] = ContainerStatus{}
				} else {
					yyv3562 := &yyv3559[yyj3559]
					yyv3562.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3559.End()
	}
	if yyc3559 {
		*v = yyv3559
	}

}

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 _, yyv3563 := range v {
		yy3564 := &yyv3563
		yy3564.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3565 := *v
	yyh3565, yyl3565 := z.DecSliceHelperStart()

	var yyrr3565, yyrl3565 int
	var yyc3565, yyrt3565 bool
	_, _, _ = yyc3565, yyrt3565, yyrl3565
	yyrr3565 = yyl3565

	if yyv3565 == nil {
		if yyrl3565, yyrt3565 = z.DecInferLen(yyl3565, z.DecBasicHandle().MaxInitLen, 520); yyrt3565 {
			yyrr3565 = yyrl3565
		}
		yyv3565 = make([]PodTemplate, yyrl3565)
		yyc3565 = true
	}

	if yyl3565 == 0 {
		if len(yyv3565) != 0 {
			yyv3565 = yyv3565[:0]
			yyc3565 = true
		}
	} else if yyl3565 > 0 {

		if yyl3565 > cap(yyv3565) {
			yyrl3565, yyrt3565 = z.DecInferLen(yyl3565, z.DecBasicHandle().MaxInitLen, 520)
			yyv3565 = make([]PodTemplate, yyrl3565)
			yyc3565 = true

			yyrr3565 = len(yyv3565)
		} else if yyl3565 != len(yyv3565) {
			yyv3565 = yyv3565[:yyl3565]
			yyc3565 = true
		}
		yyj3565 := 0
		for ; yyj3565 < yyrr3565; yyj3565++ {
			if r.TryDecodeAsNil() {
				yyv3565[yyj3565] = PodTemplate{}
			} else {
				yyv3566 := &yyv3565[yyj3565]
				yyv3566.CodecDecodeSelf(d)
			}

		}
		if yyrt3565 {
			for ; yyj3565 < yyl3565; yyj3565++ {
				yyv3565 = append(yyv3565, PodTemplate{})
				if r.TryDecodeAsNil() {
					yyv3565[yyj3565] = PodTemplate{}
				} else {
					yyv3567 := &yyv3565[yyj3565]
					yyv3567.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3565 := 0; !r.CheckBreak(); yyj3565++ {
			if yyj3565 >= len(yyv3565) {
				yyv3565 = append(yyv3565, PodTemplate{}) // var yyz3565 PodTemplate
				yyc3565 = true
			}

			if yyj3565 < len(yyv3565) {
				if r.TryDecodeAsNil() {
					yyv3565[yyj3565] = PodTemplate{}
				} else {
					yyv3568 := &yyv3565[yyj3565]
					yyv3568.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3565.End()
	}
	if yyc3565 {
		*v = yyv3565
	}

}

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 _, yyv3569 := range v {
		yy3570 := &yyv3569
		yy3570.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3571 := *v
	yyh3571, yyl3571 := z.DecSliceHelperStart()

	var yyrr3571, yyrl3571 int
	var yyc3571, yyrt3571 bool
	_, _, _ = yyc3571, yyrt3571, yyrl3571
	yyrr3571 = yyl3571

	if yyv3571 == nil {
		if yyrl3571, yyrt3571 = z.DecInferLen(yyl3571, z.DecBasicHandle().MaxInitLen, 232); yyrt3571 {
			yyrr3571 = yyrl3571
		}
		yyv3571 = make([]ReplicationController, yyrl3571)
		yyc3571 = true
	}

	if yyl3571 == 0 {
		if len(yyv3571) != 0 {
			yyv3571 = yyv3571[:0]
			yyc3571 = true
		}
	} else if yyl3571 > 0 {

		if yyl3571 > cap(yyv3571) {
			yyrl3571, yyrt3571 = z.DecInferLen(yyl3571, z.DecBasicHandle().MaxInitLen, 232)
			yyv3571 = make([]ReplicationController, yyrl3571)
			yyc3571 = true

			yyrr3571 = len(yyv3571)
		} else if yyl3571 != len(yyv3571) {
			yyv3571 = yyv3571[:yyl3571]
			yyc3571 = true
		}
		yyj3571 := 0
		for ; yyj3571 < yyrr3571; yyj3571++ {
			if r.TryDecodeAsNil() {
				yyv3571[yyj3571] = ReplicationController{}
			} else {
				yyv3572 := &yyv3571[yyj3571]
				yyv3572.CodecDecodeSelf(d)
			}

		}
		if yyrt3571 {
			for ; yyj3571 < yyl3571; yyj3571++ {
				yyv3571 = append(yyv3571, ReplicationController{})
				if r.TryDecodeAsNil() {
					yyv3571[yyj3571] = ReplicationController{}
				} else {
					yyv3573 := &yyv3571[yyj3571]
					yyv3573.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3571 := 0; !r.CheckBreak(); yyj3571++ {
			if yyj3571 >= len(yyv3571) {
				yyv3571 = append(yyv3571, ReplicationController{}) // var yyz3571 ReplicationController
				yyc3571 = true
			}

			if yyj3571 < len(yyv3571) {
				if r.TryDecodeAsNil() {
					yyv3571[yyj3571] = ReplicationController{}
				} else {
					yyv3574 := &yyv3571[yyj3571]
					yyv3574.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3571.End()
	}
	if yyc3571 {
		*v = yyv3571
	}

}

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 _, yyv3575 := range v {
		yy3576 := &yyv3575
		yy3576.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3577 := *v
	yyh3577, yyl3577 := z.DecSliceHelperStart()

	var yyrr3577, yyrl3577 int
	var yyc3577, yyrt3577 bool
	_, _, _ = yyc3577, yyrt3577, yyrl3577
	yyrr3577 = yyl3577

	if yyv3577 == nil {
		if yyrl3577, yyrt3577 = z.DecInferLen(yyl3577, z.DecBasicHandle().MaxInitLen, 336); yyrt3577 {
			yyrr3577 = yyrl3577
		}
		yyv3577 = make([]Service, yyrl3577)
		yyc3577 = true
	}

	if yyl3577 == 0 {
		if len(yyv3577) != 0 {
			yyv3577 = yyv3577[:0]
			yyc3577 = true
		}
	} else if yyl3577 > 0 {

		if yyl3577 > cap(yyv3577) {
			yyrl3577, yyrt3577 = z.DecInferLen(yyl3577, z.DecBasicHandle().MaxInitLen, 336)
			yyv3577 = make([]Service, yyrl3577)
			yyc3577 = true

			yyrr3577 = len(yyv3577)
		} else if yyl3577 != len(yyv3577) {
			yyv3577 = yyv3577[:yyl3577]
			yyc3577 = true
		}
		yyj3577 := 0
		for ; yyj3577 < yyrr3577; yyj3577++ {
			if r.TryDecodeAsNil() {
				yyv3577[yyj3577] = Service{}
			} else {
				yyv3578 := &yyv3577[yyj3577]
				yyv3578.CodecDecodeSelf(d)
			}

		}
		if yyrt3577 {
			for ; yyj3577 < yyl3577; yyj3577++ {
				yyv3577 = append(yyv3577, Service{})
				if r.TryDecodeAsNil() {
					yyv3577[yyj3577] = Service{}
				} else {
					yyv3579 := &yyv3577[yyj3577]
					yyv3579.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3577 := 0; !r.CheckBreak(); yyj3577++ {
			if yyj3577 >= len(yyv3577) {
				yyv3577 = append(yyv3577, Service{}) // var yyz3577 Service
				yyc3577 = true
			}

			if yyj3577 < len(yyv3577) {
				if r.TryDecodeAsNil() {
					yyv3577[yyj3577] = Service{}
				} else {
					yyv3580 := &yyv3577[yyj3577]
					yyv3580.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3577.End()
	}
	if yyc3577 {
		*v = yyv3577
	}

}

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 _, yyv3581 := range v {
		yy3582 := &yyv3581
		yy3582.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3583 := *v
	yyh3583, yyl3583 := z.DecSliceHelperStart()

	var yyrr3583, yyrl3583 int
	var yyc3583, yyrt3583 bool
	_, _, _ = yyc3583, yyrt3583, yyrl3583
	yyrr3583 = yyl3583

	if yyv3583 == nil {
		if yyrl3583, yyrt3583 = z.DecInferLen(yyl3583, z.DecBasicHandle().MaxInitLen, 32); yyrt3583 {
			yyrr3583 = yyrl3583
		}
		yyv3583 = make([]LoadBalancerIngress, yyrl3583)
		yyc3583 = true
	}

	if yyl3583 == 0 {
		if len(yyv3583) != 0 {
			yyv3583 = yyv3583[:0]
			yyc3583 = true
		}
	} else if yyl3583 > 0 {

		if yyl3583 > cap(yyv3583) {
			yyrl3583, yyrt3583 = z.DecInferLen(yyl3583, z.DecBasicHandle().MaxInitLen, 32)
			yyv3583 = make([]LoadBalancerIngress, yyrl3583)
			yyc3583 = true

			yyrr3583 = len(yyv3583)
		} else if yyl3583 != len(yyv3583) {
			yyv3583 = yyv3583[:yyl3583]
			yyc3583 = true
		}
		yyj3583 := 0
		for ; yyj3583 < yyrr3583; yyj3583++ {
			if r.TryDecodeAsNil() {
				yyv3583[yyj3583] = LoadBalancerIngress{}
			} else {
				yyv3584 := &yyv3583[yyj3583]
				yyv3584.CodecDecodeSelf(d)
			}

		}
		if yyrt3583 {
			for ; yyj3583 < yyl3583; yyj3583++ {
				yyv3583 = append(yyv3583, LoadBalancerIngress{})
				if r.TryDecodeAsNil() {
					yyv3583[yyj3583] = LoadBalancerIngress{}
				} else {
					yyv3585 := &yyv3583[yyj3583]
					yyv3585.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3583 := 0; !r.CheckBreak(); yyj3583++ {
			if yyj3583 >= len(yyv3583) {
				yyv3583 = append(yyv3583, LoadBalancerIngress{}) // var yyz3583 LoadBalancerIngress
				yyc3583 = true
			}

			if yyj3583 < len(yyv3583) {
				if r.TryDecodeAsNil() {
					yyv3583[yyj3583] = LoadBalancerIngress{}
				} else {
					yyv3586 := &yyv3583[yyj3583]
					yyv3586.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3583.End()
	}
	if yyc3583 {
		*v = yyv3583
	}

}

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 _, yyv3587 := range v {
		yy3588 := &yyv3587
		yy3588.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3589 := *v
	yyh3589, yyl3589 := z.DecSliceHelperStart()

	var yyrr3589, yyrl3589 int
	var yyc3589, yyrt3589 bool
	_, _, _ = yyc3589, yyrt3589, yyrl3589
	yyrr3589 = yyl3589

	if yyv3589 == nil {
		if yyrl3589, yyrt3589 = z.DecInferLen(yyl3589, z.DecBasicHandle().MaxInitLen, 80); yyrt3589 {
			yyrr3589 = yyrl3589
		}
		yyv3589 = make([]ServicePort, yyrl3589)
		yyc3589 = true
	}

	if yyl3589 == 0 {
		if len(yyv3589) != 0 {
			yyv3589 = yyv3589[:0]
			yyc3589 = true
		}
	} else if yyl3589 > 0 {

		if yyl3589 > cap(yyv3589) {
			yyrl3589, yyrt3589 = z.DecInferLen(yyl3589, z.DecBasicHandle().MaxInitLen, 80)
			yyv3589 = make([]ServicePort, yyrl3589)
			yyc3589 = true

			yyrr3589 = len(yyv3589)
		} else if yyl3589 != len(yyv3589) {
			yyv3589 = yyv3589[:yyl3589]
			yyc3589 = true
		}
		yyj3589 := 0
		for ; yyj3589 < yyrr3589; yyj3589++ {
			if r.TryDecodeAsNil() {
				yyv3589[yyj3589] = ServicePort{}
			} else {
				yyv3590 := &yyv3589[yyj3589]
				yyv3590.CodecDecodeSelf(d)
			}

		}
		if yyrt3589 {
			for ; yyj3589 < yyl3589; yyj3589++ {
				yyv3589 = append(yyv3589, ServicePort{})
				if r.TryDecodeAsNil() {
					yyv3589[yyj3589] = ServicePort{}
				} else {
					yyv3591 := &yyv3589[yyj3589]
					yyv3591.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3589 := 0; !r.CheckBreak(); yyj3589++ {
			if yyj3589 >= len(yyv3589) {
				yyv3589 = append(yyv3589, ServicePort{}) // var yyz3589 ServicePort
				yyc3589 = true
			}

			if yyj3589 < len(yyv3589) {
				if r.TryDecodeAsNil() {
					yyv3589[yyj3589] = ServicePort{}
				} else {
					yyv3592 := &yyv3589[yyj3589]
					yyv3592.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3589.End()
	}
	if yyc3589 {
		*v = yyv3589
	}

}

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 _, yyv3593 := range v {
		yy3594 := &yyv3593
		yy3594.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3595 := *v
	yyh3595, yyl3595 := z.DecSliceHelperStart()

	var yyrr3595, yyrl3595 int
	var yyc3595, yyrt3595 bool
	_, _, _ = yyc3595, yyrt3595, yyrl3595
	yyrr3595 = yyl3595

	if yyv3595 == nil {
		if yyrl3595, yyrt3595 = z.DecInferLen(yyl3595, z.DecBasicHandle().MaxInitLen, 112); yyrt3595 {
			yyrr3595 = yyrl3595
		}
		yyv3595 = make([]ObjectReference, yyrl3595)
		yyc3595 = true
	}

	if yyl3595 == 0 {
		if len(yyv3595) != 0 {
			yyv3595 = yyv3595[:0]
			yyc3595 = true
		}
	} else if yyl3595 > 0 {

		if yyl3595 > cap(yyv3595) {
			yyrl3595, yyrt3595 = z.DecInferLen(yyl3595, z.DecBasicHandle().MaxInitLen, 112)
			yyv3595 = make([]ObjectReference, yyrl3595)
			yyc3595 = true

			yyrr3595 = len(yyv3595)
		} else if yyl3595 != len(yyv3595) {
			yyv3595 = yyv3595[:yyl3595]
			yyc3595 = true
		}
		yyj3595 := 0
		for ; yyj3595 < yyrr3595; yyj3595++ {
			if r.TryDecodeAsNil() {
				yyv3595[yyj3595] = ObjectReference{}
			} else {
				yyv3596 := &yyv3595[yyj3595]
				yyv3596.CodecDecodeSelf(d)
			}

		}
		if yyrt3595 {
			for ; yyj3595 < yyl3595; yyj3595++ {
				yyv3595 = append(yyv3595, ObjectReference{})
				if r.TryDecodeAsNil() {
					yyv3595[yyj3595] = ObjectReference{}
				} else {
					yyv3597 := &yyv3595[yyj3595]
					yyv3597.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3595 := 0; !r.CheckBreak(); yyj3595++ {
			if yyj3595 >= len(yyv3595) {
				yyv3595 = append(yyv3595, ObjectReference{}) // var yyz3595 ObjectReference
				yyc3595 = true
			}

			if yyj3595 < len(yyv3595) {
				if r.TryDecodeAsNil() {
					yyv3595[yyj3595] = ObjectReference{}
				} else {
					yyv3598 := &yyv3595[yyj3595]
					yyv3598.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3595.End()
	}
	if yyc3595 {
		*v = yyv3595
	}

}

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 _, yyv3599 := range v {
		yy3600 := &yyv3599
		yy3600.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3601 := *v
	yyh3601, yyl3601 := z.DecSliceHelperStart()

	var yyrr3601, yyrl3601 int
	var yyc3601, yyrt3601 bool
	_, _, _ = yyc3601, yyrt3601, yyrl3601
	yyrr3601 = yyl3601

	if yyv3601 == nil {
		if yyrl3601, yyrt3601 = z.DecInferLen(yyl3601, z.DecBasicHandle().MaxInitLen, 240); yyrt3601 {
			yyrr3601 = yyrl3601
		}
		yyv3601 = make([]ServiceAccount, yyrl3601)
		yyc3601 = true
	}

	if yyl3601 == 0 {
		if len(yyv3601) != 0 {
			yyv3601 = yyv3601[:0]
			yyc3601 = true
		}
	} else if yyl3601 > 0 {

		if yyl3601 > cap(yyv3601) {
			yyrl3601, yyrt3601 = z.DecInferLen(yyl3601, z.DecBasicHandle().MaxInitLen, 240)
			yyv3601 = make([]ServiceAccount, yyrl3601)
			yyc3601 = true

			yyrr3601 = len(yyv3601)
		} else if yyl3601 != len(yyv3601) {
			yyv3601 = yyv3601[:yyl3601]
			yyc3601 = true
		}
		yyj3601 := 0
		for ; yyj3601 < yyrr3601; yyj3601++ {
			if r.TryDecodeAsNil() {
				yyv3601[yyj3601] = ServiceAccount{}
			} else {
				yyv3602 := &yyv3601[yyj3601]
				yyv3602.CodecDecodeSelf(d)
			}

		}
		if yyrt3601 {
			for ; yyj3601 < yyl3601; yyj3601++ {
				yyv3601 = append(yyv3601, ServiceAccount{})
				if r.TryDecodeAsNil() {
					yyv3601[yyj3601] = ServiceAccount{}
				} else {
					yyv3603 := &yyv3601[yyj3601]
					yyv3603.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3601 := 0; !r.CheckBreak(); yyj3601++ {
			if yyj3601 >= len(yyv3601) {
				yyv3601 = append(yyv3601, ServiceAccount{}) // var yyz3601 ServiceAccount
				yyc3601 = true
			}

			if yyj3601 < len(yyv3601) {
				if r.TryDecodeAsNil() {
					yyv3601[yyj3601] = ServiceAccount{}
				} else {
					yyv3604 := &yyv3601[yyj3601]
					yyv3604.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3601.End()
	}
	if yyc3601 {
		*v = yyv3601
	}

}

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 _, yyv3605 := range v {
		yy3606 := &yyv3605
		yy3606.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3607 := *v
	yyh3607, yyl3607 := z.DecSliceHelperStart()

	var yyrr3607, yyrl3607 int
	var yyc3607, yyrt3607 bool
	_, _, _ = yyc3607, yyrt3607, yyrl3607
	yyrr3607 = yyl3607

	if yyv3607 == nil {
		if yyrl3607, yyrt3607 = z.DecInferLen(yyl3607, z.DecBasicHandle().MaxInitLen, 72); yyrt3607 {
			yyrr3607 = yyrl3607
		}
		yyv3607 = make([]EndpointSubset, yyrl3607)
		yyc3607 = true
	}

	if yyl3607 == 0 {
		if len(yyv3607) != 0 {
			yyv3607 = yyv3607[:0]
			yyc3607 = true
		}
	} else if yyl3607 > 0 {

		if yyl3607 > cap(yyv3607) {
			yyrl3607, yyrt3607 = z.DecInferLen(yyl3607, z.DecBasicHandle().MaxInitLen, 72)
			yyv3607 = make([]EndpointSubset, yyrl3607)
			yyc3607 = true

			yyrr3607 = len(yyv3607)
		} else if yyl3607 != len(yyv3607) {
			yyv3607 = yyv3607[:yyl3607]
			yyc3607 = true
		}
		yyj3607 := 0
		for ; yyj3607 < yyrr3607; yyj3607++ {
			if r.TryDecodeAsNil() {
				yyv3607[yyj3607] = EndpointSubset{}
			} else {
				yyv3608 := &yyv3607[yyj3607]
				yyv3608.CodecDecodeSelf(d)
			}

		}
		if yyrt3607 {
			for ; yyj3607 < yyl3607; yyj3607++ {
				yyv3607 = append(yyv3607, EndpointSubset{})
				if r.TryDecodeAsNil() {
					yyv3607[yyj3607] = EndpointSubset{}
				} else {
					yyv3609 := &yyv3607[yyj3607]
					yyv3609.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3607 := 0; !r.CheckBreak(); yyj3607++ {
			if yyj3607 >= len(yyv3607) {
				yyv3607 = append(yyv3607, EndpointSubset{}) // var yyz3607 EndpointSubset
				yyc3607 = true
			}

			if yyj3607 < len(yyv3607) {
				if r.TryDecodeAsNil() {
					yyv3607[yyj3607] = EndpointSubset{}
				} else {
					yyv3610 := &yyv3607[yyj3607]
					yyv3610.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3607.End()
	}
	if yyc3607 {
		*v = yyv3607
	}

}

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 _, yyv3611 := range v {
		yy3612 := &yyv3611
		yy3612.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3613 := *v
	yyh3613, yyl3613 := z.DecSliceHelperStart()

	var yyrr3613, yyrl3613 int
	var yyc3613, yyrt3613 bool
	_, _, _ = yyc3613, yyrt3613, yyrl3613
	yyrr3613 = yyl3613

	if yyv3613 == nil {
		if yyrl3613, yyrt3613 = z.DecInferLen(yyl3613, z.DecBasicHandle().MaxInitLen, 24); yyrt3613 {
			yyrr3613 = yyrl3613
		}
		yyv3613 = make([]EndpointAddress, yyrl3613)
		yyc3613 = true
	}

	if yyl3613 == 0 {
		if len(yyv3613) != 0 {
			yyv3613 = yyv3613[:0]
			yyc3613 = true
		}
	} else if yyl3613 > 0 {

		if yyl3613 > cap(yyv3613) {
			yyrl3613, yyrt3613 = z.DecInferLen(yyl3613, z.DecBasicHandle().MaxInitLen, 24)
			yyv3613 = make([]EndpointAddress, yyrl3613)
			yyc3613 = true

			yyrr3613 = len(yyv3613)
		} else if yyl3613 != len(yyv3613) {
			yyv3613 = yyv3613[:yyl3613]
			yyc3613 = true
		}
		yyj3613 := 0
		for ; yyj3613 < yyrr3613; yyj3613++ {
			if r.TryDecodeAsNil() {
				yyv3613[yyj3613] = EndpointAddress{}
			} else {
				yyv3614 := &yyv3613[yyj3613]
				yyv3614.CodecDecodeSelf(d)
			}

		}
		if yyrt3613 {
			for ; yyj3613 < yyl3613; yyj3613++ {
				yyv3613 = append(yyv3613, EndpointAddress{})
				if r.TryDecodeAsNil() {
					yyv3613[yyj3613] = EndpointAddress{}
				} else {
					yyv3615 := &yyv3613[yyj3613]
					yyv3615.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3613 := 0; !r.CheckBreak(); yyj3613++ {
			if yyj3613 >= len(yyv3613) {
				yyv3613 = append(yyv3613, EndpointAddress{}) // var yyz3613 EndpointAddress
				yyc3613 = true
			}

			if yyj3613 < len(yyv3613) {
				if r.TryDecodeAsNil() {
					yyv3613[yyj3613] = EndpointAddress{}
				} else {
					yyv3616 := &yyv3613[yyj3613]
					yyv3616.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3613.End()
	}
	if yyc3613 {
		*v = yyv3613
	}

}

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 _, yyv3617 := range v {
		yy3618 := &yyv3617
		yy3618.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3619 := *v
	yyh3619, yyl3619 := z.DecSliceHelperStart()

	var yyrr3619, yyrl3619 int
	var yyc3619, yyrt3619 bool
	_, _, _ = yyc3619, yyrt3619, yyrl3619
	yyrr3619 = yyl3619

	if yyv3619 == nil {
		if yyrl3619, yyrt3619 = z.DecInferLen(yyl3619, z.DecBasicHandle().MaxInitLen, 40); yyrt3619 {
			yyrr3619 = yyrl3619
		}
		yyv3619 = make([]EndpointPort, yyrl3619)
		yyc3619 = true
	}

	if yyl3619 == 0 {
		if len(yyv3619) != 0 {
			yyv3619 = yyv3619[:0]
			yyc3619 = true
		}
	} else if yyl3619 > 0 {

		if yyl3619 > cap(yyv3619) {
			yyrl3619, yyrt3619 = z.DecInferLen(yyl3619, z.DecBasicHandle().MaxInitLen, 40)
			yyv3619 = make([]EndpointPort, yyrl3619)
			yyc3619 = true

			yyrr3619 = len(yyv3619)
		} else if yyl3619 != len(yyv3619) {
			yyv3619 = yyv3619[:yyl3619]
			yyc3619 = true
		}
		yyj3619 := 0
		for ; yyj3619 < yyrr3619; yyj3619++ {
			if r.TryDecodeAsNil() {
				yyv3619[yyj3619] = EndpointPort{}
			} else {
				yyv3620 := &yyv3619[yyj3619]
				yyv3620.CodecDecodeSelf(d)
			}

		}
		if yyrt3619 {
			for ; yyj3619 < yyl3619; yyj3619++ {
				yyv3619 = append(yyv3619, EndpointPort{})
				if r.TryDecodeAsNil() {
					yyv3619[yyj3619] = EndpointPort{}
				} else {
					yyv3621 := &yyv3619[yyj3619]
					yyv3621.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3619 := 0; !r.CheckBreak(); yyj3619++ {
			if yyj3619 >= len(yyv3619) {
				yyv3619 = append(yyv3619, EndpointPort{}) // var yyz3619 EndpointPort
				yyc3619 = true
			}

			if yyj3619 < len(yyv3619) {
				if r.TryDecodeAsNil() {
					yyv3619[yyj3619] = EndpointPort{}
				} else {
					yyv3622 := &yyv3619[yyj3619]
					yyv3622.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3619.End()
	}
	if yyc3619 {
		*v = yyv3619
	}

}

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 _, yyv3623 := range v {
		yy3624 := &yyv3623
		yy3624.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3625 := *v
	yyh3625, yyl3625 := z.DecSliceHelperStart()

	var yyrr3625, yyrl3625 int
	var yyc3625, yyrt3625 bool
	_, _, _ = yyc3625, yyrt3625, yyrl3625
	yyrr3625 = yyl3625

	if yyv3625 == nil {
		if yyrl3625, yyrt3625 = z.DecInferLen(yyl3625, z.DecBasicHandle().MaxInitLen, 216); yyrt3625 {
			yyrr3625 = yyrl3625
		}
		yyv3625 = make([]Endpoints, yyrl3625)
		yyc3625 = true
	}

	if yyl3625 == 0 {
		if len(yyv3625) != 0 {
			yyv3625 = yyv3625[:0]
			yyc3625 = true
		}
	} else if yyl3625 > 0 {

		if yyl3625 > cap(yyv3625) {
			yyrl3625, yyrt3625 = z.DecInferLen(yyl3625, z.DecBasicHandle().MaxInitLen, 216)
			yyv3625 = make([]Endpoints, yyrl3625)
			yyc3625 = true

			yyrr3625 = len(yyv3625)
		} else if yyl3625 != len(yyv3625) {
			yyv3625 = yyv3625[:yyl3625]
			yyc3625 = true
		}
		yyj3625 := 0
		for ; yyj3625 < yyrr3625; yyj3625++ {
			if r.TryDecodeAsNil() {
				yyv3625[yyj3625] = Endpoints{}
			} else {
				yyv3626 := &yyv3625[yyj3625]
				yyv3626.CodecDecodeSelf(d)
			}

		}
		if yyrt3625 {
			for ; yyj3625 < yyl3625; yyj3625++ {
				yyv3625 = append(yyv3625, Endpoints{})
				if r.TryDecodeAsNil() {
					yyv3625[yyj3625] = Endpoints{}
				} else {
					yyv3627 := &yyv3625[yyj3625]
					yyv3627.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3625 := 0; !r.CheckBreak(); yyj3625++ {
			if yyj3625 >= len(yyv3625) {
				yyv3625 = append(yyv3625, Endpoints{}) // var yyz3625 Endpoints
				yyc3625 = true
			}

			if yyj3625 < len(yyv3625) {
				if r.TryDecodeAsNil() {
					yyv3625[yyj3625] = Endpoints{}
				} else {
					yyv3628 := &yyv3625[yyj3625]
					yyv3628.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3625.End()
	}
	if yyc3625 {
		*v = yyv3625
	}

}

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 _, yyv3629 := range v {
		yy3630 := &yyv3629
		yy3630.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3631 := *v
	yyh3631, yyl3631 := z.DecSliceHelperStart()

	var yyrr3631, yyrl3631 int
	var yyc3631, yyrt3631 bool
	_, _, _ = yyc3631, yyrt3631, yyrl3631
	yyrr3631 = yyl3631

	if yyv3631 == nil {
		if yyrl3631, yyrt3631 = z.DecInferLen(yyl3631, z.DecBasicHandle().MaxInitLen, 112); yyrt3631 {
			yyrr3631 = yyrl3631
		}
		yyv3631 = make([]NodeCondition, yyrl3631)
		yyc3631 = true
	}

	if yyl3631 == 0 {
		if len(yyv3631) != 0 {
			yyv3631 = yyv3631[:0]
			yyc3631 = true
		}
	} else if yyl3631 > 0 {

		if yyl3631 > cap(yyv3631) {
			yyrl3631, yyrt3631 = z.DecInferLen(yyl3631, z.DecBasicHandle().MaxInitLen, 112)
			yyv3631 = make([]NodeCondition, yyrl3631)
			yyc3631 = true

			yyrr3631 = len(yyv3631)
		} else if yyl3631 != len(yyv3631) {
			yyv3631 = yyv3631[:yyl3631]
			yyc3631 = true
		}
		yyj3631 := 0
		for ; yyj3631 < yyrr3631; yyj3631++ {
			if r.TryDecodeAsNil() {
				yyv3631[yyj3631] = NodeCondition{}
			} else {
				yyv3632 := &yyv3631[yyj3631]
				yyv3632.CodecDecodeSelf(d)
			}

		}
		if yyrt3631 {
			for ; yyj3631 < yyl3631; yyj3631++ {
				yyv3631 = append(yyv3631, NodeCondition{})
				if r.TryDecodeAsNil() {
					yyv3631[yyj3631] = NodeCondition{}
				} else {
					yyv3633 := &yyv3631[yyj3631]
					yyv3633.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3631 := 0; !r.CheckBreak(); yyj3631++ {
			if yyj3631 >= len(yyv3631) {
				yyv3631 = append(yyv3631, NodeCondition{}) // var yyz3631 NodeCondition
				yyc3631 = true
			}

			if yyj3631 < len(yyv3631) {
				if r.TryDecodeAsNil() {
					yyv3631[yyj3631] = NodeCondition{}
				} else {
					yyv3634 := &yyv3631[yyj3631]
					yyv3634.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3631.End()
	}
	if yyc3631 {
		*v = yyv3631
	}

}

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 _, yyv3635 := range v {
		yy3636 := &yyv3635
		yy3636.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3637 := *v
	yyh3637, yyl3637 := z.DecSliceHelperStart()

	var yyrr3637, yyrl3637 int
	var yyc3637, yyrt3637 bool
	_, _, _ = yyc3637, yyrt3637, yyrl3637
	yyrr3637 = yyl3637

	if yyv3637 == nil {
		if yyrl3637, yyrt3637 = z.DecInferLen(yyl3637, z.DecBasicHandle().MaxInitLen, 32); yyrt3637 {
			yyrr3637 = yyrl3637
		}
		yyv3637 = make([]NodeAddress, yyrl3637)
		yyc3637 = true
	}

	if yyl3637 == 0 {
		if len(yyv3637) != 0 {
			yyv3637 = yyv3637[:0]
			yyc3637 = true
		}
	} else if yyl3637 > 0 {

		if yyl3637 > cap(yyv3637) {
			yyrl3637, yyrt3637 = z.DecInferLen(yyl3637, z.DecBasicHandle().MaxInitLen, 32)
			yyv3637 = make([]NodeAddress, yyrl3637)
			yyc3637 = true

			yyrr3637 = len(yyv3637)
		} else if yyl3637 != len(yyv3637) {
			yyv3637 = yyv3637[:yyl3637]
			yyc3637 = true
		}
		yyj3637 := 0
		for ; yyj3637 < yyrr3637; yyj3637++ {
			if r.TryDecodeAsNil() {
				yyv3637[yyj3637] = NodeAddress{}
			} else {
				yyv3638 := &yyv3637[yyj3637]
				yyv3638.CodecDecodeSelf(d)
			}

		}
		if yyrt3637 {
			for ; yyj3637 < yyl3637; yyj3637++ {
				yyv3637 = append(yyv3637, NodeAddress{})
				if r.TryDecodeAsNil() {
					yyv3637[yyj3637] = NodeAddress{}
				} else {
					yyv3639 := &yyv3637[yyj3637]
					yyv3639.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3637 := 0; !r.CheckBreak(); yyj3637++ {
			if yyj3637 >= len(yyv3637) {
				yyv3637 = append(yyv3637, NodeAddress{}) // var yyz3637 NodeAddress
				yyc3637 = true
			}

			if yyj3637 < len(yyv3637) {
				if r.TryDecodeAsNil() {
					yyv3637[yyj3637] = NodeAddress{}
				} else {
					yyv3640 := &yyv3637[yyj3637]
					yyv3640.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3637.End()
	}
	if yyc3637 {
		*v = yyv3637
	}

}

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 yyk3641, yyv3641 := range v {
		yyk3641.CodecEncodeSelf(e)
		yy3642 := &yyv3641
		yym3643 := z.EncBinary()
		_ = yym3643
		if false {
		} else if z.HasExtensions() && z.EncExt(yy3642) {
		} else if !yym3643 && z.IsJSONHandle() {
			z.EncJSONMarshal(yy3642)
		} else {
			z.EncFallback(yy3642)
		}
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decResourceList(v *ResourceList, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3644 := *v
	yyl3644 := r.ReadMapStart()
	yybh3644 := z.DecBasicHandle()
	if yyv3644 == nil {
		yyrl3644, _ := z.DecInferLen(yyl3644, yybh3644.MaxInitLen, 40)
		yyv3644 = make(map[ResourceName]pkg3_resource.Quantity, yyrl3644)
		*v = yyv3644
	}
	var yymk3644 ResourceName
	var yymv3644 pkg3_resource.Quantity
	var yymg3644 bool
	if yybh3644.MapValueReset {
		yymg3644 = true
	}
	if yyl3644 > 0 {
		for yyj3644 := 0; yyj3644 < yyl3644; yyj3644++ {
			if r.TryDecodeAsNil() {
				yymk3644 = ""
			} else {
				yymk3644 = ResourceName(r.DecodeString())
			}

			if yymg3644 {
				yymv3644 = yyv3644[yymk3644]
			} else {
				yymv3644 = pkg3_resource.Quantity{}
			}
			if r.TryDecodeAsNil() {
				yymv3644 = pkg3_resource.Quantity{}
			} else {
				yyv3646 := &yymv3644
				yym3647 := z.DecBinary()
				_ = yym3647
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3646) {
				} else if !yym3647 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3646)
				} else {
					z.DecFallback(yyv3646, false)
				}
			}

			if yyv3644 != nil {
				yyv3644[yymk3644] = yymv3644
			}
		}
	} else if yyl3644 < 0 {
		for yyj3644 := 0; !r.CheckBreak(); yyj3644++ {
			if r.TryDecodeAsNil() {
				yymk3644 = ""
			} else {
				yymk3644 = ResourceName(r.DecodeString())
			}

			if yymg3644 {
				yymv3644 = yyv3644[yymk3644]
			} else {
				yymv3644 = pkg3_resource.Quantity{}
			}
			if r.TryDecodeAsNil() {
				yymv3644 = pkg3_resource.Quantity{}
			} else {
				yyv3649 := &yymv3644
				yym3650 := z.DecBinary()
				_ = yym3650
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3649) {
				} else if !yym3650 && z.IsJSONHandle() {
					z.DecJSONUnmarshal(yyv3649)
				} else {
					z.DecFallback(yyv3649, false)
				}
			}

			if yyv3644 != nil {
				yyv3644[yymk3644] = yymv3644
			}
		}
		r.ReadEnd()
	} // else len==0: TODO: Should we clear map entries?
}

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 _, yyv3651 := range v {
		yy3652 := &yyv3651
		yy3652.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3653 := *v
	yyh3653, yyl3653 := z.DecSliceHelperStart()

	var yyrr3653, yyrl3653 int
	var yyc3653, yyrt3653 bool
	_, _, _ = yyc3653, yyrt3653, yyrl3653
	yyrr3653 = yyl3653

	if yyv3653 == nil {
		if yyrl3653, yyrt3653 = z.DecInferLen(yyl3653, z.DecBasicHandle().MaxInitLen, 456); yyrt3653 {
			yyrr3653 = yyrl3653
		}
		yyv3653 = make([]Node, yyrl3653)
		yyc3653 = true
	}

	if yyl3653 == 0 {
		if len(yyv3653) != 0 {
			yyv3653 = yyv3653[:0]
			yyc3653 = true
		}
	} else if yyl3653 > 0 {

		if yyl3653 > cap(yyv3653) {
			yyrl3653, yyrt3653 = z.DecInferLen(yyl3653, z.DecBasicHandle().MaxInitLen, 456)
			yyv3653 = make([]Node, yyrl3653)
			yyc3653 = true

			yyrr3653 = len(yyv3653)
		} else if yyl3653 != len(yyv3653) {
			yyv3653 = yyv3653[:yyl3653]
			yyc3653 = true
		}
		yyj3653 := 0
		for ; yyj3653 < yyrr3653; yyj3653++ {
			if r.TryDecodeAsNil() {
				yyv3653[yyj3653] = Node{}
			} else {
				yyv3654 := &yyv3653[yyj3653]
				yyv3654.CodecDecodeSelf(d)
			}

		}
		if yyrt3653 {
			for ; yyj3653 < yyl3653; yyj3653++ {
				yyv3653 = append(yyv3653, Node{})
				if r.TryDecodeAsNil() {
					yyv3653[yyj3653] = Node{}
				} else {
					yyv3655 := &yyv3653[yyj3653]
					yyv3655.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3653 := 0; !r.CheckBreak(); yyj3653++ {
			if yyj3653 >= len(yyv3653) {
				yyv3653 = append(yyv3653, Node{}) // var yyz3653 Node
				yyc3653 = true
			}

			if yyj3653 < len(yyv3653) {
				if r.TryDecodeAsNil() {
					yyv3653[yyj3653] = Node{}
				} else {
					yyv3656 := &yyv3653[yyj3653]
					yyv3656.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3653.End()
	}
	if yyc3653 {
		*v = yyv3653
	}

}

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 _, yyv3657 := range v {
		yyv3657.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3658 := *v
	yyh3658, yyl3658 := z.DecSliceHelperStart()

	var yyrr3658, yyrl3658 int
	var yyc3658, yyrt3658 bool
	_, _, _ = yyc3658, yyrt3658, yyrl3658
	yyrr3658 = yyl3658

	if yyv3658 == nil {
		if yyrl3658, yyrt3658 = z.DecInferLen(yyl3658, z.DecBasicHandle().MaxInitLen, 16); yyrt3658 {
			yyrr3658 = yyrl3658
		}
		yyv3658 = make([]FinalizerName, yyrl3658)
		yyc3658 = true
	}

	if yyl3658 == 0 {
		if len(yyv3658) != 0 {
			yyv3658 = yyv3658[:0]
			yyc3658 = true
		}
	} else if yyl3658 > 0 {

		if yyl3658 > cap(yyv3658) {
			yyrl3658, yyrt3658 = z.DecInferLen(yyl3658, z.DecBasicHandle().MaxInitLen, 16)

			yyv23658 := yyv3658
			yyv3658 = make([]FinalizerName, yyrl3658)
			if len(yyv3658) > 0 {
				copy(yyv3658, yyv23658[:cap(yyv23658)])
			}
			yyc3658 = true

			yyrr3658 = len(yyv3658)
		} else if yyl3658 != len(yyv3658) {
			yyv3658 = yyv3658[:yyl3658]
			yyc3658 = true
		}
		yyj3658 := 0
		for ; yyj3658 < yyrr3658; yyj3658++ {
			if r.TryDecodeAsNil() {
				yyv3658[yyj3658] = ""
			} else {
				yyv3658[yyj3658] = FinalizerName(r.DecodeString())
			}

		}
		if yyrt3658 {
			for ; yyj3658 < yyl3658; yyj3658++ {
				yyv3658 = append(yyv3658, "")
				if r.TryDecodeAsNil() {
					yyv3658[yyj3658] = ""
				} else {
					yyv3658[yyj3658] = FinalizerName(r.DecodeString())
				}

			}
		}

	} else {
		for yyj3658 := 0; !r.CheckBreak(); yyj3658++ {
			if yyj3658 >= len(yyv3658) {
				yyv3658 = append(yyv3658, "") // var yyz3658 FinalizerName
				yyc3658 = true
			}

			if yyj3658 < len(yyv3658) {
				if r.TryDecodeAsNil() {
					yyv3658[yyj3658] = ""
				} else {
					yyv3658[yyj3658] = FinalizerName(r.DecodeString())
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3658.End()
	}
	if yyc3658 {
		*v = yyv3658
	}

}

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 _, yyv3662 := range v {
		yy3663 := &yyv3662
		yy3663.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3664 := *v
	yyh3664, yyl3664 := z.DecSliceHelperStart()

	var yyrr3664, yyrl3664 int
	var yyc3664, yyrt3664 bool
	_, _, _ = yyc3664, yyrt3664, yyrl3664
	yyrr3664 = yyl3664

	if yyv3664 == nil {
		if yyrl3664, yyrt3664 = z.DecInferLen(yyl3664, z.DecBasicHandle().MaxInitLen, 232); yyrt3664 {
			yyrr3664 = yyrl3664
		}
		yyv3664 = make([]Namespace, yyrl3664)
		yyc3664 = true
	}

	if yyl3664 == 0 {
		if len(yyv3664) != 0 {
			yyv3664 = yyv3664[:0]
			yyc3664 = true
		}
	} else if yyl3664 > 0 {

		if yyl3664 > cap(yyv3664) {
			yyrl3664, yyrt3664 = z.DecInferLen(yyl3664, z.DecBasicHandle().MaxInitLen, 232)
			yyv3664 = make([]Namespace, yyrl3664)
			yyc3664 = true

			yyrr3664 = len(yyv3664)
		} else if yyl3664 != len(yyv3664) {
			yyv3664 = yyv3664[:yyl3664]
			yyc3664 = true
		}
		yyj3664 := 0
		for ; yyj3664 < yyrr3664; yyj3664++ {
			if r.TryDecodeAsNil() {
				yyv3664[yyj3664] = Namespace{}
			} else {
				yyv3665 := &yyv3664[yyj3664]
				yyv3665.CodecDecodeSelf(d)
			}

		}
		if yyrt3664 {
			for ; yyj3664 < yyl3664; yyj3664++ {
				yyv3664 = append(yyv3664, Namespace{})
				if r.TryDecodeAsNil() {
					yyv3664[yyj3664] = Namespace{}
				} else {
					yyv3666 := &yyv3664[yyj3664]
					yyv3666.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3664 := 0; !r.CheckBreak(); yyj3664++ {
			if yyj3664 >= len(yyv3664) {
				yyv3664 = append(yyv3664, Namespace{}) // var yyz3664 Namespace
				yyc3664 = true
			}

			if yyj3664 < len(yyv3664) {
				if r.TryDecodeAsNil() {
					yyv3664[yyj3664] = Namespace{}
				} else {
					yyv3667 := &yyv3664[yyj3664]
					yyv3667.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3664.End()
	}
	if yyc3664 {
		*v = yyv3664
	}

}

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 _, yyv3668 := range v {
		yy3669 := &yyv3668
		yy3669.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3670 := *v
	yyh3670, yyl3670 := z.DecSliceHelperStart()

	var yyrr3670, yyrl3670 int
	var yyc3670, yyrt3670 bool
	_, _, _ = yyc3670, yyrt3670, yyrl3670
	yyrr3670 = yyl3670

	if yyv3670 == nil {
		if yyrl3670, yyrt3670 = z.DecInferLen(yyl3670, z.DecBasicHandle().MaxInitLen, 424); yyrt3670 {
			yyrr3670 = yyrl3670
		}
		yyv3670 = make([]Event, yyrl3670)
		yyc3670 = true
	}

	if yyl3670 == 0 {
		if len(yyv3670) != 0 {
			yyv3670 = yyv3670[:0]
			yyc3670 = true
		}
	} else if yyl3670 > 0 {

		if yyl3670 > cap(yyv3670) {
			yyrl3670, yyrt3670 = z.DecInferLen(yyl3670, z.DecBasicHandle().MaxInitLen, 424)
			yyv3670 = make([]Event, yyrl3670)
			yyc3670 = true

			yyrr3670 = len(yyv3670)
		} else if yyl3670 != len(yyv3670) {
			yyv3670 = yyv3670[:yyl3670]
			yyc3670 = true
		}
		yyj3670 := 0
		for ; yyj3670 < yyrr3670; yyj3670++ {
			if r.TryDecodeAsNil() {
				yyv3670[yyj3670] = Event{}
			} else {
				yyv3671 := &yyv3670[yyj3670]
				yyv3671.CodecDecodeSelf(d)
			}

		}
		if yyrt3670 {
			for ; yyj3670 < yyl3670; yyj3670++ {
				yyv3670 = append(yyv3670, Event{})
				if r.TryDecodeAsNil() {
					yyv3670[yyj3670] = Event{}
				} else {
					yyv3672 := &yyv3670[yyj3670]
					yyv3672.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3670 := 0; !r.CheckBreak(); yyj3670++ {
			if yyj3670 >= len(yyv3670) {
				yyv3670 = append(yyv3670, Event{}) // var yyz3670 Event
				yyc3670 = true
			}

			if yyj3670 < len(yyv3670) {
				if r.TryDecodeAsNil() {
					yyv3670[yyj3670] = Event{}
				} else {
					yyv3673 := &yyv3670[yyj3670]
					yyv3673.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3670.End()
	}
	if yyc3670 {
		*v = yyv3670
	}

}

func (x codecSelfer1234) encSliceruntime_Object(v []pkg8_runtime.Object, e *codec1978.Encoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	for _, yyv3674 := range v {
		if yyv3674 == nil {
			r.EncodeNil()
		} else {
			yym3675 := z.EncBinary()
			_ = yym3675
			if false {
			} else if z.HasExtensions() && z.EncExt(yyv3674) {
			} else {
				z.EncFallback(yyv3674)
			}
		}
	}
	r.EncodeEnd()
}

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

	yyv3676 := *v
	yyh3676, yyl3676 := z.DecSliceHelperStart()

	var yyrr3676, yyrl3676 int
	var yyc3676, yyrt3676 bool
	_, _, _ = yyc3676, yyrt3676, yyrl3676
	yyrr3676 = yyl3676

	if yyv3676 == nil {
		if yyrl3676, yyrt3676 = z.DecInferLen(yyl3676, z.DecBasicHandle().MaxInitLen, 16); yyrt3676 {
			yyrr3676 = yyrl3676
		}
		yyv3676 = make([]pkg8_runtime.Object, yyrl3676)
		yyc3676 = true
	}

	if yyl3676 == 0 {
		if len(yyv3676) != 0 {
			yyv3676 = yyv3676[:0]
			yyc3676 = true
		}
	} else if yyl3676 > 0 {

		if yyl3676 > cap(yyv3676) {
			yyrl3676, yyrt3676 = z.DecInferLen(yyl3676, z.DecBasicHandle().MaxInitLen, 16)
			yyv3676 = make([]pkg8_runtime.Object, yyrl3676)
			yyc3676 = true

			yyrr3676 = len(yyv3676)
		} else if yyl3676 != len(yyv3676) {
			yyv3676 = yyv3676[:yyl3676]
			yyc3676 = true
		}
		yyj3676 := 0
		for ; yyj3676 < yyrr3676; yyj3676++ {
			if r.TryDecodeAsNil() {
				yyv3676[yyj3676] = nil
			} else {
				yyv3677 := &yyv3676[yyj3676]
				yym3678 := z.DecBinary()
				_ = yym3678
				if false {
				} else if z.HasExtensions() && z.DecExt(yyv3677) {
				} else {
					z.DecFallback(yyv3677, true)
				}
			}

		}
		if yyrt3676 {
			for ; yyj3676 < yyl3676; yyj3676++ {
				yyv3676 = append(yyv3676, nil)
				if r.TryDecodeAsNil() {
					yyv3676[yyj3676] = nil
				} else {
					yyv3679 := &yyv3676[yyj3676]
					yym3680 := z.DecBinary()
					_ = yym3680
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3679) {
					} else {
						z.DecFallback(yyv3679, true)
					}
				}

			}
		}

	} else {
		for yyj3676 := 0; !r.CheckBreak(); yyj3676++ {
			if yyj3676 >= len(yyv3676) {
				yyv3676 = append(yyv3676, nil) // var yyz3676 pkg8_runtime.Object
				yyc3676 = true
			}

			if yyj3676 < len(yyv3676) {
				if r.TryDecodeAsNil() {
					yyv3676[yyj3676] = nil
				} else {
					yyv3681 := &yyv3676[yyj3676]
					yym3682 := z.DecBinary()
					_ = yym3682
					if false {
					} else if z.HasExtensions() && z.DecExt(yyv3681) {
					} else {
						z.DecFallback(yyv3681, true)
					}
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3676.End()
	}
	if yyc3676 {
		*v = yyv3676
	}

}

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 _, yyv3683 := range v {
		yy3684 := &yyv3683
		yy3684.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3685 := *v
	yyh3685, yyl3685 := z.DecSliceHelperStart()

	var yyrr3685, yyrl3685 int
	var yyc3685, yyrt3685 bool
	_, _, _ = yyc3685, yyrt3685, yyrl3685
	yyrr3685 = yyl3685

	if yyv3685 == nil {
		if yyrl3685, yyrt3685 = z.DecInferLen(yyl3685, z.DecBasicHandle().MaxInitLen, 56); yyrt3685 {
			yyrr3685 = yyrl3685
		}
		yyv3685 = make([]LimitRangeItem, yyrl3685)
		yyc3685 = true
	}

	if yyl3685 == 0 {
		if len(yyv3685) != 0 {
			yyv3685 = yyv3685[:0]
			yyc3685 = true
		}
	} else if yyl3685 > 0 {

		if yyl3685 > cap(yyv3685) {
			yyrl3685, yyrt3685 = z.DecInferLen(yyl3685, z.DecBasicHandle().MaxInitLen, 56)
			yyv3685 = make([]LimitRangeItem, yyrl3685)
			yyc3685 = true

			yyrr3685 = len(yyv3685)
		} else if yyl3685 != len(yyv3685) {
			yyv3685 = yyv3685[:yyl3685]
			yyc3685 = true
		}
		yyj3685 := 0
		for ; yyj3685 < yyrr3685; yyj3685++ {
			if r.TryDecodeAsNil() {
				yyv3685[yyj3685] = LimitRangeItem{}
			} else {
				yyv3686 := &yyv3685[yyj3685]
				yyv3686.CodecDecodeSelf(d)
			}

		}
		if yyrt3685 {
			for ; yyj3685 < yyl3685; yyj3685++ {
				yyv3685 = append(yyv3685, LimitRangeItem{})
				if r.TryDecodeAsNil() {
					yyv3685[yyj3685] = LimitRangeItem{}
				} else {
					yyv3687 := &yyv3685[yyj3685]
					yyv3687.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3685 := 0; !r.CheckBreak(); yyj3685++ {
			if yyj3685 >= len(yyv3685) {
				yyv3685 = append(yyv3685, LimitRangeItem{}) // var yyz3685 LimitRangeItem
				yyc3685 = true
			}

			if yyj3685 < len(yyv3685) {
				if r.TryDecodeAsNil() {
					yyv3685[yyj3685] = LimitRangeItem{}
				} else {
					yyv3688 := &yyv3685[yyj3685]
					yyv3688.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3685.End()
	}
	if yyc3685 {
		*v = yyv3685
	}

}

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 _, yyv3689 := range v {
		yy3690 := &yyv3689
		yy3690.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3691 := *v
	yyh3691, yyl3691 := z.DecSliceHelperStart()

	var yyrr3691, yyrl3691 int
	var yyc3691, yyrt3691 bool
	_, _, _ = yyc3691, yyrt3691, yyrl3691
	yyrr3691 = yyl3691

	if yyv3691 == nil {
		if yyrl3691, yyrt3691 = z.DecInferLen(yyl3691, z.DecBasicHandle().MaxInitLen, 216); yyrt3691 {
			yyrr3691 = yyrl3691
		}
		yyv3691 = make([]LimitRange, yyrl3691)
		yyc3691 = true
	}

	if yyl3691 == 0 {
		if len(yyv3691) != 0 {
			yyv3691 = yyv3691[:0]
			yyc3691 = true
		}
	} else if yyl3691 > 0 {

		if yyl3691 > cap(yyv3691) {
			yyrl3691, yyrt3691 = z.DecInferLen(yyl3691, z.DecBasicHandle().MaxInitLen, 216)
			yyv3691 = make([]LimitRange, yyrl3691)
			yyc3691 = true

			yyrr3691 = len(yyv3691)
		} else if yyl3691 != len(yyv3691) {
			yyv3691 = yyv3691[:yyl3691]
			yyc3691 = true
		}
		yyj3691 := 0
		for ; yyj3691 < yyrr3691; yyj3691++ {
			if r.TryDecodeAsNil() {
				yyv3691[yyj3691] = LimitRange{}
			} else {
				yyv3692 := &yyv3691[yyj3691]
				yyv3692.CodecDecodeSelf(d)
			}

		}
		if yyrt3691 {
			for ; yyj3691 < yyl3691; yyj3691++ {
				yyv3691 = append(yyv3691, LimitRange{})
				if r.TryDecodeAsNil() {
					yyv3691[yyj3691] = LimitRange{}
				} else {
					yyv3693 := &yyv3691[yyj3691]
					yyv3693.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3691 := 0; !r.CheckBreak(); yyj3691++ {
			if yyj3691 >= len(yyv3691) {
				yyv3691 = append(yyv3691, LimitRange{}) // var yyz3691 LimitRange
				yyc3691 = true
			}

			if yyj3691 < len(yyv3691) {
				if r.TryDecodeAsNil() {
					yyv3691[yyj3691] = LimitRange{}
				} else {
					yyv3694 := &yyv3691[yyj3691]
					yyv3694.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3691.End()
	}
	if yyc3691 {
		*v = yyv3691
	}

}

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 _, yyv3695 := range v {
		yy3696 := &yyv3695
		yy3696.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3697 := *v
	yyh3697, yyl3697 := z.DecSliceHelperStart()

	var yyrr3697, yyrl3697 int
	var yyc3697, yyrt3697 bool
	_, _, _ = yyc3697, yyrt3697, yyrl3697
	yyrr3697 = yyl3697

	if yyv3697 == nil {
		if yyrl3697, yyrt3697 = z.DecInferLen(yyl3697, z.DecBasicHandle().MaxInitLen, 216); yyrt3697 {
			yyrr3697 = yyrl3697
		}
		yyv3697 = make([]ResourceQuota, yyrl3697)
		yyc3697 = true
	}

	if yyl3697 == 0 {
		if len(yyv3697) != 0 {
			yyv3697 = yyv3697[:0]
			yyc3697 = true
		}
	} else if yyl3697 > 0 {

		if yyl3697 > cap(yyv3697) {
			yyrl3697, yyrt3697 = z.DecInferLen(yyl3697, z.DecBasicHandle().MaxInitLen, 216)
			yyv3697 = make([]ResourceQuota, yyrl3697)
			yyc3697 = true

			yyrr3697 = len(yyv3697)
		} else if yyl3697 != len(yyv3697) {
			yyv3697 = yyv3697[:yyl3697]
			yyc3697 = true
		}
		yyj3697 := 0
		for ; yyj3697 < yyrr3697; yyj3697++ {
			if r.TryDecodeAsNil() {
				yyv3697[yyj3697] = ResourceQuota{}
			} else {
				yyv3698 := &yyv3697[yyj3697]
				yyv3698.CodecDecodeSelf(d)
			}

		}
		if yyrt3697 {
			for ; yyj3697 < yyl3697; yyj3697++ {
				yyv3697 = append(yyv3697, ResourceQuota{})
				if r.TryDecodeAsNil() {
					yyv3697[yyj3697] = ResourceQuota{}
				} else {
					yyv3699 := &yyv3697[yyj3697]
					yyv3699.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3697 := 0; !r.CheckBreak(); yyj3697++ {
			if yyj3697 >= len(yyv3697) {
				yyv3697 = append(yyv3697, ResourceQuota{}) // var yyz3697 ResourceQuota
				yyc3697 = true
			}

			if yyj3697 < len(yyv3697) {
				if r.TryDecodeAsNil() {
					yyv3697[yyj3697] = ResourceQuota{}
				} else {
					yyv3700 := &yyv3697[yyj3697]
					yyv3700.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3697.End()
	}
	if yyc3697 {
		*v = yyv3697
	}

}

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 yyk3701, yyv3701 := range v {
		yym3702 := z.EncBinary()
		_ = yym3702
		if false {
		} else {
			r.EncodeString(codecSelferC_UTF81234, string(yyk3701))
		}
		if yyv3701 == nil {
			r.EncodeNil()
		} else {
			yym3703 := z.EncBinary()
			_ = yym3703
			if false {
			} else {
				r.EncodeStringBytes(codecSelferC_RAW1234, []byte(yyv3701))
			}
		}
	}
	r.EncodeEnd()
}

func (x codecSelfer1234) decMapstringSliceuint8(v *map[string][]uint8, d *codec1978.Decoder) {
	var h codecSelfer1234
	z, r := codec1978.GenHelperDecoder(d)
	_, _, _ = h, z, r

	yyv3704 := *v
	yyl3704 := r.ReadMapStart()
	yybh3704 := z.DecBasicHandle()
	if yyv3704 == nil {
		yyrl3704, _ := z.DecInferLen(yyl3704, yybh3704.MaxInitLen, 40)
		yyv3704 = make(map[string][]uint8, yyrl3704)
		*v = yyv3704
	}
	var yymk3704 string
	var yymv3704 []uint8
	var yymg3704 bool
	if yybh3704.MapValueReset {
		yymg3704 = true
	}
	if yyl3704 > 0 {
		for yyj3704 := 0; yyj3704 < yyl3704; yyj3704++ {
			if r.TryDecodeAsNil() {
				yymk3704 = ""
			} else {
				yymk3704 = string(r.DecodeString())
			}

			if yymg3704 {
				yymv3704 = yyv3704[yymk3704]
			} else {
				yymv3704 = nil
			}
			if r.TryDecodeAsNil() {
				yymv3704 = nil
			} else {
				yyv3706 := &yymv3704
				yym3707 := z.DecBinary()
				_ = yym3707
				if false {
				} else {
					*yyv3706 = r.DecodeBytes(*(*[]byte)(yyv3706), false, false)
				}
			}

			if yyv3704 != nil {
				yyv3704[yymk3704] = yymv3704
			}
		}
	} else if yyl3704 < 0 {
		for yyj3704 := 0; !r.CheckBreak(); yyj3704++ {
			if r.TryDecodeAsNil() {
				yymk3704 = ""
			} else {
				yymk3704 = string(r.DecodeString())
			}

			if yymg3704 {
				yymv3704 = yyv3704[yymk3704]
			} else {
				yymv3704 = nil
			}
			if r.TryDecodeAsNil() {
				yymv3704 = nil
			} else {
				yyv3709 := &yymv3704
				yym3710 := z.DecBinary()
				_ = yym3710
				if false {
				} else {
					*yyv3709 = r.DecodeBytes(*(*[]byte)(yyv3709), false, false)
				}
			}

			if yyv3704 != nil {
				yyv3704[yymk3704] = yymv3704
			}
		}
		r.ReadEnd()
	} // else len==0: TODO: Should we clear map entries?
}

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 _, yyv3711 := range v {
		yy3712 := &yyv3711
		yy3712.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3713 := *v
	yyh3713, yyl3713 := z.DecSliceHelperStart()

	var yyrr3713, yyrl3713 int
	var yyc3713, yyrt3713 bool
	_, _, _ = yyc3713, yyrt3713, yyrl3713
	yyrr3713 = yyl3713

	if yyv3713 == nil {
		if yyrl3713, yyrt3713 = z.DecInferLen(yyl3713, z.DecBasicHandle().MaxInitLen, 216); yyrt3713 {
			yyrr3713 = yyrl3713
		}
		yyv3713 = make([]Secret, yyrl3713)
		yyc3713 = true
	}

	if yyl3713 == 0 {
		if len(yyv3713) != 0 {
			yyv3713 = yyv3713[:0]
			yyc3713 = true
		}
	} else if yyl3713 > 0 {

		if yyl3713 > cap(yyv3713) {
			yyrl3713, yyrt3713 = z.DecInferLen(yyl3713, z.DecBasicHandle().MaxInitLen, 216)
			yyv3713 = make([]Secret, yyrl3713)
			yyc3713 = true

			yyrr3713 = len(yyv3713)
		} else if yyl3713 != len(yyv3713) {
			yyv3713 = yyv3713[:yyl3713]
			yyc3713 = true
		}
		yyj3713 := 0
		for ; yyj3713 < yyrr3713; yyj3713++ {
			if r.TryDecodeAsNil() {
				yyv3713[yyj3713] = Secret{}
			} else {
				yyv3714 := &yyv3713[yyj3713]
				yyv3714.CodecDecodeSelf(d)
			}

		}
		if yyrt3713 {
			for ; yyj3713 < yyl3713; yyj3713++ {
				yyv3713 = append(yyv3713, Secret{})
				if r.TryDecodeAsNil() {
					yyv3713[yyj3713] = Secret{}
				} else {
					yyv3715 := &yyv3713[yyj3713]
					yyv3715.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3713 := 0; !r.CheckBreak(); yyj3713++ {
			if yyj3713 >= len(yyv3713) {
				yyv3713 = append(yyv3713, Secret{}) // var yyz3713 Secret
				yyc3713 = true
			}

			if yyj3713 < len(yyv3713) {
				if r.TryDecodeAsNil() {
					yyv3713[yyj3713] = Secret{}
				} else {
					yyv3716 := &yyv3713[yyj3713]
					yyv3716.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3713.End()
	}
	if yyc3713 {
		*v = yyv3713
	}

}

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 _, yyv3717 := range v {
		yy3718 := &yyv3717
		yy3718.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3719 := *v
	yyh3719, yyl3719 := z.DecSliceHelperStart()

	var yyrr3719, yyrl3719 int
	var yyc3719, yyrt3719 bool
	_, _, _ = yyc3719, yyrt3719, yyrl3719
	yyrr3719 = yyl3719

	if yyv3719 == nil {
		if yyrl3719, yyrt3719 = z.DecInferLen(yyl3719, z.DecBasicHandle().MaxInitLen, 64); yyrt3719 {
			yyrr3719 = yyrl3719
		}
		yyv3719 = make([]ComponentCondition, yyrl3719)
		yyc3719 = true
	}

	if yyl3719 == 0 {
		if len(yyv3719) != 0 {
			yyv3719 = yyv3719[:0]
			yyc3719 = true
		}
	} else if yyl3719 > 0 {

		if yyl3719 > cap(yyv3719) {
			yyrl3719, yyrt3719 = z.DecInferLen(yyl3719, z.DecBasicHandle().MaxInitLen, 64)
			yyv3719 = make([]ComponentCondition, yyrl3719)
			yyc3719 = true

			yyrr3719 = len(yyv3719)
		} else if yyl3719 != len(yyv3719) {
			yyv3719 = yyv3719[:yyl3719]
			yyc3719 = true
		}
		yyj3719 := 0
		for ; yyj3719 < yyrr3719; yyj3719++ {
			if r.TryDecodeAsNil() {
				yyv3719[yyj3719] = ComponentCondition{}
			} else {
				yyv3720 := &yyv3719[yyj3719]
				yyv3720.CodecDecodeSelf(d)
			}

		}
		if yyrt3719 {
			for ; yyj3719 < yyl3719; yyj3719++ {
				yyv3719 = append(yyv3719, ComponentCondition{})
				if r.TryDecodeAsNil() {
					yyv3719[yyj3719] = ComponentCondition{}
				} else {
					yyv3721 := &yyv3719[yyj3719]
					yyv3721.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3719 := 0; !r.CheckBreak(); yyj3719++ {
			if yyj3719 >= len(yyv3719) {
				yyv3719 = append(yyv3719, ComponentCondition{}) // var yyz3719 ComponentCondition
				yyc3719 = true
			}

			if yyj3719 < len(yyv3719) {
				if r.TryDecodeAsNil() {
					yyv3719[yyj3719] = ComponentCondition{}
				} else {
					yyv3722 := &yyv3719[yyj3719]
					yyv3722.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3719.End()
	}
	if yyc3719 {
		*v = yyv3719
	}

}

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 _, yyv3723 := range v {
		yy3724 := &yyv3723
		yy3724.CodecEncodeSelf(e)
	}
	r.EncodeEnd()
}

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

	yyv3725 := *v
	yyh3725, yyl3725 := z.DecSliceHelperStart()

	var yyrr3725, yyrl3725 int
	var yyc3725, yyrt3725 bool
	_, _, _ = yyc3725, yyrt3725, yyrl3725
	yyrr3725 = yyl3725

	if yyv3725 == nil {
		if yyrl3725, yyrt3725 = z.DecInferLen(yyl3725, z.DecBasicHandle().MaxInitLen, 216); yyrt3725 {
			yyrr3725 = yyrl3725
		}
		yyv3725 = make([]ComponentStatus, yyrl3725)
		yyc3725 = true
	}

	if yyl3725 == 0 {
		if len(yyv3725) != 0 {
			yyv3725 = yyv3725[:0]
			yyc3725 = true
		}
	} else if yyl3725 > 0 {

		if yyl3725 > cap(yyv3725) {
			yyrl3725, yyrt3725 = z.DecInferLen(yyl3725, z.DecBasicHandle().MaxInitLen, 216)
			yyv3725 = make([]ComponentStatus, yyrl3725)
			yyc3725 = true

			yyrr3725 = len(yyv3725)
		} else if yyl3725 != len(yyv3725) {
			yyv3725 = yyv3725[:yyl3725]
			yyc3725 = true
		}
		yyj3725 := 0
		for ; yyj3725 < yyrr3725; yyj3725++ {
			if r.TryDecodeAsNil() {
				yyv3725[yyj3725] = ComponentStatus{}
			} else {
				yyv3726 := &yyv3725[yyj3725]
				yyv3726.CodecDecodeSelf(d)
			}

		}
		if yyrt3725 {
			for ; yyj3725 < yyl3725; yyj3725++ {
				yyv3725 = append(yyv3725, ComponentStatus{})
				if r.TryDecodeAsNil() {
					yyv3725[yyj3725] = ComponentStatus{}
				} else {
					yyv3727 := &yyv3725[yyj3725]
					yyv3727.CodecDecodeSelf(d)
				}

			}
		}

	} else {
		for yyj3725 := 0; !r.CheckBreak(); yyj3725++ {
			if yyj3725 >= len(yyv3725) {
				yyv3725 = append(yyv3725, ComponentStatus{}) // var yyz3725 ComponentStatus
				yyc3725 = true
			}

			if yyj3725 < len(yyv3725) {
				if r.TryDecodeAsNil() {
					yyv3725[yyj3725] = ComponentStatus{}
				} else {
					yyv3728 := &yyv3725[yyj3725]
					yyv3728.CodecDecodeSelf(d)
				}

			} else {
				z.DecSwallow()
			}

		}
		yyh3725.End()
	}
	if yyc3725 {
		*v = yyv3725
	}

}
