func (x codecSelfer4402) encNodes(v Nodes, e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeArrayStart(len(v))
	yys70 := !z.EncBinary()
	if yys70 {
		for yyi70, yyv70 := range v {
			if yyi70 > 0 {
				r.EncodeArrayEntrySeparator()
			}
			if yyv70 == nil {
				r.EncodeNil()
			} else {
				yyv70.CodecEncodeSelf(e)
			}
		}
		r.EncodeArrayEnd()
	} else {
		for _, yyv70 := range v {
			if yyv70 == nil {
				r.EncodeNil()
			} else {
				yyv70.CodecEncodeSelf(e)
			}
		}
	}
}
func (x codecSelfer4402) enchttp_Header(v http.Header, e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeMapStart(len(v))
	yys64 := !z.EncBinary()
	yyj64 := 0
	if yys64 {
		for yyk64, yyv64 := range v {
			if yyj64 > 0 {
				r.EncodeMapEntrySeparator()
			}
			r.EncodeString(codecSelferC_UTF84402, string(yyk64))
			r.EncodeMapKVSeparator()
			if yyv64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceStringV(yyv64, false, e)
			}
			yyj64++
		}
		r.EncodeMapEnd()
	} else {
		for yyk64, yyv64 := range v {
			r.EncodeString(codecSelferC_UTF84402, string(yyk64))
			if yyv64 == nil {
				r.EncodeNil()
			} else {
				z.F.EncSliceStringV(yyv64, false, e)
			}
		}
	}
}
func (x Nodes) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		h.encNodes(Nodes(x), e)
	}
}
func (x *Node) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yysep36 := !z.EncBinary()
		yy2arr36 := z.EncBasicHandle().StructToArray
		var yyfirst36 bool
		var yyq36 [8]bool
		_, _, _, _ = yysep36, yyfirst36, yyq36, yy2arr36
		const yyr36 bool = false
		yyq36[1] = x.Value != ""
		yyq36[2] = x.Dir != false
		yyq36[3] = x.Expiration != nil
		yyq36[4] = x.TTL != 0
		yyq36[5] = len(x.Nodes) != 0
		yyq36[6] = x.ModifiedIndex != 0
		yyq36[7] = x.CreatedIndex != 0
		if yyr36 || yy2arr36 {
			r.EncodeArrayStart(8)
		} else {
			var yynn36 int = 1
			for _, b := range yyq36 {
				if b {
					yynn36++
				}
			}
			r.EncodeMapStart(yynn36)
		}
		if yyr36 || yy2arr36 {
			r.EncodeString(codecSelferC_UTF84402, string(x.Key))
		} else {
			yyfirst36 = true
			r.EncodeString(codecSelferC_UTF84402, string("key"))
			if yysep36 {
				r.EncodeMapKVSeparator()
			}
			r.EncodeString(codecSelferC_UTF84402, string(x.Key))
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[1] {
				r.EncodeString(codecSelferC_UTF84402, string(x.Value))
			} else {
				r.EncodeString(codecSelferC_UTF84402, "")
			}
		} else {
			if yyq36[1] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("value"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				r.EncodeString(codecSelferC_UTF84402, string(x.Value))
			}
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[2] {
				r.EncodeBool(bool(x.Dir))
			} else {
				r.EncodeBool(false)
			}
		} else {
			if yyq36[2] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("dir"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				r.EncodeBool(bool(x.Dir))
			}
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[3] {
				if x.Expiration == nil {
					r.EncodeNil()
				} else {
					z.EncFallback(x.Expiration)
				}
			} else {
				r.EncodeNil()
			}
		} else {
			if yyq36[3] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("expiration"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				if x.Expiration == nil {
					r.EncodeNil()
				} else {
					z.EncFallback(x.Expiration)
				}
			}
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[4] {
				r.EncodeInt(int64(x.TTL))
			} else {
				r.EncodeInt(0)
			}
		} else {
			if yyq36[4] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("ttl"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				r.EncodeInt(int64(x.TTL))
			}
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[5] {
				if x.Nodes == nil {
					r.EncodeNil()
				} else {
					x.Nodes.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeNil()
			}
		} else {
			if yyq36[5] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("nodes"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				if x.Nodes == nil {
					r.EncodeNil()
				} else {
					x.Nodes.CodecEncodeSelf(e)
				}
			}
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[6] {
				r.EncodeUint(uint64(x.ModifiedIndex))
			} else {
				r.EncodeUint(0)
			}
		} else {
			if yyq36[6] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("modifiedIndex"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				r.EncodeUint(uint64(x.ModifiedIndex))
			}
		}
		if yyr36 || yy2arr36 {
			if yysep36 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq36[7] {
				r.EncodeUint(uint64(x.CreatedIndex))
			} else {
				r.EncodeUint(0)
			}
		} else {
			if yyq36[7] {
				if yyfirst36 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst36 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("createdIndex"))
				if yysep36 {
					r.EncodeMapKVSeparator()
				}
				r.EncodeUint(uint64(x.CreatedIndex))
			}
		}
		if yysep36 {
			if yyr36 || yy2arr36 {
				r.EncodeArrayEnd()
			} else {
				r.EncodeMapEnd()
			}
		}
	}
}
func (x *RawResponse) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yysep1 := !z.EncBinary()
		yy2arr1 := z.EncBasicHandle().StructToArray
		var yyfirst1 bool
		var yyq1 [3]bool
		_, _, _, _ = yysep1, yyfirst1, yyq1, yy2arr1
		const yyr1 bool = false
		if yyr1 || yy2arr1 {
			r.EncodeArrayStart(3)
		} else {
			var yynn1 int = 3
			for _, b := range yyq1 {
				if b {
					yynn1++
				}
			}
			r.EncodeMapStart(yynn1)
		}
		if yyr1 || yy2arr1 {
			r.EncodeInt(int64(x.StatusCode))
		} else {
			yyfirst1 = true
			r.EncodeString(codecSelferC_UTF84402, string("StatusCode"))
			if yysep1 {
				r.EncodeMapKVSeparator()
			}
			r.EncodeInt(int64(x.StatusCode))
		}
		if yyr1 || yy2arr1 {
			if yysep1 {
				r.EncodeArrayEntrySeparator()
			}
			if x.Body == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytes(codecSelferC_RAW4402, []byte(x.Body))
			}
		} else {
			if yyfirst1 {
				r.EncodeMapEntrySeparator()
			} else {
				yyfirst1 = true
			}
			r.EncodeString(codecSelferC_UTF84402, string("Body"))
			if yysep1 {
				r.EncodeMapKVSeparator()
			}
			if x.Body == nil {
				r.EncodeNil()
			} else {
				r.EncodeStringBytes(codecSelferC_RAW4402, []byte(x.Body))
			}
		}
		if yyr1 || yy2arr1 {
			if yysep1 {
				r.EncodeArrayEntrySeparator()
			}
			if x.Header == nil {
				r.EncodeNil()
			} else {
				h.enchttp_Header(http.Header(x.Header), e)
			}
		} else {
			if yyfirst1 {
				r.EncodeMapEntrySeparator()
			} else {
				yyfirst1 = true
			}
			r.EncodeString(codecSelferC_UTF84402, string("Header"))
			if yysep1 {
				r.EncodeMapKVSeparator()
			}
			if x.Header == nil {
				r.EncodeNil()
			} else {
				h.enchttp_Header(http.Header(x.Header), e)
			}
		}
		if yysep1 {
			if yyr1 || yy2arr1 {
				r.EncodeArrayEnd()
			} else {
				r.EncodeMapEnd()
			}
		}
	}
}
func (x responseType) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	r.EncodeInt(int64(x))
}
func (x *Response) CodecEncodeSelf(e *codec1978.Encoder) {
	var h codecSelfer4402
	z, r := codec1978.GenHelperEncoder(e)
	_, _, _ = h, z, r
	if x == nil {
		r.EncodeNil()
	} else {
		yysep14 := !z.EncBinary()
		yy2arr14 := z.EncBasicHandle().StructToArray
		var yyfirst14 bool
		var yyq14 [6]bool
		_, _, _, _ = yysep14, yyfirst14, yyq14, yy2arr14
		const yyr14 bool = false
		yyq14[2] = x.PrevNode != nil
		if yyr14 || yy2arr14 {
			r.EncodeArrayStart(6)
		} else {
			var yynn14 int = 5
			for _, b := range yyq14 {
				if b {
					yynn14++
				}
			}
			r.EncodeMapStart(yynn14)
		}
		if yyr14 || yy2arr14 {
			r.EncodeString(codecSelferC_UTF84402, string(x.Action))
		} else {
			yyfirst14 = true
			r.EncodeString(codecSelferC_UTF84402, string("action"))
			if yysep14 {
				r.EncodeMapKVSeparator()
			}
			r.EncodeString(codecSelferC_UTF84402, string(x.Action))
		}
		if yyr14 || yy2arr14 {
			if yysep14 {
				r.EncodeArrayEntrySeparator()
			}
			if x.Node == nil {
				r.EncodeNil()
			} else {
				x.Node.CodecEncodeSelf(e)
			}
		} else {
			if yyfirst14 {
				r.EncodeMapEntrySeparator()
			} else {
				yyfirst14 = true
			}
			r.EncodeString(codecSelferC_UTF84402, string("node"))
			if yysep14 {
				r.EncodeMapKVSeparator()
			}
			if x.Node == nil {
				r.EncodeNil()
			} else {
				x.Node.CodecEncodeSelf(e)
			}
		}
		if yyr14 || yy2arr14 {
			if yysep14 {
				r.EncodeArrayEntrySeparator()
			}
			if yyq14[2] {
				if x.PrevNode == nil {
					r.EncodeNil()
				} else {
					x.PrevNode.CodecEncodeSelf(e)
				}
			} else {
				r.EncodeNil()
			}
		} else {
			if yyq14[2] {
				if yyfirst14 {
					r.EncodeMapEntrySeparator()
				} else {
					yyfirst14 = true
				}
				r.EncodeString(codecSelferC_UTF84402, string("prevNode"))
				if yysep14 {
					r.EncodeMapKVSeparator()
				}
				if x.PrevNode == nil {
					r.EncodeNil()
				} else {
					x.PrevNode.CodecEncodeSelf(e)
				}
			}
		}
		if yyr14 || yy2arr14 {
			if yysep14 {
				r.EncodeArrayEntrySeparator()
			}
			r.EncodeUint(uint64(x.EtcdIndex))
		} else {
			if yyfirst14 {
				r.EncodeMapEntrySeparator()
			} else {
				yyfirst14 = true
			}
			r.EncodeString(codecSelferC_UTF84402, string("etcdIndex"))
			if yysep14 {
				r.EncodeMapKVSeparator()
			}
			r.EncodeUint(uint64(x.EtcdIndex))
		}
		if yyr14 || yy2arr14 {
			if yysep14 {
				r.EncodeArrayEntrySeparator()
			}
			r.EncodeUint(uint64(x.RaftIndex))
		} else {
			if yyfirst14 {
				r.EncodeMapEntrySeparator()
			} else {
				yyfirst14 = true
			}
			r.EncodeString(codecSelferC_UTF84402, string("raftIndex"))
			if yysep14 {
				r.EncodeMapKVSeparator()
			}
			r.EncodeUint(uint64(x.RaftIndex))
		}
		if yyr14 || yy2arr14 {
			if yysep14 {
				r.EncodeArrayEntrySeparator()
			}
			r.EncodeUint(uint64(x.RaftTerm))
		} else {
			if yyfirst14 {
				r.EncodeMapEntrySeparator()
			} else {
				yyfirst14 = true
			}
			r.EncodeString(codecSelferC_UTF84402, string("raftTerm"))
			if yysep14 {
				r.EncodeMapKVSeparator()
			}
			r.EncodeUint(uint64(x.RaftTerm))
		}
		if yysep14 {
			if yyr14 || yy2arr14 {
				r.EncodeArrayEnd()
			} else {
				r.EncodeMapEnd()
			}
		}
	}
}